]> git.madduck.net Git - etc/awesome.git/blobdiff - .config/awesome/rc.lua

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

additional app rules
[etc/awesome.git] / .config / awesome / rc.lua
index 12437717986d6f4cbabcd95761081ffd15c66779..c727e78a56838b07035975f337f7d105e16e26b9 100644 (file)
@@ -479,9 +479,9 @@ default_tags = gears.table.join(default_tags, {
     master_width_factor = 0.33,
     layout      = layouts.tiled,
     selected    = true,
-    exec_once   = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host tmux new -As irc irssi" },
+    exec_once   = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi" },
     instance    = { "irc" },
-    targets     = { "catalyst/eDP1", "mtvic/eDP1", "gauting/eDP1", "lehel/DisplayPort-2" },
+    targets     = { "catalyst1?/eDP-?1", "mtvic1?/eDP-?1", "gauting/eDP-?1", "lehel/DisplayPort-2" },
   },
   {
     name        = "[m]",
@@ -489,10 +489,10 @@ default_tags = gears.table.join(default_tags, {
     exclusive   = true,
     master_width_factor = 0.67,
     layout      = layouts.tiled,
-    selected    = true,
+    selected    = false,
     exec_once   = { "revolt" },
     instance    = { "Revolt" },
-    targets     = { "catalyst/eDP1", "mtvic/eDP1", "gauting/eDP1", "lehel/DisplayPort-2" },
+    targets     = { "catalyst1?/eDP-?1", "mtvic1?/eDP-?1", "gauting/eDP-?1", "lehel/DisplayPort-2" },
   },
   {
     name        = "dflt",
@@ -509,7 +509,7 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "thunderbird" },
     class       = { "thunderbird" },
-    targets     = { "catalyst/DP2-1", "mtvic/eDP1", "gauting/eDP1", "lehel/DisplayPort-1" },
+    targets     = { "catalyst1?/DP-?[12]-1", "mtvic1?/eDP-?1", "gauting/eDP-?1", "lehel/DisplayPort-1" },
   },
   {
     name        = "chr",
@@ -518,7 +518,7 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "chromium" },
     class       = { "Chromium" },
-    targets     = { "catalyst/DP2-1", "mtvic/eDP1", "gauting/eDP1", "lehel/DisplayPort-1", "present/HDMI.*" },
+    targets     = { "catalyst1?/DP-?[12]-1", "mtvic1?/eDP-?1", "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" },
   },
   {
     name        = "ffx",
@@ -527,7 +527,7 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "firefox" },
     class       = { "Firefox" },
-    targets     = { "catalyst/DP2-1", "mtvic/eDP1", "gauting/eDP1", "lehel/DisplayPort-1", "present/HDMI.*" },
+    targets     = { "catalyst1?/DP-?[12]-1", "mtvic1?/eDP-?1", "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" },
   },
 })
 
@@ -767,11 +767,11 @@ globalkeys = gears.table.join(
     awful.key({ modkey,           }, "d", th.delete_tag,
               {description = "delete the current tag", group = "tag"}),
     awful.key({ modkey, "Shift",           }, "a", function()
-        th.move_to_new_tag(nil, { layout = layouts.maximised },true,true,true)
+        th.move_to_new_tag(nil, nil, { layout = layouts.maximised },true,true,true)
     end,
               {description = "add a volatile tag with the focused client", group = "tag"}),
     awful.key({ modkey, "Shift", "Control" }, "a", function()
-        th.move_to_new_tag(nil, { layout = layouts.maximised },false,true,true)
+        th.move_to_new_tag(nil, nil, { layout = layouts.maximised },false,true,true)
     end,
               {description = "add a permanent tag with the focused client", group = "tag"}),
     awful.key({ modkey, "Mod1"   }, "a", th.copy_tag,
@@ -892,14 +892,14 @@ clientbuttons = gears.table.join(
 globalkeys = awful.util.table.join(globalkeys,
 awful.key({ cmdkey }, "n", function () awful.spawn("firefox") end),
 awful.key({ cmdkey }, "c", function () awful.spawn("chromium --enable-remote-extensions") end),
-awful.key({ cmdkey }, "y", function () awful.spawn(terminal .. " -e python") end),
+awful.key({ cmdkey }, "y", function () awful.spawn(terminal .. " -e ipython3") end),
 awful.key({ cmdkey }, "m", function () awful.spawn(terminal .. " -name mutt -e mutt") end),
 awful.key({ cmdkey }, "t", function () awful.spawn("thunderbird") 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 .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh -4 -- irc-host tmux new -As irc irssi") end),
+awful.key({ cmdkey }, "p", function () awful.spawn("pavucontrol") end),
+awful.key({ cmdkey }, "i", function () awful.spawn(terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi") end),
 awful.key({ cmdkey }, "x", function ()
     awful.spawn("/usr/bin/xscreensaver -no-capture-stderr")
     os.execute("sleep 5")
@@ -919,6 +919,8 @@ awful.key(nil, "XF86AudioRaiseVolume", function () awful.spawn("pactl set-sink-v
 awful.key({ cmdkey }, "Prior", function () awful.spawn("pactl set-sink-volume @DEFAULT_SINK@ +2%") end),
 awful.key(nil, "XF86AudioMicMute", function () awful.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end),
 awful.key({ cmdkey }, "Home", function () awful.spawn("pactl set-source-mute @DEFAULT_SOURCE@ toggle") end),
+awful.key({ cmdkey }, "Insert", function () awful.spawn("pa_cycle_default source") end),
+awful.key({ cmdkey }, "Delete", function () awful.spawn("pa_cycle_default sink") 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("autorandr --change --force"); initialise_to_autorandr_profile() end),
@@ -929,17 +931,24 @@ awful.key(nil, "XF86LaunchA", function () awful.spawn("") end),
 awful.key(nil, "XF86Explorer", function () awful.spawn("") end),
 awful.key(nil, "XF86Favorites", function () awful.spawn("systemctl suspend") end),
 
-awful.key({ cmdkey }, "Left", function () awful.spawn("xmms2 prev") end),
-awful.key({ cmdkey }, "Right", function () awful.spawn("xmms2 next") end),
-awful.key({ cmdkey }, "space", function () awful.spawn("xmms2 toggle") end),
-awful.key({ cmdkey }, "\\", function () run_output_notify("xmms2 list") end)
+awful.key({ cmdkey }, "Multi_key", function () run_output_notify("flameshot gui") end),
+
+awful.key({ cmdkey }, "Up", function () awful.spawn("pap prev") end),
+awful.key({ cmdkey }, "Left", function () awful.spawn("pap seek -10") end),
+awful.key({ cmdkey, "Shift" }, "Left", function () awful.spawn("pap seek -60") end),
+awful.key({ cmdkey }, "Down", function () awful.spawn("pap next") end),
+awful.key({ cmdkey }, "Right", function () awful.spawn("pap seek +10") end),
+awful.key({ cmdkey, "Shift" }, "Right", function () awful.spawn("pap seek +60") end),
+awful.key({ cmdkey }, "space", function () awful.spawn("pap pause") end),
+awful.key({ cmdkey }, "\\", function () run_output_notify("pap info") end),
+awful.key({ cmdkey }, "]", function () run_output_notify("pap list") end)
 )
 
 function run_output_notify(cmd)
     awful.spawn.easy_async(cmd, function(stdout, stderr, reason, exit_code)
         naughty.notify({
             preset = naughty.config.presets.low,
-            title = "XMMS2 playlist",
+            title = "Playlist",
             text = stdout})
         end)
 end
@@ -978,6 +987,17 @@ local function move_to_tag_by_name(s, tagname)
     end
 end
 
+local function move_to_tag_or_create_volatile(s, tagname)
+    return function(c)
+        local t = awful.tag.find_by_name(s, tagname)
+        if t then
+            c:move_to_tag(t)
+        else
+            th.move_to_new_tag(c, tagname, {}, true, true, true)
+        end
+    end
+end
+
 awful.rules.rules = {
     -- All clients will match this rule.
     { rule = { },
@@ -989,7 +1009,8 @@ awful.rules.rules = {
                      buttons = clientbuttons,
                      screen = awful.screen.preferred,
                      placement = awful.placement.no_overlap+awful.placement.no_offscreen,
-                     --floating = false
+                     floating = false,
+                     maximized = false,
                  },
     },
     { rule = { type = "dialog" },
@@ -1008,16 +1029,13 @@ awful.rules.rules = {
     { rule = { instance = "irc" },
       callback = move_to_tag_by_name(nil, "irc"),
     },
-    { rule = { class = "Revolt" },
-      callback = move_to_tag_by_name(nil, "[m]"),
-    },
-    { rule = { class = "Firefox" },
+    { rule_any = { class = { "Firefox", "firefox" } },
       callback = move_to_tag_by_name(nil, "ffx"),
     },
     { rule = { class = "Chromium" },
       callback = move_to_tag_by_name(nil, "chr"),
     },
-    { rule = { class = "Thunderbird" },
+    { rule_any = { class = { "thunderbird", "Thunderbird" } },
       callback = move_to_tag_by_name(nil, "cal"),
     },
     { rule = { instance = "mutt" },
@@ -1030,8 +1048,16 @@ awful.rules.rules = {
           switchtotag = true,
       },
     },
+    { rule_any = { class = { "zoom" } },
+      callback = move_to_tag_or_create_volatile(nil, "Zoom"),
+    },
+    { rule_any = { class = { "Ssvnc.tcl" },
+                   class = { "Ssvnc" },
+                   name = { "SSL/SSH VNC Viewer.-" },
+                 },
+      callback = move_to_tag_or_create_volatile(nil, "SSVNC"),
+    },
     { rule_any = { class = {
-        "Wicd-client.py",
         "Gxmessage",
         "Pinentry"
     }},
@@ -1043,8 +1069,9 @@ awful.rules.rules = {
     },
     { rule_any = { instance = {
         "tridactyl-edit",
-        "libreoffice",
-        "pdfshuffler"
+        "pdfshuffler",
+        "vlc",
+        "pavucontrol"
     }},
       properties = { floating = true,
                      maximized = false,
@@ -1052,22 +1079,27 @@ awful.rules.rules = {
                      placement = awful.placement.centered,
                    },
     },
---    { rule_any = { class = {
---                        "Gscan2pdf",
---                        "Gimp",
---                    },
---                    instance = {
---                        "libreoffice",
---                    }
---                },
---      properties = { new_tag = {
---                        layout = layouts.maximised,
---                        volatile = true,
---                    },
---                     switchtotag = true,
---                     focus = true,
---                   },
---    },
+    { rule_any = { class = {
+                        "Gscan2pdf",
+                        "Gimp",
+                        "Inkscape",
+                        "Pitivi",
+                        "Audacity",
+                        "Microsoft Teams - Preview",
+                    },
+                    instance = {
+                        "libreoffice",
+                    }
+                },
+      except_any = { type = { "dialog" } },
+      properties = { new_tag = {
+                        layout = layouts.maximised,
+                        volatile = true,
+                    },
+                     --switchtotag = true,
+                     focus = true,
+                   },
+    },
 --XX--    { rule = { class = "Gscan2pdf" },
 --XX--               properties = {
 --XX--                   switchtotag = true