dotfiles/home/modules/gui/desktop/hypr/hyprland/config/windowrulev2.nix

133 lines
3.4 KiB
Nix
Raw Normal View History

2025-01-08 01:05:45 -06:00
let
blueman = "(.blueman-manager-wrapped)";
2025-01-10 04:17:54 -06:00
calculator = "(org.gnome.Calculator)";
2025-01-08 01:05:45 -06:00
easyeffects = "(com.github.wwmm.easyeffects)";
2025-01-10 04:17:54 -06:00
firefox = "(firefox)";
2025-01-08 01:05:45 -06:00
nomacs = "(org.nomacs.ImageLounge)";
mpv = "(mpv)";
2025-01-10 04:17:54 -06:00
vlc = "(vlc)";
2025-01-08 01:05:45 -06:00
emote = "(emote)";
2025-01-09 02:09:02 -06:00
flameshot = "(flameshot)";
2025-01-10 04:17:54 -06:00
bitwarden = "(.*Bitwarden.*)";
2025-01-20 23:33:35 -06:00
save = "(.*Enter name of file to save to.*)";
2025-01-10 04:17:54 -06:00
picture = "(.*Picture-in-Picture.*)";
2025-01-18 21:31:25 -06:00
discord-popout = "(.*Discord Popout.*)";
upload = "(.*File Upload.*)";
2025-01-10 04:17:54 -06:00
signal = "(signal)";
vesktop = "(vesktop)";
code = "(code)";
feishin = "(feishin)";
steam = "(steam)";
kdenlive = "(org.kde.kdenlive)";
2025-01-11 05:03:58 -06:00
shotcut = "(shotcut)";
scrcpy = "(.scrcpy-wrapped)";
2025-01-21 21:58:09 -06:00
battle = "(.*Battle.net.*)";
2025-01-08 01:05:45 -06:00
maxsizeWindows = [
2025-01-10 04:17:54 -06:00
"maxsize 720 400, class:^${blueman}$"
"maxsize 360 500, class:^${calculator}$"
"maxsize 720 400, class:^${easyeffects}$"
2025-01-11 05:03:58 -06:00
"maxsize 720 400, class:^${scrcpy}$"
2025-01-20 23:33:35 -06:00
"minsize 720 400, class:^${scrcpy}$"
2025-01-10 04:17:54 -06:00
"maxsize 720 400, class:^${mpv}$"
"maxsize 720 400, class:^${vlc}$"
2025-01-08 19:06:14 -06:00
"maxsize 640 360, class:^${nomacs}$"
2025-01-10 04:17:54 -06:00
"maxsize 800 450, title:^${bitwarden}$"
"maxsize 720 400, title:^${picture}$"
2025-01-20 23:33:35 -06:00
"maxsize 720 400, title:^${save}$"
2025-01-18 21:31:25 -06:00
"maxsize 720 400, title:^${discord-popout}$"
2025-01-21 21:58:09 -06:00
"maxsize 1280 720, title:^${battle}$"
"minsize 1280 720, title:^${battle}$"
"maxsize 1280 720, title:^${upload}$"
"minsize 1280 720, title:^${upload}$"
2025-01-08 01:05:45 -06:00
];
2025-01-10 04:17:54 -06:00
2025-01-08 01:05:45 -06:00
floatWindows = builtins.map (x: "float, " + x) [
2025-01-10 04:17:54 -06:00
"class:^${blueman}$"
"class:^${calculator}$"
"class:^${easyeffects}$"
"class:^${emote}$"
"class:^${mpv}$"
"class:^${vlc}$"
"class:^${nomacs}$"
"class:^${flameshot}$"
2025-01-11 05:03:58 -06:00
"class:^${scrcpy}$"
2025-01-10 04:17:54 -06:00
"title:^(${picture})$"
2025-01-18 21:31:25 -06:00
"title:^(${discord-popout})$"
2025-01-10 04:17:54 -06:00
"title:^${bitwarden}$"
2025-01-20 23:33:35 -06:00
"title:^${save}$"
2025-01-21 21:58:09 -06:00
"title:^${battle}$"
"title:^${upload}$"
2025-01-08 01:05:45 -06:00
];
pinWindows = builtins.map (x: "pin, " + x) [
2025-01-10 04:17:54 -06:00
"title:^${bitwarden}$"
"title:^${picture}$"
2025-01-18 21:31:25 -06:00
"title:^${discord-popout}$"
2025-01-10 04:17:54 -06:00
];
idleInhibit = builtins.map (x: "idleinhibit, " + x) [
"fullscreen, class:^${firefox}$"
];
workspaceInit1 = builtins.map (x: "workspace 1 silent, " + x) [
"class:^${signal}$"
"class:^${vesktop}$"
];
workspaceInit2 = builtins.map (x: "workspace 2 silent, " + x) [
"class:^${code}$"
2025-01-16 15:17:25 -06:00
# "class:^${firefox}$"
2025-01-10 04:17:54 -06:00
];
workspaceInit3 = builtins.map (x: "workspace 3 silent, " + x) [
"class:^${steam}$"
2025-01-11 05:03:58 -06:00
"class:^${shotcut}$"
2025-01-10 04:17:54 -06:00
];
workspaceInit4 = builtins.map (x: "workspace 4 silent, " + x) [
"class:^${feishin}$"
2025-01-11 05:03:58 -06:00
"class:^${scrcpy}$"
2025-01-10 04:17:54 -06:00
];
centerWindows = builtins.map (x: "center, " + x) [
"class:^${blueman}$"
"class:^${calculator}$"
"class:^${easyeffects}$"
2025-01-10 04:17:54 -06:00
"class:^${emote}$"
"class:^${mpv}$"
"class:^${vlc}$"
2025-01-10 04:17:54 -06:00
"class:^${nomacs}$"
"class:^${flameshot}$"
"class:^${scrcpy}$"
"title:^(${picture})$"
"title:^(${discord-popout})$"
"title:^${bitwarden}$"
"title:^${save}$"
"title:^${battle}$"
"title:^${upload}$"
2025-01-10 04:17:54 -06:00
];
opaqueWindows = builtins.map (x: "opaque, " + x) [
"class:^${firefox}$"
"class:^${kdenlive}$"
"class:^(krita)$"
2025-01-11 05:03:58 -06:00
"class:^${shotcut}$"
2025-01-10 04:17:54 -06:00
"class:^${mpv}$"
"class:^(Brave-browser)$"
"class:^(Gimp-2.10)$"
"class:^(org.kde.okular)$"
"class:^${vlc}$"
2025-01-08 01:05:45 -06:00
];
in
2025-01-18 21:31:25 -06:00
maxsizeWindows
++ floatWindows
++ pinWindows
++ idleInhibit
++ workspaceInit1
++ workspaceInit2
++ workspaceInit3
++ workspaceInit4
++ centerWindows
++ opaqueWindows