fix: window and layer rules. Hypr devs had to fix what wasn't broken again.

This commit is contained in:
2026-01-01 19:36:08 +03:00
parent f30e7d0085
commit 816db39d6e
2 changed files with 293 additions and 67 deletions

View File

@@ -571,7 +571,12 @@ bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$
# Telegram PTT # Telegram PTT
binde = $mainMod CTRL, F9, tagwindow, voicechatuz binde = $mainMod CTRL, F9, tagwindow, voicechatuz
bindr = , F9, sendshortcut, , F9, class:com.ayugram.desktop bindr = , F9, sendshortcut, , F9, class:com.ayugram.desktop
windowrule = bordercolor rgba(ffff00ff) rgba(ffff0055),tag:voicechatuz windowrule {
name = windowrule-1
border_color = rgba(ffff00ff) rgba(ffff0055)
match:tag = voicechatuz
}
# Zen - focus searchbar # Zen - focus searchbar
bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$ bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$
@@ -642,80 +647,179 @@ submap = reset
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Floating kitty # Floating kitty
windowrule = float,class:^(kitty-float)$ windowrule {
windowrule = size 600 400,class:^(kitty-float)$ name = windowrule-2
windowrule = move center,class:^(kitty-float)$ float = on
size = 600 400
move = (center)
match:class = ^(kitty-float)$
}
windowrule {
name = windowrule-3
workspace = special:dungeon
match:class = org.freedesktop.Xwayland
}
windowrule = workspace special:dungeon,class:org.freedesktop.Xwayland
# Zenity # Zenity
windowrule = float,class:^(zenity)$ windowrule {
name = windowrule-4
float = on
match:class = ^(zenity)$
}
# Super Productivity # Super Productivity
windowrule = workspace 7 silent,class:^(superProductivity)$ windowrule {
name = windowrule-5
workspace = 7 silent
match:class = ^(superProductivity)$
}
# Telegram # Telegram
windowrule = workspace 8 silent,class:^(com.ayugram.desktop)$ windowrule {
windowrule = group set,class:^(com.ayugram.desktop)$ name = windowrule-6
workspace = 8 silent
group = set
match:class = ^(com.ayugram.desktop)$
}
# Vesktop # Vesktop
windowrule = workspace 8 silent,class:^(vesktop)$ windowrule {
windowrule = group override set always,class:^(vesktop)$ name = windowrule-7
workspace = 8 silent
group = override set always
match:class = ^(vesktop)$
}
# Element # Element
windowrule = workspace 8 silent,class:^(Element)$ windowrule {
windowrule = group override set always,class:^(Element)$ name = windowrule-8
workspace = 8 silent
group = override set always
match:class = ^(Element)$
}
# Steam # Steam
windowrule = workspace 7 silent,class:^(steam)$ windowrule {
windowrule = group set,class:^(steam)$ name = windowrule-9
workspace = 7 silent
group = set
match:class = ^(steam)$
}
# Screensharing protection # Screensharing protection
source = ~/.config/hypr/privacy.conf source = ~/.config/hypr/privacy.conf
windowrule = noscreenshare, tag:privacy windowrule {
windowrule = bordercolor rgba(cc00ffff) rgba(630063ff) 90deg,tag:privacy name = windowrule-10
windowrule = noscreenshare 0, tag:privacyexpose no_screen_share = on
windowrule = bordercolor rgba(ff0000ff) rgba(ff0000ff) 90deg,tag:privacyexpose border_color = rgba(cc00ffff) rgba(630063ff) 90deg
windowrule = dimaround, tag:privacyexpose match:tag = privacy
}
windowrule {
name = windowrule-11
no_screen_share = 0
border_color = rgba(ff0000ff) rgba(ff0000ff) 90deg
dim_around = on
match:tag = privacyexpose
}
# com.saivert.pwvucontrol # com.saivert.pwvucontrol
windowrule = float,class:^(com.saivert.pwvucontrol)$ windowrule {
windowrule = size 600 400,class:^(com.saivert.pwvucontrol)$ name = windowrule-12
windowrule = move center,class:^(com.saivert.pwvucontrol)$ float = on
size = 600 400
move = (center)
match:class = ^(com.saivert.pwvucontrol)$
}
# Frozen windows # Frozen windows
windowrule = bordercolor rgba(E96375ff) rgba(00ffff55) 90deg,tag:zawarudo windowrule {
name = windowrule-13
border_color = rgba(E96375ff) rgba(00ffff55) 90deg
match:tag = zawarudo
}
# Marked windows # Marked windows
windowrule = bordercolor rgba(0000ffff) rgba(aa00ffa5),tag:marked windowrule {
name = windowrule-14
border_color = rgba(0000ffff) rgba(aa00ffa5)
match:tag = marked
}
# Ignore maximize requests from apps. You'll probably like this. # Ignore maximize requests from apps. You'll probably like this.
windowrule = suppressevent maximize, class:.* windowrule {
name = windowrule-15
suppress_event = maximize
match:class = .*
}
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrule {
name = windowrule-16
no_focus = on
match:class = ^$
match:title = ^$
match:xwayland = 1
match:float = 1
match:fullscreen = 0
match:pin = 0
}
# rofi # rofi
layerrule = ignorezero, rofi layerrule {
layerrule = dimaround, rofi name = layerrule-1
layerrule = blur, rofi ignore_alpha = 0
layerrule = animation slide bottom, rofi dim_around = on
blur = on
animation = slide bottom
match:namespace = rofi
}
# swaync # swaync
layerrule = blur, swaync-control-center layerrule {
layerrule = blur, swaync-notification-window name = layerrule-2
layerrule = abovelock, swaync-notification-window blur = on
layerrule = dimaround, swaync-control-center dim_around = on
layerrule = ignorezero, swaync-control-center ignore_alpha = 0
layerrule = ignorezero, swaync-notification-window animation = slideIn right
layerrule = animation slideIn right, swaync-control-center match:namespace = swaync-control-center
layerrule = animation slideIn right, swaync-notification-window }
layerrule {
name = layerrule-3
blur = on
above_lock = on
ignore_alpha = 0
animation = slideIn right
match:namespace = swaync-notification-window
}
# waybar # waybar
layerrule = ignorezero, waybar layerrule {
layerrule = blur, waybar name = layerrule-4
layerrule = ignorealpha 0.6, waybar ignore_alpha = 0.6
layerrule = animation fadeIn, waybar blur = on
animation = fadeIn
match:namespace = waybar
}
# Adjustments for certain workspaces # Adjustments for certain workspaces
workspace = special:magic, gapsin:20, gapsout:50, shadow:false workspace = special:magic, gapsin:20, gapsout:50, shadow:false
@@ -761,12 +865,42 @@ plugin {
on_double_click = on_double_click =
windowrule = plugin:hyprbars:bar_color rgb(261B1E), class:^(com.ayugram.desktop) windowrule {
windowrule = plugin:hyprbars:bar_color rgb(121214), class:^(vesktop) name = windowrule-17
windowrule = plugin:hyprbars:bar_color rgb(131313), class:^(zen) match:plugin = hyprbars:bar_color rgb(261B1E)
windowrule = plugin:hyprbars:bar_color rgb(F1F3F4), class:^(draw.io) match:class = ^(com.ayugram.desktop)
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), class:^(thunar) }
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), floating:1
windowrule {
name = windowrule-18
match:plugin = hyprbars:bar_color rgb(121214)
match:class = ^(vesktop)
}
windowrule {
name = windowrule-19
match:plugin = hyprbars:bar_color rgb(131313)
match:class = ^(zen)
}
windowrule {
name = windowrule-20
match:plugin = hyprbars:bar_color rgb(F1F3F4)
match:class = ^(draw.io)
}
windowrule {
name = windowrule-21
match:plugin = hyprbars:bar_color rgb(1C1C1C)
match:class = ^(thunar)
}
windowrule {
name = windowrule-22
match:plugin = hyprbars:bar_color rgb(1C1C1C)
match:float = 1
}
} }
hyprexpo { hyprexpo {

View File

@@ -1,18 +1,110 @@
windowrule = tag +privacy,class:^(org.telegram.desktop)$ windowrule {
windowrule = tag +privacy,class:^(com.ayugram.desktop)$ name = privacy-rule-1
windowrule = tag +privacy,class:^(Element)$ tag = +privacy
windowrule = tag +privacy,class:^(vesktop)$ match:class = ^(org.telegram.desktop)$
windowrule = tag +privacy,class:^(chat-simplex-desktop-MainKt)$ }
windowrule = tag +privacy,class:^(com.github.hluk.copyq)$
windowrule = tag +privacy,class:^(org.keepassxc.KeePassXC)$ windowrule {
windowrule = tag +privacy,class:^(otpclient)$ name = privacy-rule-2
windowrule = tag +privacy,class:^(com.nextcloud.desktopclient.nextcloud)$ tag = +privacy
windowrule = tag +privacy,title:^(diary)$ match:class = ^(com.ayugram.desktop)$
windowrule = tag +privacy,class:thunar,title:.*(Downloads|Telegram Desktop).* }
windowrule = tag +privacy,class:^(Mullvad VPN)$
windowrule = tag +privacy,class:^(Tor Browser)$ windowrule {
windowrule = tag +privacy,class:^(zen)$,title:.*Private Browsing.* name = privacy-rule-3
windowrule = tag +privacy,class:^(Logseq)$ tag = +privacy
windowrule = tag +privacy,class:^(com.obsproject.Studio)$ match:class = ^(Element)$
layerrule = noscreenshare, swaync-control-center }
layerrule = noscreenshare, swaync-notification-window
windowrule {
name = privacy-rule-4
tag = +privacy
match:class = ^(vesktop)$
}
windowrule {
name = privacy-rule-5
tag = +privacy
match:class = ^(chat-simplex-desktop-MainKt)$
}
windowrule {
name = privacy-rule-6
tag = +privacy
match:class = ^(com.github.hluk.copyq)$
}
windowrule {
name = privacy-rule-7
tag = +privacy
match:class = ^(org.keepassxc.KeePassXC)$
}
windowrule {
name = privacy-rule-8
tag = +privacy
match:class = ^(otpclient)$
}
windowrule {
name = privacy-rule-9
tag = +privacy
match:class = ^(com.nextcloud.desktopclient.nextcloud)$
}
windowrule {
name = privacy-rule-10
tag = +privacy
match:title = ^(diary)$
}
windowrule {
name = privacy-rule-11
tag = +privacy
match:class = thunar
match:title = .*(Downloads|Telegram Desktop).*
}
windowrule {
name = privacy-rule-12
tag = +privacy
match:class = ^(Mullvad VPN)$
}
windowrule {
name = privacy-rule-13
tag = +privacy
match:class = ^(Tor Browser)$
}
windowrule {
name = privacy-rule-14
tag = +privacy
match:class = ^(zen)$
match:title = .*Private Browsing.*
}
windowrule {
name = privacy-rule-15
tag = +privacy
match:class = ^(Logseq)$
}
windowrule {
name = privacy-rule-16
tag = +privacy
match:class = ^(com.obsproject.Studio)$
}
layerrule {
name = privacy-layer-rule-1
no_screen_share = on
match:namespace = swaync-control-center
}
layerrule {
name = privacy-layer-rule-2
no_screen_share = on
match:namespace = swaync-notification-window
}