diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 9be974f..ceadc28 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -571,7 +571,12 @@ bindr = , F8, sendshortcut, CTRL SHIFT, F8, class:^(vesktop)$ # Telegram PTT binde = $mainMod CTRL, F9, tagwindow, voicechatuz 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 bindrn = CTRL, Space, sendshortcut, , F6, class:^(zen)$ @@ -642,80 +647,179 @@ submap = reset # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules # Floating kitty -windowrule = float,class:^(kitty-float)$ -windowrule = size 600 400,class:^(kitty-float)$ -windowrule = move center,class:^(kitty-float)$ +windowrule { + name = windowrule-2 + 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 -windowrule = float,class:^(zenity)$ +windowrule { + name = windowrule-4 + float = on + match:class = ^(zenity)$ +} + # Super Productivity -windowrule = workspace 7 silent,class:^(superProductivity)$ +windowrule { + name = windowrule-5 + workspace = 7 silent + match:class = ^(superProductivity)$ +} + # Telegram -windowrule = workspace 8 silent,class:^(com.ayugram.desktop)$ -windowrule = group set,class:^(com.ayugram.desktop)$ +windowrule { + name = windowrule-6 + workspace = 8 silent + group = set + match:class = ^(com.ayugram.desktop)$ +} + # Vesktop -windowrule = workspace 8 silent,class:^(vesktop)$ -windowrule = group override set always,class:^(vesktop)$ +windowrule { + name = windowrule-7 + workspace = 8 silent + group = override set always + match:class = ^(vesktop)$ +} + # Element -windowrule = workspace 8 silent,class:^(Element)$ -windowrule = group override set always,class:^(Element)$ +windowrule { + name = windowrule-8 + workspace = 8 silent + group = override set always + match:class = ^(Element)$ +} + # Steam -windowrule = workspace 7 silent,class:^(steam)$ -windowrule = group set,class:^(steam)$ +windowrule { + name = windowrule-9 + workspace = 7 silent + group = set + match:class = ^(steam)$ +} + # Screensharing protection source = ~/.config/hypr/privacy.conf -windowrule = noscreenshare, tag:privacy -windowrule = bordercolor rgba(cc00ffff) rgba(630063ff) 90deg,tag:privacy -windowrule = noscreenshare 0, tag:privacyexpose -windowrule = bordercolor rgba(ff0000ff) rgba(ff0000ff) 90deg,tag:privacyexpose -windowrule = dimaround, tag:privacyexpose +windowrule { + name = windowrule-10 + no_screen_share = on + border_color = rgba(cc00ffff) rgba(630063ff) 90deg + 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 -windowrule = float,class:^(com.saivert.pwvucontrol)$ -windowrule = size 600 400,class:^(com.saivert.pwvucontrol)$ -windowrule = move center,class:^(com.saivert.pwvucontrol)$ +windowrule { + name = windowrule-12 + float = on + size = 600 400 + move = (center) + match:class = ^(com.saivert.pwvucontrol)$ +} + # 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 -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. -windowrule = suppressevent maximize, class:.* +windowrule { + name = windowrule-15 + suppress_event = maximize + match:class = .* +} + # 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 -layerrule = ignorezero, rofi -layerrule = dimaround, rofi -layerrule = blur, rofi -layerrule = animation slide bottom, rofi +layerrule { + name = layerrule-1 + ignore_alpha = 0 + dim_around = on + blur = on + animation = slide bottom + match:namespace = rofi +} + # swaync -layerrule = blur, swaync-control-center -layerrule = blur, swaync-notification-window -layerrule = abovelock, swaync-notification-window -layerrule = dimaround, swaync-control-center -layerrule = ignorezero, swaync-control-center -layerrule = ignorezero, swaync-notification-window -layerrule = animation slideIn right, swaync-control-center -layerrule = animation slideIn right, swaync-notification-window +layerrule { + name = layerrule-2 + blur = on + dim_around = on + ignore_alpha = 0 + animation = slideIn right + match:namespace = swaync-control-center +} + +layerrule { + name = layerrule-3 + blur = on + above_lock = on + ignore_alpha = 0 + animation = slideIn right + match:namespace = swaync-notification-window +} + # waybar -layerrule = ignorezero, waybar -layerrule = blur, waybar -layerrule = ignorealpha 0.6, waybar -layerrule = animation fadeIn, waybar +layerrule { + name = layerrule-4 + ignore_alpha = 0.6 + blur = on + animation = fadeIn + match:namespace = waybar +} + # Adjustments for certain workspaces workspace = special:magic, gapsin:20, gapsout:50, shadow:false @@ -761,12 +865,42 @@ plugin { on_double_click = - windowrule = plugin:hyprbars:bar_color rgb(261B1E), class:^(com.ayugram.desktop) - windowrule = plugin:hyprbars:bar_color rgb(121214), class:^(vesktop) - windowrule = plugin:hyprbars:bar_color rgb(131313), class:^(zen) - windowrule = plugin:hyprbars:bar_color rgb(F1F3F4), class:^(draw.io) - windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), class:^(thunar) - windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), floating:1 +windowrule { + name = windowrule-17 + match:plugin = hyprbars:bar_color rgb(261B1E) + match:class = ^(com.ayugram.desktop) +} + +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 { diff --git a/hypr/privacy.conf b/hypr/privacy.conf index 713eaaa..3f2cdcc 100644 --- a/hypr/privacy.conf +++ b/hypr/privacy.conf @@ -1,18 +1,110 @@ -windowrule = tag +privacy,class:^(org.telegram.desktop)$ -windowrule = tag +privacy,class:^(com.ayugram.desktop)$ -windowrule = tag +privacy,class:^(Element)$ -windowrule = tag +privacy,class:^(vesktop)$ -windowrule = tag +privacy,class:^(chat-simplex-desktop-MainKt)$ -windowrule = tag +privacy,class:^(com.github.hluk.copyq)$ -windowrule = tag +privacy,class:^(org.keepassxc.KeePassXC)$ -windowrule = tag +privacy,class:^(otpclient)$ -windowrule = tag +privacy,class:^(com.nextcloud.desktopclient.nextcloud)$ -windowrule = tag +privacy,title:^(diary)$ -windowrule = tag +privacy,class:thunar,title:.*(Downloads|Telegram Desktop).* -windowrule = tag +privacy,class:^(Mullvad VPN)$ -windowrule = tag +privacy,class:^(Tor Browser)$ -windowrule = tag +privacy,class:^(zen)$,title:.*Private Browsing.* -windowrule = tag +privacy,class:^(Logseq)$ -windowrule = tag +privacy,class:^(com.obsproject.Studio)$ -layerrule = noscreenshare, swaync-control-center -layerrule = noscreenshare, swaync-notification-window +windowrule { + name = privacy-rule-1 + tag = +privacy + match:class = ^(org.telegram.desktop)$ +} + +windowrule { + name = privacy-rule-2 + tag = +privacy + match:class = ^(com.ayugram.desktop)$ +} + +windowrule { + name = privacy-rule-3 + tag = +privacy + match:class = ^(Element)$ +} + +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 +} +