X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/fcfd4200df69afed9a09263074fa1e927f34063d..9bce712f191f4cb57ea3d827241f6462cab66cfb:/.config/awesome/rc.lua diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index a42ed9e..ee17164 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -312,13 +312,13 @@ globalkeys = awful.util.table.join( awful.key({ modkey, }, "Escape", awful.tag.history.restore, {description = "go back", group = "tag"}), - awful.key({ modkey, }, "j", + awful.key({ modkey, }, "k", function () awful.client.focus.byidx( 1) end, {description = "focus next by index", group = "client"} ), - awful.key({ modkey, }, "k", + awful.key({ modkey, }, "j", function () awful.client.focus.byidx(-1) end, @@ -328,13 +328,13 @@ globalkeys = awful.util.table.join( {description = "show main menu", group = "awesome"}), -- Layout manipulation - awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end, + awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( 1) end, {description = "swap with next client by index", group = "client"}), - awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end, + awful.key({ modkey, "Shift" }, "j", 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, + awful.key({ modkey, "Control" }, "k", 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, + awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative(-1) end, {description = "focus the previous screen", group = "screen"}), awful.key({ modkey, }, "u", awful.client.urgent.jumpto, {description = "jump to urgent client", group = "client"}), @@ -523,6 +523,13 @@ root.keys(globalkeys) -- {{{ Rules -- Rules to apply to new clients (through the "manage" signal). + +local function move_to_tag(s, t) + return function(c) + c:move_to_tag(tags[s][t]) + end +end + awful.rules.rules = { -- All clients will match this rule. { rule = { }, @@ -532,41 +539,12 @@ awful.rules.rules = { raise = true, keys = clientkeys, buttons = clientbuttons, + screen = awful.screen.preferred, placement = awful.placement.no_overlap+awful.placement.no_offscreen, - } + floating = true + }, }, - -- Floating clients. - { rule_any = { - instance = { - "DTA", -- Firefox addon DownThemAll. - "copyq", -- Includes session name in class. - }, - class = { - "Arandr", - "Gpick", - "Kruler", - "MessageWin", -- kalarm. - "Sxiv", - "Wpa_gui", - "pinentry", - "veromix", - "xtightvncviewer", - "MuPDF", - "vlc", - "Wicd-client.py", - "Blueman-manager" - }, - - name = { - "Event Tester", -- xev. - }, - role = { - "AlarmWindow", -- Thunderbird's calendar. - "pop-up", -- e.g. Google Chrome's (detached) Developer Tools. - } - }, properties = { floating = true }}, - -- Add titlebars to normal clients and dialogs --DISABLED-- { rule_any = {type = { "normal", "dialog" } --DISABLED-- }, properties = { titlebars_enabled = true } @@ -577,42 +555,45 @@ awful.rules.rules = { { rule = { class = "URxvt" }, properties = { + floating = false, size_hints_honor = false } }, { rule = { class = "URxvt", instance = "irc" }, properties = { --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" + switchtotag = true }, - callback = function(c) c:move_to_tag(tags[1][2]) end + callback = move_to_tag(screen.count(), screen.count() == 1 and 2 or 1) }, - { rule = { class = "Firefox" }, + { rule = { class = "Firefox", instance = "Navigator" }, properties = { --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" + floating = false, }, - callback = function(c) c:move_to_tag(tags[1][9]) end + callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) }, - { rule = { class = "Icedove" }, + { rule = { class = "Icedove", instance = "Mail" }, properties = { --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" + floating = false, }, - callback = function(c) c:move_to_tag(tags[1][8]) end + callback = move_to_tag(screen.count() == 1 and 1 or 2, 8) }, - { rule = { class = "chromium" }, + { rule = { class = "chromium", instance = "chromium" }, properties = { --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" + floating = false, }, - callback = function(c) c:move_to_tag(tags[1][9]) end + callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) }, { rule = { class = "Gscan2pdf" }, properties = { screen = 1, - tag = "7" + tag = "5" + }, + callback = move_to_tag(1, 5) + }, + { rule = { name = "gscan2pdf .*" }, + properties = { + floating = false, }, --- callback = function(c) c:move_to_tag(tags[1][9]) end + callback = move_to_tag(1, 5) }, } -- }}}