diff --git a/modules/network/firewall/opensnitch.nix b/modules/network/firewall/opensnitch.nix index 16cd950..31e09e9 100644 --- a/modules/network/firewall/opensnitch.nix +++ b/modules/network/firewall/opensnitch.nix @@ -10,8 +10,6 @@ }; rules = { - # - # system services "systemd-timesyncd" = { "name" = "systemd-timesyncd"; "enabled" = true; @@ -20,8 +18,8 @@ "operator" = { "type" = "simple"; "sensitive" = false; - "operand" = "lists.domains"; - "data" = builtins.toFile "systemd-timesyncd-opensnitch-rules" (lib.strings.concatStringsSep "\n" config.networking.timeServers); + "operand" = "process.path"; + "data" = "${pkgs.systemd}/lib/systemd/systemd-timesyncd"; }; }; "nsncd" = { @@ -36,157 +34,6 @@ "data" = "${pkgs.nsncd}/bin/nsncd"; }; }; - "tailscale" = { - "name" = "tailscale"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.tailscale}/bin/.tailscaled-wrapped"; - }; - }; - "avahi-daemon" = { - "name" = "avahi-daemon"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.avahi}/bin/avahi-daemon"; - }; - }; - - # - # services - "prowlarr" = { - "name" = "prowlarr"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "type" = "list"; - "operand" = "list"; - "list" = [ - { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.prowlarr}/lib/prowlarr/Prowlarr"; - } - { - "operand" = "user.name"; - "type" = "simple"; - "sensitive" = false; - "data" = "prowlarr"; - } - ]; - }; - }; - "sonarr" = { - "name" = "sonarr"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "type" = "list"; - "operand" = "list"; - "list" = [ - { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.sonarr}/lib/sonarr/Sonarr"; - } - { - "operand" = "user.name"; - "type" = "simple"; - "sensitive" = false; - "data" = "${config.services.sonarr.user}"; - } - ]; - }; - }; - "radarr" = { - "name" = "radarr"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "type" = "list"; - "operand" = "list"; - "list" = [ - { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.radarr}/lib/radarr/Radarr"; - } - { - "operand" = "user.name"; - "type" = "simple"; - "sensitive" = false; - "data" = "${config.services.radarr.user}"; - } - ]; - }; - }; - "forgejo" = { - "name" = "forgejo"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "type" = "list"; - "operand" = "list"; - "list" = [ - { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.forgejo-lts}/bin/.forgejo-wrapped"; - } - { - "operand" = "user.name"; - "type" = "simple"; - "sensitive" = false; - "data" = "${config.services.forgejo.user}"; - } - ]; - }; - }; - "caddy" = { - "name" = "caddy"; - "enabled" = true; - "action" = "allow"; - "duration" = "always"; - "operator" = { - "type" = "list"; - "operand" = "list"; - "list" = [ - { - "operand" = "process.path"; - "type" = "simple"; - "sensitive" = false; - "data" = "${pkgs.caddy}/bin/caddy"; - } - { - "operand" = "user.name"; - "type" = "simple"; - "sensitive" = false; - "data" = "${config.services.caddy.user}"; - } - ]; - }; - }; - - - # - # desktop applications "firefox" = { "name" = "firefox"; "enabled" = true; diff --git a/stow/.config/hypr/appearance.conf b/stow/.config/hypr/appearance.conf deleted file mode 100644 index 73ddc8f..0000000 --- a/stow/.config/hypr/appearance.conf +++ /dev/null @@ -1,54 +0,0 @@ -general { - gaps_in = 3 - gaps_out = 5 - - border_size = 2 - - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgba(ff6161ee) rgba(cc2a2aee) 45deg - col.inactive_border = rgba(e04254aa) -} - -decoration { - rounding = 10 - - # Change transparency of focused and unfocused windows - active_opacity = 1.0 - inactive_opacity = 1.0 - - shadow { - enabled = true - range = 4 - render_power = 3 - color = rgba(1a1a1aee) - } - - # https://wiki.hyprland.org/Configuring/Variables/#blur - blur { - enabled = true - size = 5 - passes = 3 - - vibrancy = 0.1696 - } -} - -# https://wiki.hyprland.org/Configuring/Variables/#animations -animations { - # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - enabled = true - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -misc { -# force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_splash_rendering = true - disable_hyprland_logo = true # makes swww startup more seemless -} diff --git a/stow/.config/hypr/binds.conf b/stow/.config/hypr/binds.conf deleted file mode 100644 index 77a11c4..0000000 --- a/stow/.config/hypr/binds.conf +++ /dev/null @@ -1,96 +0,0 @@ -# -# keybinds -# https://wiki.hyprland.org/Configuring/Keywords/ - -$mainMod = SUPER # Sets "Windows" key as main modifier - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, uwsm app -- ghostty -bind = $mainMod, B, exec, uwsm app -- firefox -bind = $mainMod, D, exec, vicinae toggle -bind = $mainMod shift, D, exec, uwsm app -- 1password --quick-access -bind = $mainMod, S, exec, uwsm app -- hyprshot -z --clipboard-only -m region -bind = $mainMod shift, S, exec, uwsm app -- hyprshot -z --clipboard-only -m window -bind = $mainMod control, S, exec, uwsm app -- hyprshot -z --clipboard-only -m active -bind = $mainMod, V, exec, uwsm app -- sh ~/.config/hypr/hyprlock.sh - -bind = $mainMod, SPACE, togglefloating, -bind = $mainMod, W, killactive, -bind = $mainMod, M, exec, uwsm stop - -#bind = $mainMod, P, pseudo, # dwindle # have no clue what this does -bind = $mainMod, F, fullscreen -bind = $mainMod, C, togglesplit, # dwindle - -# Move focus with mainMod + arrow keys -bind = $mainMod, h, movefocus, l -bind = $mainMod, l, movefocus, r -bind = $mainMod, k, movefocus, u -bind = $mainMod, j, movefocus, d - -# Move window with mainMod + shift + hjkl -bind = $mainMod shift, h, swapwindow, l -bind = $mainMod shift, l, swapwindow, r -bind = $mainMod shift, k, swapwindow, u -bind = $mainMod shift, j, swapwindow, d - -# brightness keys -bindel = , XF86MonBrightnessUp, exec, brightnessctl s +2% -bindel = , XF86MonBrightnessDown, exec, brightnessctl s 2%- - -# media keys -bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- -bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - -# Requires playerctl -bindl = , XF86AudioPlay, exec, playerctl play-pause -bindl = , XF86AudioPrev, exec, playerctl previous -bindl = , XF86AudioNext, exec, playerctl next - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -input:kb_options = caps:super - -# Controllers Binds -bind = $mainMod, page_up, workspace, e+1 -bind = $mainMod, page_down, workspace, e-1 -bind = $mainMod, insert, exec, hyprexit - - -# gestures -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gesture = 3, horizontal, workspace -gesture = 4, pinch, dispatcher, exec, vicinae toggle -gesture = 4, left, dispatcher, exec, swaync-client -op -gesture = 4, right, dispatcher, exec, swaync-client -cp diff --git a/stow/.config/hypr/hyprland.conf b/stow/.config/hypr/hyprland.conf index c7c0914..a778071 100755 --- a/stow/.config/hypr/hyprland.conf +++ b/stow/.config/hypr/hyprland.conf @@ -1,32 +1,29 @@ -# -# modules -source = binds.conf -source = rules.conf -source = appearance.conf -source = ./matugen.conf -# -# monitors -# https://wiki.hyprland.org/Configuring/Monitors/ +################ +### MONITORS ### +################ + +# See https://wiki.hyprland.org/Configuring/Monitors/ monitor=eDP-1,1920x1080@60,auto,1 +################# +### AUTOSTART ### +################# -# -# autostart +# Autostart necessary processes (like notifications daemons, status bars, etc.) +# Or execute your favorite apps at launch like this: -# desktop exec-once = uwsm app -- swww-daemon exec-once = uwsm app -- waybar exec-once = uwsm app -- swaync exec-once = uwsm app -- vicinae server -exec-once = uwsm app -- fcitx5 -exec-once = systemctl --user start hyprpolkitagent exec-once = hyprshade auto -# apps -exec-once = uwsm app -- opensnitch-ui || echo "" -exec-once = uwsm app -- steam -silent || echo "" -exec-once = uwsm app -- 1password --silent || echo "" +exec-once = uwsm app -- opensnitch-ui +exec-once = systemctl --user start hyprpolkitagent +exec-once = uwsm app -- fcitx5 +exec-once = uwsm app -- steam -silent +exec-once = uwsm app -- 1password --silent ############################# ### ENVIRONMENT VARIABLES ### @@ -36,7 +33,21 @@ exec-once = uwsm app -- 1password --silent || echo "" env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 +##################### +### LOOK AND FEEL ### +##################### +# Refer to https://wiki.hyprland.org/Configuring/Variables/ + general { + gaps_in = 3 + gaps_out = 5 + + border_size = 2 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(ff6161ee) rgba(cc2a2aee) 45deg + col.inactive_border = rgba(e04254aa) + # Set to true enable resizing windows by clicking and dragging on borders and gaps resize_on_border = true @@ -46,6 +57,46 @@ general { layout = dwindle } +decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgba(1a1a1aee) + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 5 + passes = 3 + + vibrancy = 0.1696 + } +} + +# Matugen theming +source = ./matugen.conf + +# https://wiki.hyprland.org/Configuring/Variables/#animations +animations { + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + enabled = true + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more dwindle { @@ -53,8 +104,18 @@ dwindle { preserve_split = true # You probably want this } +# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more +master { + new_status = master +} + # https://wiki.hyprland.org/Configuring/Variables/#misc misc { +# force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers +# disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( + disable_splash_rendering = true + disable_hyprland_logo = true # makes swww startup more seemless + enable_swallow = true swallow_regex = ^(com.mitchellh.ghostty)$ } @@ -83,9 +144,171 @@ input { } } +# https://wiki.hyprland.org/Configuring/Variables/#gestures +gesture = 3, horizontal, workspace +gesture = 4, pinch, dispatcher, exec, vicinae toggle +gesture = 4, left, dispatcher, exec, swaync-client -op +gesture = 4, right, dispatcher, exec, swaync-client -cp + # Example per-device config # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more device { name = epic-mouse-v1 sensitivity = -0.5 } + + +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hyprland.org/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = $mainMod, Q, exec, uwsm app -- ghostty +bind = $mainMod, B, exec, uwsm app -- firefox +bind = $mainMod, D, exec, vicinae toggle +bind = $mainMod shift, D, exec, uwsm app -- 1password --quick-access +bind = $mainMod, S, exec, uwsm app -- hyprshot -z --clipboard-only -m region +bind = $mainMod shift, S, exec, uwsm app -- hyprshot -z --clipboard-only -m window +bind = $mainMod control, S, exec, uwsm app -- hyprshot -z --clipboard-only -m active +bind = $mainMod, V, exec, uwsm app -- sh ~/.config/hypr/hyprlock.sh + +bind = $mainMod, SPACE, togglefloating, +bind = $mainMod, W, killactive, +bind = $mainMod, M, exec, uwsm stop + +#bind = $mainMod, P, pseudo, # dwindle # have no clue what this does +bind = $mainMod, F, fullscreen +bind = $mainMod, C, togglesplit, # dwindle + +# Move focus with mainMod + arrow keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +# Move window with mainMod + shift + hjkl +bind = $mainMod shift, h, swapwindow, l +bind = $mainMod shift, l, swapwindow, r +bind = $mainMod shift, k, swapwindow, u +bind = $mainMod shift, j, swapwindow, d + +# brightness keys +bindel = , XF86MonBrightnessUp, exec, brightnessctl s +2% +bindel = , XF86MonBrightnessDown, exec, brightnessctl s 2%- + +# media keys +bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ +bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- +bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle + +# Requires playerctl +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous +bindl = , XF86AudioNext, exec, playerctl next + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspace, 1 +bind = $mainMod SHIFT, 2, movetoworkspace, 2 +bind = $mainMod SHIFT, 3, movetoworkspace, 3 +bind = $mainMod SHIFT, 4, movetoworkspace, 4 +bind = $mainMod SHIFT, 5, movetoworkspace, 5 +bind = $mainMod SHIFT, 6, movetoworkspace, 6 +bind = $mainMod SHIFT, 7, movetoworkspace, 7 +bind = $mainMod SHIFT, 8, movetoworkspace, 8 +bind = $mainMod SHIFT, 9, movetoworkspace, 9 +bind = $mainMod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +input:kb_options = caps:super + +# Controllers Binds +bind = $mainMod, page_up, workspace, e+1 +bind = $mainMod, page_down, workspace, e-1 +bind = $mainMod, insert, exec, hyprexit + +############################## +### WINDOWS AND WORKSPACES ### +############################## + +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + +windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + +windowrulev2 = noborder,initialClass:ulauncher +windowrulev2 = noblur,initialClass:ulauncher +windowrulev2 = noshadow,initialClass:ulauncher + +windowrulev2 = float,initialTitle:(^KeePassXC - Browser Access Request$) + +windowrulev2 = stayfocused,initialTitle:(^Quick Access — 1Password$) + +windowrulev2 = noanim,initialTitle:(^flameshot$) +windowrulev2 = float,initialTitle:(^flameshot$) + +windowrulev2 = float, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) +windowrulev2 = pin, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) +windowrulev2 = noinitialfocus, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) +windowrulev2 = size 20%, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) +windowrulev2 = move 76% 0.5%, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) +windowrulev2 = keepaspectratio, initialTitle:(^Picture-in-Picture$), initialClass:(^firefox$) + +windowrulev2 = move -100% -100%, initialClass:(^xwaylandvideobridge$) +windowrulev2 = noinitialfocus, initialClass:(^xwaylandvideobridge$) + +windowrulev2 = dimaround, initialClass:(^polkit-gnome-authentication-agent-1$) +windowrulev2 = center, initialClass:(^polkit-gnome-authentication-agent-1$) +windowrulev2 = float, initialClass:(^polkit-gnome-authentication-agent-1$) +windowrulev2 = pin, initialClass:(^polkit-gnome-authentication-agent-1$) +windowrulev2 = stayfocused, initialClass:(^polkit-gnome-authentication-agent-1$) +windowrulev2 = animation gnomed, initialClass:(^polkit-gnome-authentication-agent-1$) + +windowrulev2 = dimaround, initialClass:(^opensnitch_ui$) +windowrulev2 = stayfocused, initialClass:(^opensnitch_ui$) +windowrulev2 = animation slidein, initialClass:(^opensnitch_ui$) +windowrulev2 = float, initialClass:(^opensnitch_ui$) +windowrulev2 = size 960 540, initialClass:(^opensnitch_ui$) +windowrulev2 = center, initialClass:(^opensnitch_ui$) + +windowrulev2 = idleinhibit fullscreen, initialTitle:(.*) + +windowrulev2 = pin, initialTitle:(^Steam Input On-screen Keyboard$) +windowrulev2 = noblur, initialTitle:(^Steam Input On-screen Keyboard$) +windowrulev2 = bordersize 0, initialTitle:(^Steam Input On-screen Keyboard$) +windowrulev2 = noshadow, initialTitle:(^Steam Input On-screen Keyboard$) + +windowrulev2 = center, initialClass:(^1Password$),floating:1 +windowrulev2 = persistentsize, initialClass:(^1Password$),floating:1 +windowrulev2 = dimaround, initialClass:(^1Password$),floating:1 +windowrulev2 = animation popin, initialClass:(^1Password$),floating:1 + +# disable fade animation for vicinae only +layerrule = noanim, vicinae + +# layer rules +layerrule = animation slide right, waybar + +layerrule = blur,vicinae +layerrule = ignorealpha 0, vicinae diff --git a/stow/.config/hypr/rules.conf b/stow/.config/hypr/rules.conf deleted file mode 100644 index 22fb1c9..0000000 --- a/stow/.config/hypr/rules.conf +++ /dev/null @@ -1,95 +0,0 @@ -# -# windows and workspaces -# https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules - -windowrule { - name = windowrule-1 - suppress_event = maximize - match:class = .* # You'll probably like this. -} - -windowrule { - name = inhibit-fullscreen - idle_inhibit = fullscreen - match:initial_title = (.*) -} - - -windowrule { - name = float-keypass-confirmation - float = on - match:initial_title = (^KeePassXC - Browser Access Request$) -} - -windowrule { - name = windowrule-6 - float = on - pin = on - no_initial_focus = on - size = (monitor_w*0.2) - move = ((monitor_w*0.76)) ((monitor_h*0.005)) - keep_aspect_ratio = on - match:initial_title = (^Picture-in-Picture$) - match:initial_class = (^firefox$) -} - - -windowrule { - name = hide-xwaylandvideobridge - move = (-(monitor_w*1)) (-(monitor_h*1)) - no_initial_focus = on - match:initial_class = (^xwaylandvideobridge$) -} - - -windowrule { - name = polkit - dim_around = on - center = on - float = on - pin = on - stay_focused = on - animation = gnomed - match:initial_title = (^Hyprland Polkit Agent$) -} - - -windowrule { - name = opensnitch-confirmation - dim_around = on - stay_focused = on - animation = slidein - float = on - size = 960 540 - center = on - match:initial_class = (^opensnitch_ui$) - match:initial_title = negative:(^OpenSnitch Network Statistics 1.8.0$) -} - - -windowrule { - name = steam-onscreen-keyboard - pin = on - no_blur = on - border_size = 0 - no_shadow = on - match:initial_title = (^Steam Input On-screen Keyboard$) -} - -# disable fade animation for vicinae only -layerrule { - name = layerrule-1 - no_anim = on - blur = on - ignore_alpha = 0 - match:namespace = vicinae -} - -# layer rules -layerrule { - name = layerrule-2 - animation = slide right - match:namespace = waybar -} -