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

131 lines
3.3 KiB
Nix
Raw Normal View History

2025-10-01 19:51:55 -05:00
let
2025-12-06 00:12:20 -06:00
battle = "(.*Battle.net.*)";
bitwarden = "(.*Bitwarden.*)";
2025-10-01 19:51:55 -05:00
blueman = "(.blueman-manager-wrapped)";
calculator = "(org.gnome.Calculator)";
2025-12-06 00:12:20 -06:00
discord-popout = "(.*Discord Popout.*)";
2025-10-01 19:51:55 -05:00
emote = "(emote)";
flameshot = "(flameshot)";
2025-12-06 00:12:20 -06:00
floorp = "(floorp)";
kdenlive = "(org.kde.kdenlive)";
mpv = "(mpv)";
nomacs = "(org.nomacs.ImageLounge)";
pavucontrol = "(org.pulseaudio.pavucontrol)";
2025-10-01 19:51:55 -05:00
picture = "(.*Picture-in-Picture.*)";
2025-12-06 00:12:20 -06:00
proton = "(protonvpn-app)";
save = "(.*Enter name of file to save to.*)";
scrcpy = "(.scrcpy-wrapped)";
shotcut = "(shotcut)";
2025-10-01 19:51:55 -05:00
signal = "(signal)";
steam = "(steam)";
2025-12-06 00:12:20 -06:00
upload = "(.*File Upload.*)";
vesktop = "(vesktop)";
vlc = "(vlc)";
# noFullscreen = builtins.map (x: "nofullscreenrequest, ") [
# "class:^${floorp}"
# ];
2025-10-01 19:51:55 -05:00
maxsizeWindows = [
"maxsize 720 400, class:^${blueman}$"
"maxsize 360 500, class:^${calculator}$"
# "maxsize 720 400, class:^${scrcpy}$"
"maxsize 720 400, class:^${mpv}$"
"maxsize 720 400, class:^${vlc}$"
"maxsize 640 360, class:^${nomacs}$"
2025-12-06 00:12:20 -06:00
"maxsize 800 600, class:^${proton}$"
2025-10-01 19:51:55 -05:00
"maxsize 800 450, title:^${bitwarden}$"
"maxsize 720 400, title:^${picture}$"
"maxsize 720 400, title:^${save}$"
"maxsize 720 400, title:^${discord-popout}$"
"maxsize 1280 720, title:^${battle}$"
"minsize 1280 720, title:^${battle}$"
"maxsize 1280 720, title:^${upload}$"
"minsize 1280 720, class:^${pavucontrol}$"
"minsize 1280 720, title:^${upload}$"
];
floatWindows = builtins.map (x: "float, " + x) [
"class:^${blueman}$"
"class:^${calculator}$"
"class:^${pavucontrol}$"
"class:^${emote}$"
"class:^${mpv}$"
"class:^${vlc}$"
"class:^${nomacs}$"
"class:^${flameshot}$"
# "class:^${scrcpy}$"
"class:^${nomacs}$"
"class:^${proton}$"
"title:^(${picture})$"
"title:^(${discord-popout})$"
"title:^${bitwarden}$"
"title:^${save}$"
"title:^${battle}$"
"title:^${upload}$"
];
pinWindows = builtins.map (x: "pin, " + x) [
"title:^${picture}$"
"title:^${discord-popout}$"
];
workspaceInit1 = builtins.map (x: "workspace 1 silent, " + x) [
"class:^${signal}$"
"class:^${vesktop}$"
];
workspaceInit2 = builtins.map (x: "workspace 2 silent, " + x) [
2025-10-02 03:27:07 -05:00
2025-10-01 19:51:55 -05:00
];
workspaceInit3 = builtins.map (x: "workspace 3 silent, " + x) [
"class:^${steam}$"
"class:^${shotcut}$"
];
workspaceInit4 = builtins.map (x: "workspace 4 silent, " + x) [
2025-10-02 03:27:07 -05:00
];
2025-12-06 00:12:20 -06:00
2025-10-01 19:51:55 -05:00
centerWindows = builtins.map (x: "center, " + x) [
"class:^${blueman}$"
"class:^${calculator}$"
"class:^${pavucontrol}$"
"class:^${emote}$"
"class:^${mpv}$"
"class:^${vlc}$"
"class:^${nomacs}$"
"class:^${flameshot}$"
# "class:^${scrcpy}$"
"title:^(${picture})$"
"title:^(${discord-popout})$"
"title:^${bitwarden}$"
"title:^${save}$"
"title:^${battle}$"
"title:^${upload}$"
];
opaqueWindows = builtins.map (x: "opaque, " + x) [
"class:^${floorp}$"
"class:^${kdenlive}$"
"class:^(krita)$"
"class:^${shotcut}$"
"class:^${mpv}$"
"class:^(Brave-browser)$"
"class:^(Gimp-2.10)$"
"class:^(org.kde.okular)$"
"class:^${vlc}$"
"class:^${scrcpy}$"
];
in
maxsizeWindows
++ floatWindows
++ pinWindows
++ workspaceInit1
++ workspaceInit2
++ workspaceInit3
++ workspaceInit4
++ centerWindows
++ opaqueWindows