From 1627e1352ead1fa6685971ad600f4b328f089a44 Mon Sep 17 00:00:00 2001 From: Andre Ramnitz Date: Fri, 23 Jan 2026 18:41:55 +0100 Subject: [PATCH] hypr: 0.53.x migration --- dot-config/hypr/fragments/animations.conf | 5 +- dot-config/hypr/fragments/env.conf | 14 +- dot-config/hypr/fragments/keybinds.conf | 24 +- dot-config/hypr/fragments/layerrules.conf | 68 ++-- dot-config/hypr/fragments/matugen-theme.conf | 30 ++ dot-config/hypr/fragments/permissions.conf | 5 +- dot-config/hypr/fragments/windowrules.conf | 353 +++++++++++------- dot-config/hypr/fragments/workspacerules.conf | 5 +- dot-config/hypr/hypridle.conf | 5 + dot-config/hypr/hyprland.conf | 105 +++--- dot-config/hypr/hyprlauncher.conf | 5 + dot-config/hypr/hyprlock.conf | 89 +++-- dot-config/hypr/hyprpaper.conf | 5 + dot-config/hypr/hyprqt6engine.conf | 14 +- dot-config/hypr/noctalia/noctalia-colors.conf | 37 ++ dot-config/hypr/scripts/gamemode.sh | 6 +- dot-config/hypr/scripts/grimblast | 2 +- 17 files changed, 501 insertions(+), 271 deletions(-) create mode 100644 dot-config/hypr/fragments/matugen-theme.conf create mode 100644 dot-config/hypr/noctalia/noctalia-colors.conf diff --git a/dot-config/hypr/fragments/animations.conf b/dot-config/hypr/fragments/animations.conf index d7c333a0..f3577c37 100644 --- a/dot-config/hypr/fragments/animations.conf +++ b/dot-config/hypr/fragments/animations.conf @@ -1,4 +1,7 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ animations { enabled = yes diff --git a/dot-config/hypr/fragments/env.conf b/dot-config/hypr/fragments/env.conf index 93ca1fd6..0124b462 100644 --- a/dot-config/hypr/fragments/env.conf +++ b/dot-config/hypr/fragments/env.conf @@ -1,14 +1,15 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ # xdg stuff env = AMD_VULKAN_ICD=RADV -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_DESKTOP,Hyprland -env = XDG_SESSION_TYPE,wayland # prefer wayland env = QT_QPA_PLATFORM,wayland;xcb env = QT_QPA_PLATFORMTHEME,kde +# env = QT_QPA_PLATFORMTHEME,hyprqt6engine # experimental env = GDK_BACKEND,wayland,x11,* env = GTK_USE_PORTAL,1 env = MOZ_ENABLE_WAYLAND,1 @@ -30,9 +31,6 @@ env = HYPRCURSOR_SIZE,40 # tweak applications/frameworks env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 +env = XDG_MENU_PREFIX,plasma- -# try hyprqt6engine -env = QT_QPA_PLATFORMTHEME=hyprqt6engine -# test stuff -env = TERMINAL,/usr/bin/foot diff --git a/dot-config/hypr/fragments/keybinds.conf b/dot-config/hypr/fragments/keybinds.conf index fb43633e..64c89145 100644 --- a/dot-config/hypr/fragments/keybinds.conf +++ b/dot-config/hypr/fragments/keybinds.conf @@ -1,4 +1,7 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ # modifiers # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── @@ -11,14 +14,15 @@ $mainmod = SUPER # example: bind = $mainmod Shift, Return, exec, [float; size 1280 800;] foot -o pad=0x0 bind = $mainmod, Return, exec, footclient bind = $mainmod Ctrl, Return, exec, foot -bind = $mainmod Shift, Return, exec, footclient -w 1280x800 -o pad=0x0 -a popup +bind = $mainmod Shift, Return, exec, foot -w 1280x800 -o pad=0x0 -a popup bind = $mainmod Shift, Q, killactive, bind = $mainmod, A, pseudo, # dwindle, A for Artificial bind = $mainmod, B, exec, $HOME/.config/hypr/scripts/browser_focus_or_run.sh # bind = $mainmod, C, exec, killall fuzzel || cliphist list | fuzzel -d --config=$HOME/.config/fuzzel/fuzzel-emojii.ini --prompt='Copy > ' | cliphist decode | wl-copy -bind = $mainmod Ctrl, C, exec, foot -a clipse -e clipse -bind = $mainmod, D, exec, killall fuzzel || fuzzel --config=$HOME/.config/fuzzel/fuzzel-centered.ini -bind = $mainmod SHIFT, D, exec, hyprlauncher +# bind = $mainmod Ctrl, C, exec, foot -a clipse -e clipse +bind = $mainmod, C, exec, qs -c noctalia-shell ipc call launcher clipboard +bind = $mainmod, D, exec, qs -c noctalia-shell ipc call launcher toggle +bind = $mainmod SHIFT, D, exec, killall fuzzel || fuzzel --config=$HOME/.config/fuzzel/fuzzel-centered.ini bind = $mainmod, E, exec, foot -a lf lf bind = $mainmod SHIFT, E, exec, dolphin bind = $mainmod, F, fullscreen,1 @@ -35,7 +39,8 @@ bind = $mainmod Shift, S, swapsplit, # dwindle bind = $mainmod, V, togglefloating bind = $mainmod, W, exec, killall -SIGUSR1 waybar bind = $mainmod SHIFT, W, exec, killall -SIGUSR2 waybar -bind = $mainmod, grave, exec, ~/.config/hypr/scripts/RofiEmoji.sh +# bind = $mainmod, grave, exec, ~/.config/hypr/scripts/RofiEmoji.sh +bind = $mainmod, grave, exec, qs -c noctalia-shell ipc call launcher emoji bind = $mainmod, C, centerwindow # scratchpad bind = $mainmod, I, togglespecialworkspace, overlay @@ -67,10 +72,9 @@ bind = $suremod, L, exec, ~/.config/hypr/scripts/powermen # misc keys # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -bind = $mainmod, Print, exec, hyprshot -m output -m active -o $HOME/Bilder/Screenshots -bind = SHIFT, Print, exec, hyprshot -m window -m active -o $HOME/Bilder/Screenshots -bind = CTRL, Print, exec, hyprshot -z -m region -o $HOME/Bilder/Screenshots -bind = ALT CTRL, L, exec, hyprlock +bind = $mainmod, Print, exec, flatpak run be.alexandervanhee.gradia --screenshot=INTERACTIVE +bind = SHIFT, Print, exec, flatpak run be.alexandervanhee.gradia --screenshot=FULL +bind = ALT CTRL, L, exec, qs -c noctalia-shell ipc call sessionMenu lockAndSuspend # media keys # ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── diff --git a/dot-config/hypr/fragments/layerrules.conf b/dot-config/hypr/fragments/layerrules.conf index ffed9af9..ccb19e13 100644 --- a/dot-config/hypr/fragments/layerrules.conf +++ b/dot-config/hypr/fragments/layerrules.conf @@ -1,26 +1,52 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ -# general -layerrule = blurpopups, top +layerrule { + name = general + blur_popups = on + match:namespace = top +} -# waybar -layerrule = blur, waybar -layerrule = ignorealpha 0.1, waybar -layerrule = xray 1, waybar -layerrule = noanim, waybar +layerrule { + name = waybar + blur = on + ignore_alpha = 0.1 + xray = 1 + no_anim = on + match:namespace = waybar +} -# mako -layerrule = blur, notifications -layerrule = ignorealpha 0.1, notifications -layerrule = ignorezero, notifications +layerrule { + name = mako + blur = on + ignore_alpha = 0 + match:namespace = notifications +} -# gtkdock -layerrule = blur, GTKDock -layerrule = ignorealpha 0.1, GTKDock -layerrule = xray 1, GTKDock +layerrule { + name = gtkdock + blur = on + ignore_alpha = 0.1 + xray = 1 + match:namespace = GTKDock +} + +layerrule { + name = fuzzel + blur = on + blur_popups = true + ignore_alpha = 0.5 + animation = layers + match:namespace = launcher +} + +layerrule { + name = noctalia + match:namespace = noctalia-background-.*$ + ignore_alpha = 0.5 + blur = true + blur_popups = true +} -# fuzzel -layerrule = blur, launcher -layerrule = ignorealpha 0.1, launcher -layerrule = dimaround, launcher -layerrule = animation layers, launcher diff --git a/dot-config/hypr/fragments/matugen-theme.conf b/dot-config/hypr/fragments/matugen-theme.conf new file mode 100644 index 00000000..a934bba5 --- /dev/null +++ b/dot-config/hypr/fragments/matugen-theme.conf @@ -0,0 +1,30 @@ +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + +general { + # col.active_border = rgba(33ccffee) rgba(00ff99ee) 15deg #vanilla colors + col.active_border = 0xee$secondary_container 0xa1$secondary_container 50deg + col.nogroup_border_active = 0xee$error 0xa1$error 50deg + col.inactive_border = 0x77$surface + col.nogroup_border = 0x77$error +} + +group { + col.border_active = 0xee$secondary_container 0xa1$secondary_container 50deg + col.border_locked_active = 0xee$green_container 0xa1$green_container 50deg + col.border_inactive = 0xcc$background + col.border_locked_inactive = 0xcc$background + groupbar { + col.active = 0xee$secondary_container 0xa1$secondary_container 50deg + col.locked_active = 0xff$green_container 0xa1$green_container 50deg + col.inactive = 0xcc$background 0x80$background 50deg + col.locked_inactive = 0xff$background 0x80$background 50deg + text_color = 0xff$on_secondary_container + text_color_locked_active = 0xff$on_green_container + text_color_inactive = 0xaf$on_background + text_color_locked_inactive = 0xaf$on_background + } +} + diff --git a/dot-config/hypr/fragments/permissions.conf b/dot-config/hypr/fragments/permissions.conf index e453b3ac..951b510b 100644 --- a/dot-config/hypr/fragments/permissions.conf +++ b/dot-config/hypr/fragments/permissions.conf @@ -1,4 +1,7 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow permission = /(usr|usr/local)/bin/(grim|wl-screenrec|wf-recorder), screencopy, ask diff --git a/dot-config/hypr/fragments/windowrules.conf b/dot-config/hypr/fragments/windowrules.conf index 8ab04406..b58d7909 100644 --- a/dot-config/hypr/fragments/windowrules.conf +++ b/dot-config/hypr/fragments/windowrules.conf @@ -1,41 +1,84 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule -# windowrule = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# more windowrules +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ # hide hyprbars on non-floating windows -windowrule = plugin:hyprbars:nobar, floating:0 - -# handle plasma/kde/qt apps -windowrule = float, class:^(org.kde.*)$ -windowrule = float, class:^(ark.*)$ -windowrule = float, class:^(lxqt-.*)$ -windowrule = float, class:^(vlc.*)$ -windowrule = float, class:^(pcmanfm.*)$ -windowrule = float, class:^(qalculate.*)$ -windowrule = size 1280 720, class:^(org.kde.dolphin)$ - -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, class:^(kdesystemsettings.*)$ -windowrule = float, class:^(org.keepassxc.KeePassXC|KeePassXC)$ - -# handle dialogs -windowrule = float, title:^((Über|About|Öffnen).*)$ -windowrule = stayfocused, title:^((Über|About|Öffnen|Neuen Ordner erstellen|Datei überschreiben|Create New Folder).*)$ -windowrule = float, class:^((org.kde.kwalletd6|org.kde.ksecretd|org.kde.polkit-kde-authentication-agent-1).*)$ -windowrule = stayfocused, class:^((org.kde.kwalletd6|org.kde.ksecretd|org.kde.polkit-kde-authentication-agent-1).*)$ -windowrule = float, title:^(.*)auncher$ -windowrule = stayfocused, class:negative:heroic,title:^(.*)Launcher$ +windowrule { + name = nobar1 + match:float = 0 + hyprbars:no_bar = 1 +} + +# hide hyprbars on specific windows +windowrule { + name = nobar2 + match:class = ^((steam).*)$ + hyprbars:no_bar = 1 +} + +windowrule { + name = floating_enable + float = on + size = 1280 800 + match:class = ^((org.kde|ark|lxqt|vlc|pcmanfm|qalculate|kdesystemsettings|org.keepassxc|KeePassXC|gimp|clipse|openrgb|nwg-look|alsa-scarlett-gui|lstopo|org.corectrl.CoreCtrl|LACT|lutris|blueman-manager|org.freedesktop.impl.portal|be.alexandervanhee.gradia).*)$ +} + +windowrule { + name = gimp_mainwindow + tile = on + float = off + match:class = ^(gimp)$ + match:title = ^(.*GIMP)$ +} + +windowrule { + name = nextcloud + min_size = 1 1 + stay_focused = on + float = on + match:class = ^(com.nextcloud.desktopclient.nextcloud)$ +} + +windowrule { + name = dialogs_floating + float = on + match:title = ^((Über|About|Öffnen|org.freedesktop.impl.portal.desktop.kde).*)$ +} + +windowrule { + name = dialogs_focused + stay_focused = on + match:title = ^((Über|About|Öffnen|Neuen Ordner erstellen|Datei überschreiben|Create New Folder|org.freedesktop.impl.portal).*)$ +} + +windowrule { + name = kwallet + float = on + stay_focused = on + match:class = ^((org.kde.kwalletd6|org.kde.ksecretd|org.kde.polkit-kde-authentication-agent-1).*)$ +} + +windowrule { + name = game_launchers + float = on + match:title = ^(.*)auncher$ +} + +windowrule { + name = heroic + stay_focused = on + match:class = negative:heroic + match:title = ^(.*)Launcher$ +} + # indicate windows with special attention -windowrulev2 = bordercolor 0xff$berror 0xff$black 30deg, initialTitle:^(upgrayyedd)$ +windowrule { + name = upgrayyedd + border_color = 0xff$berror 0xff$black 30deg + match:initial_title = ^(upgrayyedd)$ +} # handle windows tray items (xembedsniproxy) # dirty: can't match it since class+title are empty @@ -44,117 +87,157 @@ windowrulev2 = bordercolor 0xff$berror 0xff$black 30deg, initialTitle:^(upgrayye # windowrule = opacity 0, title:^()$, class:^()$ # windowrule = noblur, title:^()$, class:^()$ -# handle gimp (omg) -windowrule = workspace 5, class:^(gimp)$ -windowrule = float, class:^(gimp)$ -windowrule = tile, class:^(gimp)$, title:^(.*GIMP)$ - -# handle krita -windowrule = workspace 5, class:^(krita)$ - -# handle Softmaker Office -windowrule = workspace 7, class:^(pm|tm|pr)$ - -# handle browsers -windowrule = tag +neverdim, class:^(org.qutebrowser.*)$ -windowrule = tag +neverdim, class:^(Microsoft-edge.*)$ -windowrule = tag +neverdim, class:^(firefox.*)$ -windowrule = workspace 1, class:^(firefox.*)$ -windowrule = group barred, class:^(firefox.*)$, title:^(Mozilla Firefox)$ -windowrule = workspace 1, class:^(org.qutebrowser.*)$ -windowrule = group barred, class:^(org.qutebrowser.*)$ +windowrule { + name = browsers + tag = +neverdim + workspace = 1 + group = deny + match:class = ^(firefox|firefox-bin|org.qutebrowser.*|Microsoft-edge.*|qutebrowser)$ +} + +windowrule { + name = workspace3 + pseudo = on + no_initial_focus = on + workspace = 3 + match:class = ^(Threema.*|discord.*)$ +} + +windowrule { + name = workspace4 + workspace = 4 + match:class = ^((deezer|ncmpcpp|spotify|ardour).*)$ +} + +windowrule { + name = workspace5 + workspace = 5 + match:class = ^(gimp|krita)$ +} + +windowrule { + name = workspace6 + workspace = 6 + match:initial_class = ^(steam|heroic)$ +} + +windowrule { + name = workspace7 + workspace = 7 + match:class = ^(pm|tm|pr|thunderbird|thunderbird-bin)$ +} # handle video PiPs -windowrule = float, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = move onscreen 100%-w-10 52, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = size 800 450, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = plugin:hyprbars:nobar, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = noinitialfocus, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = group deny, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = pin, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = noborder, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ -windowrule = content video, class:^(firefox.*)$, initialTitle:^(Bild-im-Bild|Picture-in-Picture)$ +windowrule { + name = windowrule-26 + float = on + move = ((monitor_w-window_w)-10) (42) + size = 800 450 + no_initial_focus = on + group = deny + pin = on + border_size = 0 + content = video + tag = +neverdim + hyprbars:no_bar = 1 + match:class = ^(firefox.*)$ + match:initial_title = ^(Bild-im-Bild|Picture-in-Picture)$ +} # handle terminal(s/-apps) -windowrule = maxsize 1698 1374, initialClass:^(foot|footclient)$ -windowrule = float, class:^(popup)$ -windowrule = float, class:^(clipse)$ -windowrule = plugin:hyprbars:nobar, class:^(clipse)$ -windowrule = float, stayfocused, center, opacity 1.0 override, class:^(kakpopup)$ - -# handle music player clients -windowrule = pseudo, class:^(ncmpcpp)$ -windowrule = workspace 4, class:^(ncmpcpp)$ -windowrule = noinitialfocus, class:^(ncmpcpp)$ -windowrule = workspace 4, class:^(deezer-nativefier.*)$ - -# handle other clients -windowrule = float, class:^(openrgb)$ -windowrule = float, class:^(nwg-look)$ -windowrule = float, class:^(alsa-scarlett-gui)$ -windowrule = float, class:^(lstopo)$ -windowrule = float, class:^(org.corectrl.CoreCtrl)$ -windowrule = float, initialTitle:^(LACT)$ -windowrule = float, class:^(lutris)$ -windowrule = workspace 7, class:^(thunderbird|thunderbird-bin)$ -windowrule = tag +neverdim, class:^(Gkrellm)$ - -windowrule = float, class:^(pavucontrol.*)$ -windowrule = maxsize 600 800, class:^(pavucontrol.*)$ - -windowrule = pseudo, class:^(Threema.*)$ -windowrule = noinitialfocus, class:^(Threema.*)$ -windowrule = workspace 3, class:^(Threema.*)$ - -windowrule = pseudo, class:^(discord.*)$ -windowrule = noinitialfocus, class:^(discord.*)$ -windowrule = workspace 3, class:^(discord.*)$ - -windowrule = float, class:^(blueman-manager.*)$ -windowrule = float, class:^(org.pulseaudio.pavucontrol.*)$ +# windowrule { +# name = wsize_limit +# match:class = ^(foot|footclient)$ +# } + +windowrule { + name = popup_class + float = on + match:class = ^(popup)$ +} + +windowrule { + name = kakpopup + float = 1 + stay_focused = 1 + opacity = 1.0 override + move = ((monitor_w-window_w)-10) ((monitor_h-window_h)-10) + match:class = ^(kakpopup)$ +} # handle 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, class:^(org.freedesktop.impl.portal.desktop.kde)$ -windowrule = stayfocused, class:^(org.freedesktop.impl.portal.desktop.kde)$ - -# handle game launchers -$GAMELAUNCHERS = ^(steam|heroic)$ - -windowrule = workspace 6, initialClass:$GAMELAUNCHERS -windowrule = float, initialclass:^(steam)$, title:^(Freundesliste|Friendlist)$ -windowrule = float, initialClass:^(steam)$, title:negative:^()$ -windowrule = size 300 800, initialclass:^(steam)$, title:^(Freundesliste|Friendlist)$ -windowrule = move onscreen 100%-w-10 25%, initialclass:^(steam)$, title:^(Freundesliste|Friendlist)$ -windowrule = minsize 1 1, initialClass:^(steam)$, title:^()$ -windowrule = plugin:hyprbars:nobar,class:^(steam)$ +windowrule { + name = windowrule-49 + no_anim = on + no_initial_focus = on + decorate = off + no_shadow = on + group = deny + match:class = ^(ueberzugpp.*)$ +} + +windowrule { + name = steam_general + float = on + match:initial_class = ^(steam)$ + match:title = negative:^()$ + rounding = 3 +} + +windowrule { + name = steam_artifacts + min_size = 1 1 + match:initial_class = ^(steam)$ + match:title = ^()$ +} + +windowrule { + name = steam_friendlist + match:initial_class = ^(steam)$ + match:title = ^(Freundesliste|Friendlist)$ + float = on + size = 300 800 + move = ((monitor_w*1)-window_w-10) ((monitor_h*0.25)) +} # handle wine/proton games $GAMES = ^(steam_app_.*|steam_proton|streaming_client|gamescope)$ -windowrule = tag +game, initialClass:$GAMES -windowrule = content game, tag:game +windowrule { + name = windowrule-56 + tag = +game + match:initial_class = $GAMES +} + +windowrule { + name = windowrule-57 + content = game + float = 1 + no_dim = 1 + no_blur = 1 + rounding = 0 + no_shadow = 1 + no_anim = 1 + opaque = 1 + min_size = 1280 800 + move = ((monitor_w*0.5)) ((monitor_h*0.5)) + idle_inhibit = always + fullscreen = 2 + match:tag = game +} # handle TAGS (always handle tags last) -windowrule = nodim 1, tag:neverdim - -windowrule = float, tag:game -windowrule = nodim 1, tag:game -windowrule = noblur 1, tag:game -windowrule = norounding 1, tag:game -windowrule = noshadow 1, tag:game -windowrule = noanim 1, tag:game -windowrule = opaque 1, tag:game -windowrule = minsize 1280 800, tag:game -windowrule = move 50% 50%, tag:game -windowrule = plugin:hyprbars:nobar, tag:game -windowrule = idleinhibit always, tag:game -windowrule = fullscreen, tag:game -windowrule = fullscreen, initialTitle:^(vkcube)$ +windowrule { + name = neverdim + no_dim = 1 + match:tag = neverdim +} + +windowrule { + name = windowrule-60 + fullscreen = on + match:initial_title = ^(vkcube)$ +} + # windowrule = immediate, tag:game #experimental + diff --git a/dot-config/hypr/fragments/workspacerules.conf b/dot-config/hypr/fragments/workspacerules.conf index 8717c10c..23685f03 100644 --- a/dot-config/hypr/fragments/workspacerules.conf +++ b/dot-config/hypr/fragments/workspacerules.conf @@ -1,4 +1,7 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ # workspace rules #example: on-created-empty: exec, something" diff --git a/dot-config/hypr/hypridle.conf b/dot-config/hypr/hypridle.conf index d0829dcc..22f2f84b 100644 --- a/dot-config/hypr/hypridle.conf +++ b/dot-config/hypr/hypridle.conf @@ -1,3 +1,8 @@ +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + general { lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. before_sleep_cmd = loginctl lock-session # lock before suspend. diff --git a/dot-config/hypr/hyprland.conf b/dot-config/hypr/hyprland.conf index 0b1099ce..9cc5a824 100644 --- a/dot-config/hypr/hyprland.conf +++ b/dot-config/hypr/hyprland.conf @@ -1,11 +1,9 @@ -# kak: filetype=conf:tabstop=4:indentwidth=4:ai +# kak: filetype=conf:tabstop=4:indentwidth=4 # ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ # ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ -# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀i +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ # compiled plugins reside in /var/cache/hyprpm/[username]/ - -# colorscheme integration -source=./matugen-colors.conf +source = ~/.config/hypr/noctalia/noctalia-colors.conf # LG 34" monitorv2 { @@ -27,29 +25,23 @@ monitor=,preferred,auto-center-right,1,vrr,2 # Execute your favorite apps at launch # exec-once = ~/.config/hypr/scripts/startup.sh -exec-once = dbus-update-activation-environment --systemd --all +# exec-once = dbus-update-activation-environment --systemd --all exec-once = /usr/libexec/pam_kwallet_init -exec-once = openrc --user hyprland # AFTER pam_kwallet_init!!! exec-once = hyprpm reload -exec-once = env XDG_MENU_PREFIX=plasma- kbuildsycoca6 -exec-once = matugen -t scheme-content image /home/andy/Wallpapers/3440x1440\ comet.jpg -# exec-once = openrgb -p default +exec-once = openrc --user hyprland # AFTER pam_kwallet_init!!! +# exec-once = env XDG_MENU_PREFIX=plasma- kbuildsycoca6 +# exec-once = matugen -m light image /media/multimedia/Wallpapers/7680x2160-purpleclouds.webp # Unset variables on exit -exec-shutdown = lastwall save +# exec-shutdown = lastwall save exec-shutdown = openrc --user default -exec-shutdown = setenv WAYLAND_DISPLAY= XDG_SESSION_TYPE= XDG_CURRENT_DESKTOP= +# exec-shutdown = setenv WAYLAND_DISPLAY= XDG_SESSION_TYPE= XDG_CURRENT_DESKTOP= general { allow_tearing = 1 - border_size = 2 - gaps_in = 10 - gaps_out = 20 - # col.active_border = rgba(33ccffee) rgba(00ff99ee) 15deg #vanilla colors - col.active_border = 0xff$primary 0x88$primary 50deg - col.nogroup_border_active = 0xff$error 0x88$error 50deg - col.inactive_border = 0xff$background - col.nogroup_border = 0xff$background + border_size = 3 + gaps_in = 5 + gaps_out = 10 snap { enabled = 1 window_gap = 10 @@ -57,6 +49,8 @@ general { border_overlap = 0 } layout = dwindle + # col.nogroup_border = $surface + # col.nogroup_border_active = $secondary } dwindle { @@ -78,12 +72,11 @@ master { orientation = center slave_count_for_center_master = 2 center_master_fallback = left - inherit_fullscreen = 0 } decoration { - rounding = 5 - rounding_power = 2 + rounding = 8 + rounding_power = 3 dim_special = 0.3 dim_inactive = 1 dim_strength = 0.2 @@ -102,12 +95,11 @@ decoration { } shadow { enabled = 1 - range = 5 + range = 4 render_power = 3 ignore_window = 1 - color = 0xff$shadow - color_inactive = 0xff$shadow - offset = 0, 0 + color = 0xee1a1a1a + offset = 0.25, 0.25 scale = 1.0 } } @@ -135,7 +127,7 @@ input { device { name = razer-razer-basilisk-v3 - sensitivity = 0 + sensitivity = -0.0 accel_profile = custom 0.0965014878 0.000 0.110 0.220 0.330 0.440 0.550 0.697 0.862 1.028 1.194 1.359 1.525 1.690 1.856 2.022 2.187 2.392 2.597 2.802 3.05 3.335 3.650 3.901 4.153 4.404 4.656 4.908 5.159 5.411 5.662 5.914 6.165 6.417 6.668 6.920 7.171 7.423 7.675 7.926 8.178 8.429 8.681 8.932 9.184 9.435 9.687 9.938 10.190 10.442 10.961 } @@ -148,35 +140,25 @@ device { group { merge_groups_on_drag = 0 insert_after_current = 1 - col.border_active = 0xff$secondary 0x88$secondary 50deg - col.border_locked_active = 0xff$tertiary 0x88$tertiary 50deg - col.border_inactive = 0xff$background - col.border_locked_inactive = 0xff$background groupbar { enabled = 1 - font_family = ZedMono NFP - font_size = 16 - font_weight_active = bold - font_weight_inactive = bold - text_color = 0xff$on_secondary - text_color_locked_active = 0xff$on_tertiary - text_color_inactive = 0xaa$on_background - text_color_locked_inactive = 0xaa$on_background - height = 22 + font_family = IBM Plex Sans + font_size = 15 + font_weight_active = medium + font_weight_inactive = medium + # text_color = 0xffefefef + # text_color_inactive = 0xff6f6f6f + height = 21 scrolling = 1 - col.active = 0xcc$secondary 0x80$secondary 50deg - col.locked_active = 0xcc$tertiary 0x80$tertiary 50deg - col.inactive = 0xcc$background 0x80$background 50deg - col.locked_inactive = 0xff$background 0x80$background 50deg indicator_gap = 0 indicator_height = 0 render_titles = 1 priority = 3 round_only_edges = 1 gradients = 1 - gradient_rounding = 5 - gradient_rounding_power = 2 - gradient_round_only_edges = 1 + gradient_rounding = 12 + gradient_rounding_power = 3 + gradient_round_only_edges = 0 stacked = 0 gaps_in = 2 gaps_out = 2 @@ -196,9 +178,11 @@ misc { initial_workspace_tracking = 1 font_family = ZedMono NFP enable_swallow = 0 - swallow_regex = ^(Alacritty|kitty|foot|footclient|konsole)$ - size_limits_tiled = 1 + swallow_regex = class:^((Alacritty|kitty|foot|footclient|konsole).*)$ + swallow_exception_regex = class:^((popup).*$ + size_limits_tiled = 0 session_lock_xray = 1 + on_focus_under_fullscreen = 1 } binds { @@ -213,7 +197,7 @@ xwayland { render { direct_scanout = 1 - cm_fs_passthrough = 2 + cm_fs_passthrough = 1 cm_enabled = 1 send_content_type = 1 cm_auto_hdr = 0 @@ -234,7 +218,7 @@ ecosystem { } experimental { - xx_color_management_v4 = 1 + # xx_color_management_v4 = 1 } debug { @@ -243,21 +227,20 @@ debug { plugin { hyprbars { - bar_text_font = ZedMono NFP - bar_text_size = 12 - bar_height = 24 - bar_color = 0xff$surface - col.text = 0xff$on_surface + bar_text_font = IBM Plex Sans + bar_text_size = 11 + bar_height = 21 + bar_color = rgb(101010) + col.text = rgb(efefef) bar_part_of_window = 1 bar_precedence_over_border = 1 #NOTE: hyprbars-button = color, size, icon, on-click - hyprbars-button = 0xaa$red, 18, 󰖭, hyprctl dispatch killactive - hyprbars-button = 0xaa$yellow, 18, 󰁌, hyprctl dispatch fullscreen 1 - hyprbars-button = 0xaa$green, 18, , hyprctl dispatch movetoworkspacesilent special:min + hyprbars-button = $error, 18, 󰖭, hyprctl dispatch killactive + hyprbars-button = $tertiary, 18, 󰁌, hyprctl dispatch fullscreen 1 + hyprbars-button = $secondary, 18, , hyprctl dispatch movetoworkspacesilent special:min } } - source=./fragments/animations.conf source=./fragments/env.conf source=./fragments/permissions.conf diff --git a/dot-config/hypr/hyprlauncher.conf b/dot-config/hypr/hyprlauncher.conf index cc1d2f9a..e29bbf94 100644 --- a/dot-config/hypr/hyprlauncher.conf +++ b/dot-config/hypr/hyprlauncher.conf @@ -1,3 +1,8 @@ +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + finders { default_finder = desktop # desktop_launch_prefix = diff --git a/dot-config/hypr/hyprlock.conf b/dot-config/hypr/hyprlock.conf index 664bcac0..3cdeb0ab 100644 --- a/dot-config/hypr/hyprlock.conf +++ b/dot-config/hypr/hyprlock.conf @@ -1,4 +1,9 @@ -source=./matugen-colors.conf +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + +source=./noctalia/noctalia-colors.conf $font = ZedMono NFP @@ -13,8 +18,7 @@ animations { background { monitor = - # path = ~/Bilder/Wallpapers-simple/atmosphere.png - color = 0xee$background + color = rgba(000000a1) blur_passes = 3 blur_size = 7 noise = 0.117 @@ -25,11 +29,11 @@ background { } image { - path = /home/andy/Bilder/avatar.jpg + path = /media/universal/Avatare/2025.jpg size = 200 rounding = -1 # negative values mean circle border_size = 4 - border_color = 0xff$on_background + border_color = rgb(101010) rotate = 0 reload_time = -1 # seconds between reloading, 0 to reload with SIGUSR2 reload_cmd = # command to get new path. if empty, old path will be used. don't run "follow" commands like tail -F @@ -43,10 +47,10 @@ image { shape { size = 300, 20 - color = 0xff$secondary + color = $secondary rounding = 8 border_size = 2 - border_color = 0xff$outline_variant + border_color = rgb(101010) xray = false shadow_passes = 3 shadow_size = 8 @@ -56,19 +60,49 @@ shape { zindex = 0 } +# load average +shape { + size = 300, 20 + color = $tertiary + rounding = 8 + border_size = 2 + border_color = rgb(101010) + xray = false + shadow_passes = 3 + shadow_size = 8 + position = -100, -50 + halign = center + valign = center + zindex = 0 +} + label { - text = $TIME + text = cmd[update:1000] echo "load avg:$(uptime | cut -f5 -d':') " text_align = right - font_size = 64 + font_size = 15 font_family = $font - color = 0xff$on_background + color = $tertiary - position = 0, 360 + position = 10, -5 + halign = left + valign = top + zindex = 10 +} + +# input method +shape { + size = 300, 20 + color = $secondary + rounding = 8 + border_size = 2 + border_color = rgb(101010) + xray = false + shadow_passes = 3 + shadow_size = 8 + position = 0, 333 halign = center valign = center - shadow_passes = 3 - shadow_size = 4 - zindex = 10 + zindex = 0 } label { @@ -76,7 +110,7 @@ label { text_align = right font_size = 15 font_family = $font - color = 0xff$on_background + color = $tertiary position = -10, -5 halign = right @@ -84,16 +118,19 @@ label { zindex = 10 } +# time label { - text = cmd[update:1000] echo "load avg:$(uptime | cut -f5 -d':') " + text = $TIME text_align = right - font_size = 15 + font_size = 64 font_family = $font - color = 0xff$on_background + color = rgb(efefef) - position = 10, -5 - halign = left - valign = top + position = 0, 360 + halign = center + valign = center + shadow_passes = 3 + shadow_size = 4 zindex = 10 } @@ -105,16 +142,16 @@ input-field { dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0 dots_center = false dots_rounding = -1 # -1 default circle, -2 follow input-field rounding - outer_color = 0xff$outline - inner_color = 0xff$surface - font_color = 0xff$on_surface + outer_color = rgb(000000) + inner_color = rgb(efefef) + font_color = rgb(000000) fade_on_empty = true fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered. placeholder_text = Password required... # Text rendered in the input box when it's empty. hide_input = false rounding = -1 # -1 means complete rounding (circle/oval) - check_color = 0xff$primary - fail_color = 0xff$error # if authentication failed, changes outer_color and fail message color + check_color = $secondary + fail_color = $error # if authentication failed, changes outer_color and fail message color fail_text = $FAIL ($ATTEMPTS) # can be set to empty fail_transition = 300 # transition time in ms between normal outer_color and fail_color capslock_color = -1 diff --git a/dot-config/hypr/hyprpaper.conf b/dot-config/hypr/hyprpaper.conf index 46af24d7..f89f9836 100644 --- a/dot-config/hypr/hyprpaper.conf +++ b/dot-config/hypr/hyprpaper.conf @@ -1,3 +1,8 @@ +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + preload = ~/Bilder/Wallpapers-simple/beach.png preload = ~/Bilder/Wallpapers-simple/pulppixel22.png preload = ~/Bilder/Wallpapers-simple/WP.jpg diff --git a/dot-config/hypr/hyprqt6engine.conf b/dot-config/hypr/hyprqt6engine.conf index 2681f7a1..6ab5b8af 100644 --- a/dot-config/hypr/hyprqt6engine.conf +++ b/dot-config/hypr/hyprqt6engine.conf @@ -1,9 +1,15 @@ +# kak: filetype=conf:tabstop=4:indentwidth=4 +# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀ +# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█ +# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀ + theme { + color_scheme = style = Breeze - font_fixed = monospace - font_fixed_size = 14 - font = Sans Serif - font_size = 14 + font_fixed = BlexMono Nerd Font Propo + font_fixed_size = 11 + font = IBM Plex Sans + font_size = 11 icon_theme = Breeze Dark } diff --git a/dot-config/hypr/noctalia/noctalia-colors.conf b/dot-config/hypr/noctalia/noctalia-colors.conf new file mode 100644 index 00000000..e344883f --- /dev/null +++ b/dot-config/hypr/noctalia/noctalia-colors.conf @@ -0,0 +1,37 @@ +# test +$primary = rgb(A7C080) +$surface = rgb(232A2E) +$secondary = rgb(D3C6AA) +$error = rgb(E67E80) +$tertiary = rgb(9DA9A0) +$surface_lowest = rgb(232a2e) +$on_surface = rgb(ffffff) +$on_primary = rgb(e6e1e5) + +general { + col.active_border = $primary + col.inactive_border = $surface + col.nogroup_border = $surface + col.nogroup_border_active = $secondary +} + +group { + col.border_active = $primary + col.border_inactive = $surface_lowest + col.border_locked_active = $secondary + col.border_locked_inactive = $surface_lowest + groupbar { + col.active = $primary + col.inactive = $surface + col.locked_active = $secondary + col.locked_inactive = $surface + text_color = $surface + text_color_inactive = $on_surface + } +} +plugin { + hyprbars { + bar_color = $primary + } +} + diff --git a/dot-config/hypr/scripts/gamemode.sh b/dot-config/hypr/scripts/gamemode.sh index e023d521..b5b7b940 100755 --- a/dot-config/hypr/scripts/gamemode.sh +++ b/dot-config/hypr/scripts/gamemode.sh @@ -13,9 +13,11 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then keyword group:groupbar:rounding 0;\ keyword input:force_no_accel 1;\ keyword input:follow mouse 0;" - sunsetr p gamemode + # sunsetr p gamemode + echo on > "$HOME/.cache/hyprgamemode" exit fi -sunsetr p default +# sunsetr p default +echo "" > "$HOME/.cache/hyprgamemode" hyprctl reload diff --git a/dot-config/hypr/scripts/grimblast b/dot-config/hypr/scripts/grimblast index 27c37e12..61af30bc 100755 --- a/dot-config/hypr/scripts/grimblast +++ b/dot-config/hypr/scripts/grimblast @@ -47,7 +47,7 @@ env_editor_confirm() { echo "GRIMBLAST_EDITOR is set. Continuing..." else echo "GRIMBLAST_EDITOR is not set. Defaulting to gimp" - GRIMBLAST_EDITOR=gimp + GRIMBLAST_EDITOR="/bin/satty -f" fi } -- 2.52.0