awesome: Remove tags, simplify bindings

Rely on Emacs for most of the buffer/window management.
master
Pierre Neidhardt 2017-07-09 21:47:04 +01:00
parent 6f8d8ca3b2
commit 109bab78b8
1 changed files with 6 additions and 90 deletions

View File

@ -124,9 +124,6 @@ if ostype == "Linux" then
local batl = batf:read("*a")
local batlimit = 10
if batl ~= "" then
--{{ Simple version (perf friendly)
-- vicious.register(batwidget, vicious.widgets.bat, '<span color="#73A9CD">$2%$1$3</span> | ', 60, "BAT0")
--{{ Complex version (time warning)
-- This functions changes the status color when batlimit is reached.
vicious.register(batwidget, vicious.widgets.bat,
function (widget, args)
@ -184,7 +181,7 @@ awful.screen.connect_for_each_screen(function(s)
set_wallpaper(s)
-- Each screen has its own tag table.
awful.tag({ " 1 ", " 2 "," 3 "," 4 ", " 5 ⚒ ", " 6 ♫ ", "7 ✉ " }, s, awful.layout.suit.tile)
awful.tag({1}, s, awful.layout.suit.tile)
-- Create a promptbox for each screen
s.mypromptbox = awful.widget.prompt()
@ -196,8 +193,6 @@ awful.screen.connect_for_each_screen(function(s)
awful.button({ }, 3, function () awful.layout.inc(-1) end),
awful.button({ }, 4, function () awful.layout.inc( 1) end),
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
-- Create a taglist widget
s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, taglist_buttons)
-- Create a tasklist widget
s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons)
@ -248,21 +243,17 @@ move_mouse_away()
-- }}}
-- {{{ Key bindings
-- We reserve modkey+Mod1 for $EDITOR.
globalkeys = awful.util.table.join(
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
{description="show help", group="awesome"}),
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
{description = "go back", group = "tag"}),
awful.key({ modkey, }, "j",
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.byidx( 1)
end,
{description = "focus next by index", group = "client"}
),
awful.key({ modkey, }, "k",
awful.key({ modkey, }, "Escape",
function ()
awful.client.focus.byidx(-1)
end,
@ -274,27 +265,6 @@ globalkeys = awful.util.table.join(
{description = "swap with next client by index", group = "client"}),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
{description = "swap with previous client by index", group = "client"}),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
{description = "focus the next screen", group = "screen"}),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
{description = "focus the previous screen", group = "screen"}),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end,
{description = "go back", group = "client"}),
awful.key({ modkey }, "f",
function ()
if awful.layout.getname() == 'tile' then
awful.layout.set(awful.layout.suit.max)
else
awful.layout.set(awful.layout.suit.tile)
end
end,
{description = "toggle maximize", group = "screen"}),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.spawn("emacsclient -a '' -n -c -e '(eshell t)'") end,
@ -308,29 +278,13 @@ globalkeys = awful.util.table.join(
-- Mutt needs to be started in the folder where you want to save attachments.
awful.key({ modkey, }, "m", function () awful.spawn(terminal .. " -e sh -c 'cd ~/temp && mutt'") end,
{description="mail user agent", group="launcher"}),
awful.key({ modkey, }, "a", function () awful.spawn(terminal .. " -e cmus") end,
{description="music player", group="launcher"}),
awful.key({ modkey, "Mod1" }, "a", function () awful.spawn("cmus-remote -u") end,
{description="music toggle", group="launcher"}),
awful.key({ modkey, "Shift" }, "a", function () awful.spawn("cmus-remote -n") end,
{description="music next", group="launcher"}),
awful.key({ modkey, "Control" }, "a", function () awful.spawn("cmus-remote -r") end,
{description="music previous", group="launcher"}),
awful.key({ }, "Print", function () awful.spawn("scrot '" .. os.getenv("HOME") .. "/temp/screen-%F-%T.png'") end,
{description="screenshot", group="launcher"}),
awful.key({ modkey }, "t", function () awful.spawn(os.getenv("EDITOR") .. " ~/personal/todo/todo.org") end,
{description="todo", group="launcher"}),
-- Screen lock. xlockmore is useful for LDAP login because slock does not work with it.
-- Don't use 'spawn_with_shell' if you want to keep Awesome's config portable.
awful.key({ modkey, }, "z", function () awful.spawn("sh -c 'xlock 2>/dev/null || slock'") end,
{description="lock screen", group="awesome"}),
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("sh -c 'xlock 2>/dev/null || slock'") end,
{description="lock screen", group="awesome"}),
awful.key({ }, "XF86Sleep", function () awful.util.spawn("sh -c 'xlock 2>/dev/null || slock'") end,
{description="lock screen", group="awesome"}),
awful.key({ }, "XF86Standby", function () awful.util.spawn("sh -c 'xlock 2>/dev/null || slock'") end,
{description="lock screen", group="awesome"}),
-- Touchpad control
awful.key({ }, "XF86TouchpadToggle", function () os.execute('xinput list-props "SynPS/2 Synaptics TouchPad" | grep -q "Device Enabled [^:]*:[[:space:]]*1" && xinput disable "SynPS/2 Synaptics TouchPad" || xinput enable "SynPS/2 Synaptics TouchPad"') end,
@ -384,46 +338,17 @@ globalkeys = awful.util.table.join(
)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.maximized = not c.maximized end,
{description = "(un)maximize", group = "client"}),
awful.key({ modkey, "Shift" }, "f", function (c) c.fullscreen = not c.fullscreen end,
{description = "fullscreen", group = "client"}),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
{description = "close", group = "client"}),
awful.key({ modkey, }, "space", awful.client.floating.toggle,
{description = "toggle floating", group = "client"}),
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
{description = "move to screen", group = "client"})
{description = "toggle floating", group = "client"})
)
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, #awful.screen.focused().tags do
globalkeys = awful.util.table.join(globalkeys,
-- View tag only.
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = awful.screen.focused()
local tag = screen.tags[i]
if tag then
tag:view_only()
end
end,
{description = "view tag #"..i, group = "tag"}),
-- Move client to tag.
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus then
local tag = client.focus.screen.tags[i]
if tag then
client.focus:move_to_tag(tag)
end
end
end,
{description = "move focused client to tag #"..i, group = "tag"})
)
end
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
@ -478,15 +403,6 @@ awful.rules.rules = {
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Set Firefox to always map on the tag named "2" on screen 1.
-- { rule = { class = "Firefox" },
-- properties = { screen = 1, tag = "2" } },
-- Only works for terminal with WM_COMMAND property?
{ rule = { name = "cmus" },
properties = { screen = 1, tag = " 6 ♫ " } },
{ rule = { name = "mutt" },
properties = { screen = 1, tag = "7 ✉ " } },
}
-- }}}