From 816f147ac8aecda7a45e6ddf8a84c00d26a91019 Mon Sep 17 00:00:00 2001 From: Andre Ramnitz Date: Mon, 24 Mar 2025 18:49:40 +0100 Subject: [PATCH] hypr: update config for 0.48.0 --- dot-config/hypr/fragments/windowrules.conf | 123 ++++++++++----------- dot-config/hypr/hyprland.conf | 25 +++-- dot-config/hypr/scripts/startup.sh | 4 +- 3 files changed, 72 insertions(+), 80 deletions(-) diff --git a/dot-config/hypr/fragments/windowrules.conf b/dot-config/hypr/fragments/windowrules.conf index 6f33ef11..9d2524b6 100644 --- a/dot-config/hypr/fragments/windowrules.conf +++ b/dot-config/hypr/fragments/windowrules.conf @@ -1,94 +1,85 @@ # Example windowrule v1 # windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# Example windowrule +# windowrule = float,class:^(kitty)$,title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more # more windowrules # handle steam client -windowrulev2 = float,class:^(steam)$ -windowrulev2 = float,title:^(Steam)$ -windowrulev2 = float,title:^(Freundesliste)$ -windowrulev2 = stayfocused, title:^()$, class:^(steam)$ -windowrulev2 = minsize 1 1, title:^()$, class:^(steam)$ -windowrulev2 = plugin:hyprbars:nobar,class:^(steam)$ -windowrulev2 = plugin:hyprbars:nobar,title:^(Steam)$ -windowrulev2 = plugin:hyprbars:nobar,title:^(Freundesliste)$ +windowrule = float,class:^(steam)$ +windowrule = float,title:^(Steam)$ +windowrule = float,title:^(Freundesliste)$ +windowrule = stayfocused, title:^()$, class:^(steam)$ +windowrule = minsize 1 1, title:^()$, class:^(steam)$ +windowrule = plugin:hyprbars:nobar,class:^(steam)$ +windowrule = plugin:hyprbars:nobar,title:^(Steam)$ +windowrule = plugin:hyprbars:nobar,title:^(Freundesliste)$ # handle wine/proton games -windowrulev2 = noanim, class:^(.*exe)$ -windowrulev2 = fullscreen, initialClass:^(gamescope)$ +windowrule = noanim, class:^(.*exe)$ +windowrule = fullscreen, initialClass:^(gamescope)$ # handle hyprbars for floating windows -windowrulev2 = plugin:hyprbars:nobar, ^floating:0 +windowrule = plugin:hyprbars:nobar, ^floating:0 # handle plasma/kde/qt apps -windowrule = float, ^(org.kde.*)$ -windowrule = float, ^(kdesystemsettings.*)$ -windowrulev2 = minsize 1 1, stayfocused, float, class: ^(com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = stayfocused, class: ^(com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = float, class: ^(com.nextcloud.desktopclient.nextcloud)$ -windowrulev2 = float, size 1560 1000, pin, workspace special:overlay, class:^(org.keepassxc.KeePassXC)$ -windowrule = float, ^(ark.*)$ -windowrule = float, ^(lxqt-.*)$ -windowrule = float, ^(vlc.*)$ -windowrule = float, ^(pcmanfm.*)$ +windowrule = float, class:^(org.kde.*)$ +windowrule = float, class:^(kdesystemsettings.*)$ +windowrule = minsize 1 1, stayfocused, float, class: ^(com.nextcloud.desktopclient.nextcloud)$ +windowrule = stayfocused, class: ^(com.nextcloud.desktopclient.nextcloud)$ +windowrule = float, class: ^(com.nextcloud.desktopclient.nextcloud)$ +windowrule = float, size 1560 1000, pin, workspace special:overlay, class:^(org.keepassxc.KeePassXC)$ +windowrule = float, class:^(ark.*)$ +windowrule = float, class:^(lxqt-.*)$ +windowrule = float, class:^(vlc.*)$ +windowrule = float, class:^(pcmanfm.*)$ windowrule = float, class:^(qalculate.*)$ # handle dialogs -windowrulev2 = float, title:^((Über|About).*)$ -windowrulev2 = stayfocused, title:^((Über|About).*)$ +windowrule = float, title:^((Über|About).*)$ +windowrule = stayfocused, title:^((Über|About).*)$ # handle browsers -# windowrulev2 = float, class:^(firefox.*)$ -windowrulev2 = tag +neverdim, class:^(firefox.*)$ -windowrulev2 = maxsize 2543 1389 lock, class:^(org.qutebrowser.*)$ -windowrulev2 = minsize 1920 1200 lock, class:^(org.qutebrowser.*)$ -windowrulev2 = tag +neverdim, class:^(org.qutebrowser.*)$ +# windowrule = float, class:^(firefox.*)$ +windowrule = tag +neverdim, class:^(firefox.*)$ +windowrule = maxsize 2543 1389 lock, class:^(org.qutebrowser.*)$ +windowrule = minsize 1920 1200 lock, class:^(org.qutebrowser.*)$ +windowrule = tag +neverdim, class:^(org.qutebrowser.*)$ # handle terminal(s/-apps) -windowrulev2 = opacity 1.0 override 0.8 override, group, class:^(foot)$ -windowrulev2 = float, opacity 1.0 override 0.8 override, class:^(popup)$ -windowrulev2 = pseudo, class:^(ncmpcpp)$ -windowrulev2 = maxsize 60% 80%, class:^(ncmpcpp)$ -windowrulev2 = float, stayfocused, center, opacity 1.0 override, class:^(kakpopup)$ +windowrule = opacity 1.0 override 0.8 override, group, class:^(foot)$ +windowrule = float, opacity 1.0 override 0.8 override, class:^(popup)$ +windowrule = pseudo, class:^(ncmpcpp)$ +windowrule = maxsize 60% 80%, class:^(ncmpcpp)$ +windowrule = float, stayfocused, center, opacity 1.0 override, class:^(kakpopup)$ # handle other clients -windowrule = float, ^(discord.*)$ -windowrule = float, ^(openrgb)$ -windowrule = float, ^(org.corectrl.CoreCtrl)$ -windowrule = float, ^(pavucontrol.*)$ -windowrulev2 = float, class:^(lutris)$ -windowrulev2 = float, class:^(Threema.*)$ -windowrulev2 = float, class:^(blueman-manager.*)$ -windowrulev2 = tag +game, class:^(.*)exe$ -windowrulev2 = tag +game, initialClass:^(gamescope)$ +windowrule = float, class:^(discord.*)$ +windowrule = float, class:^(openrgb)$ +windowrule = float, class:^(org.corectrl.CoreCtrl)$ +windowrule = float, class:^(pavucontrol.*)$ +windowrule = float, class:^(lutris)$ +windowrule = float, class:^(Threema.*)$ +windowrule = float, class:^(blueman-manager.*)$ +windowrule = tag +game, class:^(.*)exe$ +windowrule = tag +game, initialClass:^(gamescope)$ # handle ueberzugpp -windowrulev2 = noanim, class:^(ueberzugpp.*)$ -windowrulev2 = noinitialfocus, class:^(ueberzugpp.*)$ -windowrulev2 = decorate off, class:^(ueberzugpp.*)$ -windowrulev2 = noshadow on, class:^(ueberzugpp.*)$ -windowrulev2 = group deny, class:^(ueberzugpp.*)$ +windowrule = noanim, class:^(ueberzugpp.*)$ +windowrule = noinitialfocus, class:^(ueberzugpp.*)$ +windowrule = decorate off, class:^(ueberzugpp.*)$ +windowrule = noshadow on, class:^(ueberzugpp.*)$ +windowrule = group deny, class:^(ueberzugpp.*)$ # handle portals -windowrule = float, ^(org.freedesktop.impl.portal.desktop.kde)$ -windowrule = stayfocused, ^(org.freedesktop.impl.portal.desktop.kde)$ +windowrule = float, class:^(org.freedesktop.impl.portal.desktop.kde)$ +windowrule = stayfocused, class:^(org.freedesktop.impl.portal.desktop.kde)$ # handle TAGS (always handle tags last) -windowrulev2 = nodim, tag:neverdim -windowrulev2 = noblur, tag:game -windowrulev2 = norounding, tag:game -windowrulev2 = noshadow, tag:game -windowrulev2 = immediate, tag:game -windowrulev2 = opaque, tag:game - -# handle kando.menu -windowrule = noblur, kando -windowrule = opaque, kando -windowrule = size 100% 100%, kando -windowrule = noborder, kando -windowrule = noanim, kando -windowrule = float, kando -windowrule = pin, kando +windowrule = nodim, tag:neverdim +windowrule = noblur, tag:game +windowrule = norounding, tag:game +windowrule = noshadow, tag:game +windowrule = immediate, tag:game +windowrule = opaque, tag:game diff --git a/dot-config/hypr/hyprland.conf b/dot-config/hypr/hyprland.conf index e922f12b..a034a1c1 100644 --- a/dot-config/hypr/hyprland.conf +++ b/dot-config/hypr/hyprland.conf @@ -173,6 +173,7 @@ misc { render_unfocused_fps = 60 allow_session_lock_restore = 1 initial_workspace_tracking = 1 + font_family = ZedMono NFP } # Example per-device config @@ -184,30 +185,30 @@ device { } group { - # col.border_active = 0x66ffff00 - # col.border_inactive = 0x66777700 - # col.border_locked_active = 0xffff5500 - # col.border_locked_inactive = 0x44775500 merge_groups_on_drag = 0 insert_after_current = 0 - col.border_locked_active = 0xEE$base0A + col.border_locked_active = 0xEE$base0D col.border_locked_inactive = 0xEE$base04 - col.border_active = 0xEE$base08 + col.border_active = 0xEE$base0A col.border_inactive = 0xEE$base02 groupbar { enabled = 1 height = 20 + indicator_height = 0 priority = 3 - font_family = ZedMono NFP - font_size = 13 - text_color = 0xff$base00 + font_size = 16 + text_color = 0xFF$base01 stacked = false gradients = true scrolling = false - col.locked_active = 0xEE$base0A - col.locked_inactive = 0xEE$base0F - col.active = 0xEE$base08 + col.locked_active = 0xEE$base0D + col.locked_inactive = 0xEE$base02 + col.active = 0xEE$base0A col.inactive = 0xEE$base02 + rounding = 1 + gradient_rounding = 5 + gradient_round_only_edges = true + stacked = false } } diff --git a/dot-config/hypr/scripts/startup.sh b/dot-config/hypr/scripts/startup.sh index ff1e97ab..86bad11c 100755 --- a/dot-config/hypr/scripts/startup.sh +++ b/dot-config/hypr/scripts/startup.sh @@ -5,8 +5,8 @@ logger '============================' logger 'HYPRLAND MAIN STARTUP BEGIN' # shellcheck disable=SC2155,SC2046 -test ! -d "$XDG_RUNTIME_DIR" && export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX) && logger 'xdg-runtime dir set NOW' -test ! "$DBUS_SESSION_BUS_ADDRESS" && dbus-daemon --session --address=unix:path="$XDG_RUNTIME_DIR"/bus && logger 'dbus session daemon started' +# test ! -d "$XDG_RUNTIME_DIR" && export XDG_RUNTIME_DIR=$(mktemp -d /tmp/$(id -u)-runtime-dir.XXX) && logger 'xdg-runtime dir set NOW' +# test ! "$DBUS_SESSION_BUS_ADDRESS" && dbus-daemon --session --address=unix:path="$XDG_RUNTIME_DIR"/bus && logger 'dbus session daemon started' dbus-update-activation-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # export PATH="$HOME/.local/bin:$HOME/.cargo/bin:$HOME/go/bin:$HOME/Applications:$PATH" -- 2.51.2