-# kak: filetype=conf:tabstop=4:indentwidth=4:ai
+# kak: filetype=conf:tabstop=4:indentwidth=4
+# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
+# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
+# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀
animations {
enabled = yes
-# 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
# 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
-# kak: filetype=conf:tabstop=4:indentwidth=4:ai
+# kak: filetype=conf:tabstop=4:indentwidth=4
+# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
+# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
+# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀
# modifiers
# ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
# 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
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
# 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
# ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
-# 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
--- /dev/null
+# 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
+ }
+}
+
-# 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
-# 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
# 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
+
-# kak: filetype=conf:tabstop=4:indentwidth=4:ai
+# kak: filetype=conf:tabstop=4:indentwidth=4
+# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
+# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
+# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀
# workspace rules
#example: on-created-empty: exec, something"
+# 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.
-# 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 {
# 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
border_overlap = 0
}
layout = dwindle
+ # col.nogroup_border = $surface
+ # col.nogroup_border_active = $secondary
}
dwindle {
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
}
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
}
}
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
}
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
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 {
render {
direct_scanout = 1
- cm_fs_passthrough = 2
+ cm_fs_passthrough = 1
cm_enabled = 1
send_content_type = 1
cm_auto_hdr = 0
}
experimental {
- xx_color_management_v4 = 1
+ # xx_color_management_v4 = 1
}
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
+# kak: filetype=conf:tabstop=4:indentwidth=4
+# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
+# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
+# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀
+
finders {
default_finder = desktop
# desktop_launch_prefix =
-source=./matugen-colors.conf
+# kak: filetype=conf:tabstop=4:indentwidth=4
+# ░█░█░█░█░█▀█░█▀▄░█░░░█▀█░█▀█░█▀▄░░░█▀▀░█▀█░█▀█░█▀▀░▀█▀░█▀▀
+# ░█▀█░░█░░█▀▀░█▀▄░█░░░█▀█░█░█░█░█░░░█░░░█░█░█░█░█▀▀░░█░░█░█
+# ░▀░▀░░▀░░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀░░░░▀▀▀░▀▀▀░▀░▀░▀░░░▀▀▀░▀▀▀
+
+source=./noctalia/noctalia-colors.conf
$font = ZedMono NFP
background {
monitor =
- # path = ~/Bilder/Wallpapers-simple/atmosphere.png
- color = 0xee$background
+ color = rgba(000000a1)
blur_passes = 3
blur_size = 7
noise = 0.117
}
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
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
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 {
text_align = right
font_size = 15
font_family = $font
- color = 0xff$on_background
+ color = $tertiary
position = -10, -5
halign = right
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
}
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 = <i>Password required...</i> # 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 = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
fail_transition = 300 # transition time in ms between normal outer_color and fail_color
capslock_color = -1
+# 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
+# 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
}
--- /dev/null
+# 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
+ }
+}
+
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
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
}