X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/a9f482bf2f2f47ea90e44d6db94f38583d3a857a..3983f960cea68ecf70121c3cbdbc70a5923446f5:/.config/awesome/rc.lua diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 723f453..2766090 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 @@ -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,10 +545,10 @@ awful.rules.rules = { raise = true, keys = clientkeys, buttons = clientbuttons, + screen = awful.screen.preferred, placement = awful.placement.no_overlap+awful.placement.no_offscreen, - -- https://github.com/awesomeWM/awesome/issues/1091#issuecomment-246933520 - screen = function (c) return awesome.startup and c.screen or awful.screen.focused() end, - } + floating = true + }, }, -- Add titlebars to normal clients and dialogs @@ -553,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 }, } -- }}} @@ -661,14 +675,6 @@ 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) -end) --- }}} +awful.ewmh.add_activate_filter(function(c) if c.class == "Firefox" then return false end end) -- vim:ft=lua:sw=4:sts=4:ts=4:et