]> git.rmz.io Git - dotfiles.git/blobdiff - awesome/signals.lua
lazyvim: absorb icons into rmz.util.ui
[dotfiles.git] / awesome / signals.lua
index 748b09e57abf926274d963622eb594e73598435a..62a56a6bf66a70226dc16c0772a1dc535d47e08e 100644 (file)
@@ -1,13 +1,5 @@
 -- Signal function to execute when a new client appears.
 client.connect_signal("manage", function (c, startup)
-    -- Enable sloppy focus
-    c:connect_signal("mouse::enter", function(c)
-        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
-            and awful.client.focus.filter(c) then
-            client.focus = c
-        end
-    end)
-
     if not startup then
         -- Set the windows at the slave,
         -- i.e. put it at the end of others instead of setting it master.
@@ -18,6 +10,34 @@ client.connect_signal("manage", function (c, startup)
             awful.placement.no_overlap(c)
             awful.placement.no_offscreen(c)
         end
+    elseif not c.size_hints.user_position and not c.size_hints.program_position then
+        -- Prevent clients from being unreachable after screen count change
+        awful.placement.no_offscreen(c)
+    end
+end)
+
+-- open steam games on tag 9 and switch to it
+awesome.register_xproperty("STEAM_GAME", "number")
+client.connect_signal("manage", function (c)
+    local steam_game = c:get_xproperty("STEAM_GAME")
+    if  steam_game then
+        local tag = tags[1][9]
+        c:move_to_screen(1)
+        c:move_to_tag(tag)
+        if steam_game ~= 769 then
+          -- 769 seems to be the value for the steam client itself
+          tag:view_only()
+          c.fullscreen = true
+          awful.placement.centered(mouse, {parent = c})
+        end
+    end
+end)
+
+-- Enable sloppy focus
+client.connect_signal("mouse::enter", function(c)
+    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
+        and awful.client.focus.filter(c) then
+        client.focus = c
     end
 end)