X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/01e8bae5bdc4719c23fbd479814c35dddff5fbab..274f3301a4f485b2af77e5935de8ae7567dfe6f4:/.config/awesome/rc.lua?ds=inline diff --git a/.config/awesome/rc.lua b/.config/awesome/rc.lua index 4f9fe01..b2b49c3 100644 --- a/.config/awesome/rc.lua +++ b/.config/awesome/rc.lua @@ -65,7 +65,7 @@ awful.layout.layouts = { -- awful.layout.suit.spiral, -- awful.layout.suit.spiral.dwindle, awful.layout.suit.max, - awful.layout.suit.max.fullscreen, + -- awful.layout.suit.max.fullscreen, -- awful.layout.suit.magnifier, -- awful.layout.suit.corner.nw, -- awful.layout.suit.corner.ne, @@ -149,9 +149,6 @@ menubar.utils.terminal = terminal -- Set the terminal for applications that requ -- Create a textclock widget mytextclock = wibox.widget.textclock("%a %d %b %H:%M:%S", 1) --- Keyboard map indicator and switcher -mykeyboardlayout = awful.widget.keyboardlayout() - -- Create a wibox for each screen and add it mywibox = {} mypromptbox = {} @@ -315,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, @@ -331,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"}), @@ -490,60 +487,114 @@ clientbuttons = awful.util.table.join( awful.button({ modkey }, 1, awful.mouse.client.move), awful.button({ modkey }, 3, awful.mouse.client.resize)) +-- misc apps +globalkeys = awful.util.table.join(globalkeys, +awful.key({ cmdkey }, "n", function () awful.spawn("firefox") end), +awful.key({ cmdkey }, "m", function () awful.spawn("chromium") end), +awful.key({ cmdkey }, "y", function () awful.spawn(terminal .. " -e python") end), +awful.key({ cmdkey }, "c", function () awful.spawn("icedove") end), +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 }, "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), + +-- 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(nil, "XF86AudioLowerVolume", 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(nil, "XF86AudioMicMute", 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), +awful.key(nil, "XF86WLAN", function () awful.spawn("") end), +awful.key(nil, "XF86Tools", function () awful.spawn("") end), +awful.key(nil, "XF86Search", function () awful.spawn("") end), +awful.key(nil, "XF86LaunchA", function () awful.spawn("") end), +awful.key(nil, "XF86Explorer", function () awful.spawn("") end) +) + -- Set keys 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 = { }, properties = { border_width = beautiful.border_width, border_color = beautiful.border_normal, focus = awful.client.focus.filter, - size_hints_honor = false, raise = true, keys = clientkeys, buttons = clientbuttons, - placement = awful.placement.no_overlap+awful.placement.no_offscreen - } + 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"}, - - 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 - { rule_any = {type = { "normal", "dialog" } - }, properties = { titlebars_enabled = false } - }, - - -- Set Firefox to always map on the tag named "2" on screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { screen = 1, tag = "2" } }, + --DISABLED-- { rule_any = {type = { "normal", "dialog" } + --DISABLED-- }, properties = { titlebars_enabled = true } + --DISABLED-- }, + + { rule = { type = "dialog" }, + properties = { placement = awful.placement.centered }}, + + { rule = { class = "URxvt" }, + properties = { + floating = false, + size_hints_honor = false + } }, + { rule = { class = "URxvt", instance = "irc" }, + properties = { + switchtotag = true + }, + callback = move_to_tag(screen.count(), screen.count() == 1 and 2 or 1) + }, + { rule = { class = "Firefox", instance = "Navigator" }, + properties = { + floating = false, + }, + callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) + }, + { rule = { class = "Icedove", instance = "Mail" }, + properties = { + floating = false, + }, + callback = move_to_tag(screen.count() == 1 and 1 or 2, 8) + }, + { rule = { class = "chromium", instance = "chromium" }, + properties = { + floating = false, + }, + callback = move_to_tag(screen.count() == 1 and 1 or 2, 9) + }, + { rule = { class = "Gscan2pdf" }, + properties = { + screen = 1, + tag = "5" + }, + callback = move_to_tag(1, 5) + }, + { rule = { name = "gscan2pdf .*" }, + properties = { + floating = false, + }, + callback = move_to_tag(1, 5) + }, } -- }}} @@ -614,6 +665,7 @@ 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) --- }}} + +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