1{ ... }:
2{
3 wayland.windowManager.hyprland.settings = {
4 # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules
5 windowrule = [
6 # "float,class:^(mpv)$"
7 # "pin,class:^(rofi)$"
8 # "pin,class:^(waypaper)$"
9 "match:class ^(Volume Control)$, float on"
10 # "float,title:^(Volume Control)$"
11
12 #awakened-poe-trade
13 # https://github.com/SnosMe/awakened-poe-trade/issues/1137#issuecomment-2992606569
14 # "tag +apt, class:^(awakened-poe-trade)$"
15 # "tag +apt, title:(Awakened PoE Trade)"
16 # "float, tag:apt"
17 # "noblur, tag:apt"
18 # "nofocus, tag:apt"
19 # "noshadow, tag:apt"
20 # "noborder, tag:apt"
21 # "pin, tag:apt"
22 # "renderunfocused, tag:apt"
23 # "size 100% 100%, tag:apt"
24 # "center, tag:apt"
25 #
26 # #POE
27 # "tag +poe, title:(Path of Exile)"
28 # "tag +poe class:(steam_app_238960)"
29 # "fullscreen, tag:poe$"
30 # https://github.com/SnosMe/awakened-poe-trade/issues/1137#issuecomment-3037816727
31 # "tag +fakefullscreen, title:(Path of Exile),class:(steam_app_238960)"
32 # "tile, tag:fakefullscreen"
33 # "noborder, tag:fakefullscreen"
34 # "float,title:^(Firefox — Sharing Indicator)$"
35 # "move 0 0,title:^(Firefox — Sharing Indicator)$"
36 # "size 700 450,title:^(Volume Control)$"
37 # "move 40 55%,title:^(Volume Control)$"
38 #"float, title:^(Picture-in-Picture)$"
39 # "opacity 1.0 override 1.0 override, title:^(Picture-in-Picture)$"
40 # "pin, title:^(Picture-in-Picture)$"
41 # "opacity 1.0 override 1.0 override, title:^(.*imv.*)$"
42 # "opacity 1.0 override 1.0 override, title:^(.*mpv.*)$"
43 # "opacity 1.0 override 1.0 override, class:(Aseprite)"
44 # "opacity 1.0 override 1.0 override, class:(Unity)"
45 # "opacity 1.0 override 1.0 override, class:(zen)"
46 # "opacity 1.0 override 1.0 override, class:(evince)"
47 # "workspace 1, class:^(zen-beta)$"
48 # "workspace 3, class:^(evince)$"
49 # "workspace 4, class:^(Gimp-2.10)$"
50 # "workspace 4, class:^(Aseprite)$"
51 # "workspace 5, class:^(Audacious)$"
52 # "workspace 5, class:^(Spotify)$"
53 # "workspace 8, class:^(com.obsproject.Studio)$"
54 # "workspace 10, class:^(discord)$"
55 # "workspace 10, class:^(WebCord)$"
56 # "idleinhibit focus, class:^(mpv)$"
57 # "idleinhibit fullscreen, class:^(firefox)$"
58 # "float,class:^(org.gnome.Calculator)$"
59 # "float,class:^(waypaper)$"
60 # "float,class:^(zenity)$"
61 # "size 850 500,class:^(zenity)$"
62 # "size 725 330,class:^(SoundWireServer)$"
63 # "float,class:^(org.gnome.FileRoller)$"
64 # "float,class:^(org.pulseaudio.pavucontrol)$"
65 # "float,class:^(SoundWireServer)$"
66 # "float,class:^(.sameboy-wrapped)$"
67 # "float,class:^(file_progress)$"
68 # "float,class:^(confirm)$"
69 # "float,class:^(dialog)$"
70 # "float,class:^(download)$"
71 # "float,class:^(notification)$"
72 # "float,class:^(error)$"
73 # "float,class:^(confirmreset)$"
74 # "float,title:^(Open File)$"
75 # "float,title:^(File Upload)$"
76 # "float,title:^(branchdialog)$"
77 # "float,title:^(Confirm to replace files)$"
78 # "float,title:^(File Operation Progress)$"
79 #
80 # "opacity 0.0 override,class:^(xwaylandvideobridge)$"
81 # "noanim,class:^(xwaylandvideobridge)$"
82 # "noinitialfocus,class:^(xwaylandvideobridge)$"
83 # "maxsize 1 1,class:^(xwaylandvideobridge)$"
84 # "noblur,class:^(xwaylandvideobridge)$"
85 #
86 # # No gaps when only
87 # "bordersize 0, floating:0, onworkspace:w[t1]"
88 # "rounding 0, floating:0, onworkspace:w[t1]"
89 # "bordersize 0, floating:0, onworkspace:w[tg1]"
90 # "rounding 0, floating:0, onworkspace:w[tg1]"
91 # "bordersize 0, floating:0, onworkspace:f[1]"
92 # "rounding 0, floating:0, onworkspace:f[1]"
93 # Remove context menu transparency in chromium based apps
94 # "opaque,class:^()$,title:^()$"
95 # "noshadow,class:^()$,title:^()$"
96 # "noblur,class:^()$,title:^()$"
97 ];
98
99 # https://wiki.hypr.land/Configuring/Window-Rules/#layer-rules
100 layerrule = [
101 "blur on, match:namespace vicinae"
102 "ignore_alpha 0, match:namespace vicinae"
103 "no_anim on, match:namespace vicinae"
104 # "dimaround, rofi"
105 # "dimaround, swaync-control-center"
106 ];
107
108 # https://wiki.hypr.land/Configuring/Workspace-Rules/
109 # No gaps when only
110 workspace = [
111 "w[t1], gapsout:0, gapsin:0"
112 "w[tg1], gapsout:0, gapsin:0"
113 "f[1], gapsout:0, gapsin:0"
114 ];
115 };
116}