X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/bec04c63dba5352c75710813047ea37084e61784..a233d23ee20bbdfe1107deeb4b5c257216480cdb:/.config/awesome/rc.lua diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 522fa11..5bec2b0 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -175,7 +175,8 @@ mytasklist = {} mytasklist.buttons = awful.util.table.join( awful.button({ }, 1, function (c) if c == client.focus then - c.minimized = true + -- I don't like click-minimising + -- c.minimized = true else -- Without this, the following -- :isvisible() makes no sense @@ -312,13 +313,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 +329,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"}), @@ -497,6 +498,7 @@ awful.key({ cmdkey }, "r", function () mypromptbox[mouse.screen]:run() end), awful.key({ cmdkey }, "g", function () awful.spawn("gscan2pdf") end), awful.key({ cmdkey }, "v", function () awful.spawn("virt-manager") end), awful.key({ cmdkey }, "l", function () awful.spawn("libreoffice") end), +awful.key({ cmdkey }, "f", function () awful.spawn("thunar") end), awful.key({ cmdkey }, "i", function () awful.spawn(terminal .. " -title irc -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host screen -dr irc") end), awful.key({ cmdkey }, "x", function () awful.spawn.with_shell("/sbin/start-stop-daemon --start --background --exec /usr/bin/xscreensaver -- -no-capture-stderr; sleep 2; xscreensaver-command -lock") end), awful.key({ cmdkey, "Shift" }, "x", function () awful.spawn("xscreensaver-command -exit") end), @@ -504,9 +506,13 @@ awful.key({ cmdkey, "Shift" }, "x", function () awful.spawn("xscreensaver-comman -- function keys awful.key(nil, "XF86ScreenSaver", function () awful.spawn("xset dpms force off") end), awful.key(nil, "XF86AudioMute", function () awful.spawn("pactl set-sink-mute 0 toggle") end), +awful.key({ cmdkey }, "End", function () awful.spawn("pactl set-sink-mute 0 toggle") end), awful.key(nil, "XF86AudioLowerVolume", function () awful.spawn("pactl set-sink-volume 0 -2%") end), +awful.key({ cmdkey }, "Next", function () awful.spawn("pactl set-sink-volume 0 -2%") end), awful.key(nil, "XF86AudioRaiseVolume", function () awful.spawn("pactl set-sink-volume 0 +2%") end), +awful.key({ cmdkey }, "Prior", function () awful.spawn("pactl set-sink-volume 0 +2%") end), awful.key(nil, "XF86AudioMicMute", function () awful.spawn("pactl set-source-mute 1 toggle") end), +awful.key({ cmdkey }, "Home", function () awful.spawn("pactl set-source-mute 1 toggle") end), awful.key(nil, "XF86MonBrightnessDown", function () awful.spawn("xbacklight -dec 5%") end), awful.key(nil, "XF86MonBrightnessUp", function () awful.spawn("xbacklight -inc 5%") end), awful.key(nil, "XF86Display", function () awful.spawn("") end), @@ -523,6 +529,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,8 +545,10 @@ awful.rules.rules = { raise = true, keys = clientkeys, buttons = clientbuttons, + screen = awful.screen.preferred, placement = awful.placement.no_overlap+awful.placement.no_offscreen, - } + floating = true + }, }, -- Add titlebars to normal clients and dialogs @@ -551,42 +566,43 @@ awful.rules.rules = { } }, { 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 = { floating = false, --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" }, - 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 = { floating = false, --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" }, - 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 = { floating = false, --- screen = screen.count(), --- tag = screen.count() == 1 and "2" or "1" }, - 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 = { + switchtotag = true + }, + callback = move_to_tag(1, 5) + }, + { rule = { name = "gscan2pdf .*" }, + properties = { + floating = false, + }, + }, + { rule = { class = "Thunar", type = "normal" }, properties = { floating = false, - screen = 1, - tag = "7" }, --- callback = function(c) c:move_to_tag(tags[1][9]) end }, } -- }}} @@ -659,14 +675,8 @@ end) client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end) client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end) --- https://www.mail-archive.com/awesome@naquadah.org/msg08285.html -client.disconnect_signal("request::activate", awful.ewmh.activate) -client.connect_signal("request::activate", function(c, context, hints) - if c.class == "Firefox" and context == "ewmh" then - return - end - return awful.ewmh.activate(c, context, hints) +awful.ewmh.add_activate_filter(function(c, context, hints) + if context == "ewmh" and c.class == "Firefox" then return false end end) --- }}} -- vim:ft=lua:sw=4:sts=4:ts=4:et