]> 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:

fix virt-manager tagging
[etc/awesome.git] / .config / awesome / rc.lua
index a3833bda975684f708c3dba3ee5c21869a865484..8cd1967a1bf277a2a3b62500b1a1ae28550a4d3f 100644 (file)
@@ -25,7 +25,7 @@ local has_fdo, freedesktop = pcall(require, "freedesktop")
 -- Other libraries
 local lain = require("lain")
 local ccwidgets = require("cryptocoin_widgets")
 -- Other libraries
 local lain = require("lain")
 local ccwidgets = require("cryptocoin_widgets")
-local fxwidgets = require("forex_widgets")
+--local fxwidgets = require("forex_widgets")
 local clocksarray = require("clocksarray")
 local dbg = require("debugfunc")
 local th = require("taghelpers")
 local clocksarray = require("clocksarray")
 local dbg = require("debugfunc")
 local th = require("taghelpers")
@@ -306,10 +306,10 @@ awful.screen.connect_for_each_screen(function(s)
             make_spacer(" "),
             ccwidgets.btc_widget,
             make_spacer(),
             make_spacer(" "),
             ccwidgets.btc_widget,
             make_spacer(),
-            ccwidgets.eth_widget,
-            make_spacer(),
-            fxwidgets.ecb_widget,
-            make_spacer(),
+            --ccwidgets.eth_widget,
+            --make_spacer(),
+            --fxwidgets.ecb_widget,
+            --make_spacer(),
             lain_bat.widget,
             make_spacer(),
         }, right_widgets)
             lain_bat.widget,
             make_spacer(),
         }, right_widgets)
@@ -473,27 +473,56 @@ end
 default_tags[1].selected = true
 
 default_tags = gears.table.join(default_tags, {
 default_tags[1].selected = true
 
 default_tags = gears.table.join(default_tags, {
+  {
+    name        = "vrt",
+    init        = true,
+    exclusive   = true,
+    layout      = layouts.maximised,
+    selected    = false,
+    exec_once   = { "remmina" },
+    instance    = { "Remmina" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/eDP-?1",
+                    "krafftwerk/DP-?1-1-5",
+                    "krafftwerk/DisplayPort-2",
+                    "cafe/eDP-?1"
+                },
+  },
   {
     name        = "irc",
     init        = true,
     exclusive   = true,
     layout      = layouts.tiled,
   {
     name        = "irc",
     init        = true,
     exclusive   = true,
     layout      = layouts.tiled,
-    selected    = true,
+    selected    = false,
     exec_once   = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi" },
     instance    = { "irc" },
     exec_once   = { terminal .. " -name irc -e env MOSH_TITLE_NOPREFIX=true mosh --family=all -- irc-host tmux new -As irc irssi" },
     instance    = { "irc" },
-    targets     = { "gauting/eDP-?1", "lehel/DisplayPort-2" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/eDP-?1",
+                    "krafftwerk/DP-?1-1-5",
+                    "krafftwerk/DisplayPort-2",
+                    "cafe/eDP-?1"
+                },
   },
   {
     name        = "[]",
     init        = true,
     exclusive   = true,
     master_count = 0,
   },
   {
     name        = "[]",
     init        = true,
     exclusive   = true,
     master_count = 0,
-    column_count = 3,
+    column_count = 4,
     layout      = layouts.tiled,
     selected    = false,
     layout      = layouts.tiled,
     selected    = false,
-    exec_once   = { "revolt" },
-    instance    = { "Revolt" },
-    targets     = { "gauting/eDP-?1", "lehel/DisplayPort-2" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/eDP-?1",
+                    "krafftwerk/DP-?1-1-5",
+                    "krafftwerk/DisplayPort-2",
+                    "cafe/eDP-?1"
+                },
   },
   {
     name        = "dflt",
   },
   {
     name        = "dflt",
@@ -510,7 +539,14 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "thunderbird" },
     class       = { "thunderbird" },
     layout      = layouts.default,
     exec_once   = { "thunderbird" },
     class       = { "thunderbird" },
-    targets     = { "gauting/eDP-?1", "lehel/DisplayPort-1" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/eDP-?1",
+                    "krafftwerk/DP-?1-1-6",
+                    "krafftwerk/DisplayPort-0",
+                    "cafe/eDP-?1"
+                },
   },
   {
     name        = "chr",
   },
   {
     name        = "chr",
@@ -519,7 +555,15 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "chromium" },
     class       = { "Chromium" },
     layout      = layouts.default,
     exec_once   = { "chromium" },
     class       = { "Chromium" },
-    targets     = { "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/DP-?2-2",
+                    "krafftwerk/DP-?1-1-6",
+                    "krafftwerk/DisplayPort-0",
+                    "present/HDMI.*",
+                    "cafe/eDP-?1"
+                },
   },
   {
     name        = "ffx",
   },
   {
     name        = "ffx",
@@ -528,7 +572,15 @@ default_tags = gears.table.join(default_tags, {
     layout      = layouts.default,
     exec_once   = { "firefox" },
     class       = { "Firefox" },
     layout      = layouts.default,
     exec_once   = { "firefox" },
     class       = { "Firefox" },
-    targets     = { "gauting/eDP-?1", "lehel/DisplayPort-1", "present/HDMI.*" },
+    targets     = {
+                    "gern/DP-?[12]-1",
+                    "gauting/eDP-?1",
+                    "toni/DP-?2-2",
+                    "krafftwerk/DP-?1-1-6",
+                    "krafftwerk/DisplayPort-0",
+                    "present/HDMI.*",
+                    "cafe/eDP-?1"
+                },
   },
 })
 
   },
 })
 
@@ -790,6 +842,10 @@ globalkeys = gears.table.join(
     awful.key({ modkey, "Control", "Shift", "Mod1" }, "a", th.collect_orphan_clients_to_tag,
               {description = "collect all orphaned clients", group = "client"}),
 
     awful.key({ modkey, "Control", "Shift", "Mod1" }, "a", th.collect_orphan_clients_to_tag,
               {description = "collect all orphaned clients", group = "client"}),
 
+    awful.key({ modkey }, "t", toggle_tag_by_name("vrt", true),
+              {description = "view tag 'vrt'", group = "tag"}),
+    awful.key({ modkey, "Control" }, "t", toggle_tag_by_name("vrt"),
+              {description = "toggle tag 'vrt'", group = "tag"}),
     awful.key({ modkey }, "y", toggle_tag_by_name("irc", true),
               {description = "view tag 'irc'", group = "tag"}),
     awful.key({ modkey, "Control" }, "y", toggle_tag_by_name("irc"),
     awful.key({ modkey }, "y", toggle_tag_by_name("irc", true),
               {description = "view tag 'irc'", group = "tag"}),
     awful.key({ modkey, "Control" }, "y", toggle_tag_by_name("irc"),
@@ -827,8 +883,8 @@ clientkeys = gears.table.join(
               {description = "move to master", group = "client"}),
     awful.key({ modkey,           }, "z",      function (c) c:move_to_screen() end,
               {description = "move to screen", group = "client"}),
               {description = "move to master", group = "client"}),
     awful.key({ modkey,           }, "z",      function (c) c:move_to_screen() end,
               {description = "move to screen", group = "client"}),
-    awful.key({ modkey,           }, "t",      function (c) c.ontop = not c.ontop            end,
-              {description = "toggle keep on top", group = "client"}),
+    --awful.key({ modkey,           }, "t",      function (c) c.ontop = not c.ontop            end,
+    --          {description = "toggle keep on top", group = "client"}),
     awful.key({ modkey,           }, "n",
         function (c)
             -- The client currently has the input focus, so it cannot be
     awful.key({ modkey,           }, "n",
         function (c)
             -- The client currently has the input focus, so it cannot be
@@ -908,15 +964,15 @@ awful.key({ cmdkey }, "m", function () awful.spawn(terminal .. " -name mutt -e m
 awful.key({ cmdkey }, "t", function () awful.spawn("thunderbird") end),
 awful.key({ cmdkey }, "g", function () awful.spawn("gscan2pdf") end),
 awful.key({ cmdkey, "Shift" }, "v", function () awful.spawn("virt-manager") end),
 awful.key({ cmdkey }, "t", function () awful.spawn("thunderbird") end),
 awful.key({ cmdkey }, "g", function () awful.spawn("gscan2pdf") end),
 awful.key({ cmdkey, "Shift" }, "v", function () awful.spawn("virt-manager") end),
+awful.key({ cmdkey, "Shift" }, "r", function () awful.spawn("remmina") end),
 awful.key({ cmdkey }, "l", function () awful.spawn("libreoffice") end),
 awful.key({ cmdkey }, "l", function () awful.spawn("libreoffice") end),
-awful.key({ cmdkey }, "v", function () awful.spawn("remmina") end),
+awful.key({ cmdkey }, "v", function () awful.spawn("virt-viewer") 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.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("xautolock -enable")
-    awful.spawn("xautolock -locknow")
+    run_output_notify("sh -c '. ~/.xsession.d/10-xautolock; echo \"Locking…\"; sleep 1; xautolock -locknow'", "Enabling xautolock")
 end),
 end),
-awful.key({ cmdkey, "Shift" }, "x", function () awful.spawn("xautolock -disable") end),
+awful.key({ cmdkey, "Shift" }, "x", function () run_output_notify("pkill -e xautolock", "Disabling xautolock") end),
 
 awful.key({ cmdkey }, "BackSpace", function () awful.spawn("pkill -USR1 offlineimap") end),
 
 
 awful.key({ cmdkey }, "BackSpace", function () awful.spawn("pkill -USR1 offlineimap") end),
 
@@ -941,6 +997,7 @@ 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),
 awful.key(nil, "XF86Search", function () awful.spawn("") end),
 awful.key(nil, "XF86LaunchA", function () awful.spawn("") end),
 awful.key(nil, "XF86Explorer", function () awful.spawn("") end),
+awful.key(nil, "XF86Calculator", function () awful.spawn(terminal .. " -e ipython3 --profile=calc") end),
 awful.key(nil, "XF86Favorites", function () awful.spawn("systemctl suspend") end),
 
 awful.key({ cmdkey }, "Multi_key", function () run_output_notify("flameshot gui", "Output") end),
 awful.key(nil, "XF86Favorites", function () awful.spawn("systemctl suspend") end),
 
 awful.key({ cmdkey }, "Multi_key", function () run_output_notify("flameshot gui", "Output") end),
@@ -1050,6 +1107,13 @@ awful.rules.rules = {
     { rule_any = { class = { "Firefox", "firefox" } },
       callback = move_to_tag_by_name(nil, "ffx"),
     },
     { rule_any = { class = { "Firefox", "firefox" } },
       callback = move_to_tag_by_name(nil, "ffx"),
     },
+    { rule_any = { class = { "org.remmina.Remmina",
+                             "Virt-viewer",
+                             "virt-manager"
+                           },
+                 },
+      callback = move_to_tag_by_name(nil, "vrt"),
+    },
     { rule = { class = "Chromium" },
       callback = move_to_tag_by_name(nil, "chr"),
     },
     { rule = { class = "Chromium" },
       callback = move_to_tag_by_name(nil, "chr"),
     },
@@ -1102,8 +1166,6 @@ awful.rules.rules = {
                         "Inkscape",
                         "Pitivi",
                         "Audacity",
                         "Inkscape",
                         "Pitivi",
                         "Audacity",
-                        "Microsoft Teams - Preview",
-                        "org.remmina.Remmina",
                     },
                     instance = {
                         "libreoffice",
                     },
                     instance = {
                         "libreoffice",
@@ -1114,7 +1176,7 @@ awful.rules.rules = {
                         layout = layouts.maximised,
                         volatile = true,
                     },
                         layout = layouts.maximised,
                         volatile = true,
                     },
-                     --switchtotag = true,
+                     switchtotag = true,
                      focus = true,
                    },
                },
                      focus = true,
                    },
                },