From d1496a281253a59fcf6519cd5d27580eddd502eb Mon Sep 17 00:00:00 2001 From: Joseph Montanaro Date: Fri, 2 Oct 2026 09:58:05 -0400 Subject: [PATCH] migrate window config to new Lua format --- dot_config/hypr/windows.conf | 18 ------------------ dot_config/hypr/windows.lua | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 18 deletions(-) delete mode 100644 dot_config/hypr/windows.conf create mode 100644 dot_config/hypr/windows.lua diff --git a/dot_config/hypr/windows.conf b/dot_config/hypr/windows.conf deleted file mode 100644 index a401b44..0000000 --- a/dot_config/hypr/windows.conf +++ /dev/null @@ -1,18 +0,0 @@ -# datagrip gets its own named workspace -windowrule = workspace name:DataGrip, match:class jetbrains-datagrip - -# creddy gets some special treatment -# windowrule = workspace special:creddy, class:creddy -windowrule = float 1, match:class creddy -windowrule = size 800 600, match:class creddy -# this just gets ignored when monitor 2 isn't present, which is perfect -windowrule = monitor 1, match:class creddy - -windowrule = workspace special:slack, match:class Slack - -# excluding floating windows allows the unlock and quick-access popups to show in any workspace -windowrule = workspace special:1password, match:class 1Password, match:float 0 -# quick-access popup doesn't resize automatically when its content changes -# windowrule = size 550 404, class:1Password, title:Quick.* -windowrule = persistent_size 1, match:class 1Password, match:title Quick.* - diff --git a/dot_config/hypr/windows.lua b/dot_config/hypr/windows.lua new file mode 100644 index 0000000..0d6174f --- /dev/null +++ b/dot_config/hypr/windows.lua @@ -0,0 +1,19 @@ +-- technically these are workspace rules, not window rules, sue me +hl.workspace_rule({ workspace = "1", monitor = "desc:Samsung Electric Company LS27A800U", default = true }) +hl.workspace_rule({ workspace = "2", monitor = "desc:Seanix Technology Inc NX-EDG27X", default = true }) +hl.workspace_rule({ workspace = "3", monitor = "desc:BOE 0x0BCA", default = true }) + +-- datagrip gets its own named workspace +o.window("jetbrains-datagrip", { workspace = "name:DataGrip" }) + +-- creddy gets some special treatment +-- this just gets ignored when monitor 1 isn't present, which is perfect +o.window("creddy", { float = true, size = { 800, 600 }, monitor = 1 }) + +o.window("chrome-app.slack.com__client-Default", { workspace = "special:slack" }) +-- If Slack dies or gets killed, I can relaunch it simply by re-summoning the workspace +hl.workspace_rule({ workspace = "special:slack", on_created_empty = o.launch_webapp("https://app.slack.com/client") }) + +-- excluding floating windows allows the unlock and quick-access popups to show in any workspace +o.window({ class = "com.onepassword.OnePassword", float = false }, { workspace = "special:1password" }) +