๐Ÿ”ง Where my dotfiles lives in harmony and peace, most of the time

๐ŸŽจ Enhance Hyprland configuration with idle management and visual improvements

- Add hypridle support for automatic screen locking
- Configure hyprshot for improved screenshot functionality
- Update window animations to use popin effect
- Enhance hyprlock with Catppuccin Frappe theming
- Add wallpaper symlink management in Makefile
- Include audio and clipboard management packages

+90 -32
+2
Makefile
··· 70 70 hypr: 71 71 @ mkdir -p "$(HOME)/.config/hypr" "$(HOME)/.config/waybar" "$(HOME)/.config/mako" "$(HOME)/.config/fuzzel" 72 72 @ ${DOTFILES}/hypr/setup.sh 73 + @ ln -sf $(DOTFILES)/hypr/wallpaper.png $(HOME)/Pictures/wallpaper.png 73 74 @ ln -sf $(DOTFILES)/hypr/frappe.conf $(HOME)/.config/hypr/frappe.conf 74 75 @ ln -sf $(DOTFILES)/hypr/hyprland.conf $(HOME)/.config/hypr/hyprland.conf 75 76 @ ln -sf $(DOTFILES)/hypr/hyprpaper.conf $(HOME)/.config/hypr/hyprpaper.conf 77 + @ ln -sf $(DOTFILES)/hypr/hypridle.conf $(HOME)/.config/hypr/hypridle.conf 76 78 @ ln -sf $(DOTFILES)/hypr/hyprlock.conf $(HOME)/.config/hypr/hyprlock.conf 77 79 @ ln -sf $(DOTFILES)/hypr/waybar/config.jsonc $(HOME)/.config/waybar/config 78 80 @ ln -sf $(DOTFILES)/hypr/waybar/style.css $(HOME)/.config/waybar/style.css
+14
hypr/hypridle.conf
··· 1 + general { 2 + lock_cmd = notify-send "lock!" # dbus/sysd lock command (loginctl lock-session) 3 + unlock_cmd = notify-send "unlock!" # same as above, but unlock 4 + before_sleep_cmd = notify-send "Zzz" # command ran before sleep 5 + after_sleep_cmd = notify-send "Awake!" # command ran after sleep 6 + ignore_dbus_inhibit = false # whether to ignore dbus-sent idle-inhibit requests (used by e.g. firefox or steam) 7 + ignore_systemd_inhibit = false # whether to ignore systemd-inhibit --what=idle inhibitors 8 + } 9 + 10 + listener { 11 + timeout = 500 # in seconds 12 + on-timeout = notify-send "You are idle!" # command to run when timeout has passed 13 + on-resume = notify-send "Welcome back!" # command to run when activity is detected after timeout has fired. 14 + }
+18 -12
hypr/hyprland.conf
··· 4 4 source=~/.config/hypr/monitor.conf 5 5 6 6 # Autostart Applications 7 + exec-once = uwsm app -- hypridle 7 8 exec-once = uwsm app -- hyprpaper 8 9 exec-once = uwsm app -- waybar 9 10 exec-once = uwsm app -- mako ··· 23 24 $menu = fuzzel 24 25 25 26 # Environment Variables 26 - # env = XDG_CURRENT_DESKTOP,Hyprland 27 - # env = XDG_SESSION_TYPE,wayland 28 - # env = XDG_SESSION_DESKTOP,Hyprland 27 + # env = EDITOR,nano 28 + # env = ELECTRON_OZONE_PLATFORM_HINT,wayland 29 29 # env = GDK_BACKEND,wayland 30 + # env = OZONE_PLATFORM,wayland 30 31 # env = QT_QPA_PLATFORM,wayland 31 32 # env = QT_QPA_PLATFORMTHEME,qt6ct 33 + # env = QT_STYLE_OVERRIDE,kvantum 32 34 # env = XCURSOR_SIZE,20 33 - # env = EDITOR,nano 34 - # env = ELECTRON_OZONE_PLATFORM_HINT,wayland 35 35 36 36 # Inputs - https://wiki.hyprland.org/Configuring/Variables/#input 37 37 input { ··· 69 69 70 70 # Decorations - https://wiki.hyprland.org/Configuring/Variables/ 71 71 decoration { 72 - rounding = 2 72 + rounding = 0 73 + 73 74 shadow { 74 75 enabled = false 75 76 } 77 + 76 78 blur { 77 79 enabled = false 78 80 } ··· 82 84 animations { 83 85 enabled = yes 84 86 85 - animation = windows, 1, 3, default, slide 87 + animation = windows, 1, 5, default, popin 86 88 animation = fade, 1, 5, default 87 89 animation = border, 1, 10, default 88 90 animation = borderangle, 1, 10, default ··· 132 134 bind = $mainMod, V, togglefloating, 133 135 bind = $mainMod, F, fullscreen, 134 136 bind = $mainMod, BackSpace, exec, uwsm app -- $menu 135 - bind = $mainMod, P, pseudo, # dwindle 136 - bind = $mainMod, J, togglesplit, # dwindle 137 + bind = $mainMod, P, pseudo, 138 + bind = $mainMod, J, togglesplit, 137 139 138 140 # Move focus with mainMod + arrow keys 139 141 bind = $mainMod, left, movefocus, l ··· 184 186 bindm = $mainMod, mouse:273, resizewindow 185 187 186 188 # Screenshots 187 - bind = SHIFT, Print, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png 188 - bind = $mainMod shift, p, exec, grim -g "$(slurp)" - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png 189 - bind = , Print, exec, grim - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshot-$(date +%F_%T).png 189 + bind = , PRINT, exec, hyprshot -m output 190 + bind = SHIFT, PRINT, exec, hyprshot -m region 191 + bind = $mainMod shift, p, exec, hyprshot -m region 192 + bind = CTRL, PRINT, exec, hyprshot -m window 190 193 191 194 # Open Code Projects 192 195 bind = $mainMod shift, BackSpace, exec, ls "$HOME/projects" | fuzzel -x 20 -d -I --prompt="๐Ÿ–ฅ๏ธ > " | xargs -I {} uwsm app -- code -n "$HOME/projects/{}" ··· 196 199 197 200 # Claude AI 198 201 bind = $mainMod SHIFT, A, exec, uwsm app -- brave --app=https://claude.ai/new 202 + 203 + # Open Notes 204 + bind = $mainMod SHIFT, n, exec, uwsm app -- code -n "$HOME/projects/notes" 199 205 200 206 # Emoji 201 207 bind = $mainMod SHIFT, E, exec, uwsm app -- bemoji -n
+38 -12
hypr/hyprlock.conf
··· 1 + # Import Catppuccin Frappe colors 2 + source = ~/.config/hypr/frappe.conf 3 + 1 4 background { 2 5 monitor = 3 6 path = screenshot 4 - # color = rgba(25, 20, 20, 1.0)L 5 - blur_passes = 2 7 + blur_passes = 3 8 + blur_size = 8 9 + noise = 0.0117 10 + contrast = 0.8916 11 + brightness = 0.8172 12 + vibrancy = 0.1696 13 + vibrancy_darkness = 0.0 6 14 } 7 15 8 16 input-field { 9 17 monitor = 10 - size = 20%, 5% 11 - outline_thickness = 3 12 - inner_color = rgba(0, 0, 0, 0.0) # no fill 13 - placeholder_text = 14 - 15 - outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg 16 - check_color=rgba(00ff99ee) rgba(ff6633ee) 120deg 17 - fail_color=rgba(ff6633ee) rgba(ff0066ee) 40deg 18 - 19 - # font_color = rgb(143, 143, 143) 18 + size = 250, 50 19 + outline_thickness = 2 20 + dots_size = 0.2 21 + dots_spacing = 0.15 22 + dots_center = true 23 + dots_rounding = -1 24 + outer_color = $blue 25 + inner_color = $surface0 26 + font_color = $text 20 27 fade_on_empty = false 28 + fade_timeout = 1000 29 + placeholder_text = <span foreground="##$overlay0Alpha">Enter Password...</span> 30 + hide_input = false 21 31 rounding = 15 32 + check_color = $green 33 + fail_color = $red 34 + fail_text = <span foreground="##$redAlpha">$FAIL</span> 35 + fail_transition = 300 22 36 23 37 position = 0, -20 24 38 halign = center 25 39 valign = center 26 40 } 41 + 42 + label { 43 + monitor = 44 + text = $TIME 45 + color = $text 46 + font_size = 70 47 + font_family = JetBrainsMono Nerd Font 48 + 49 + position = 0, 120 50 + halign = center 51 + valign = center 52 + }
+18 -8
hypr/setup.sh
··· 1 1 #!/usr/bin/env bash 2 2 3 3 packages=( 4 - hyprland 5 4 bemoji 5 + cliphist 6 6 fuzzel 7 - waybar 8 - mako 9 - hyprshot 7 + hypridle 8 + hyprland 9 + hyprland-qtutils 10 10 hyprlock 11 - hypridle 11 + hyprpaper 12 12 hyprpolkitagent 13 - hyprland-qtutils 13 + hyprshot 14 + mako 15 + pavucontrol 16 + pipewire 17 + pipewire-alsa 18 + pipewire-pulse 19 + playerctl 20 + waybar 21 + wireplumber 22 + wl-clip-persist 14 23 wl-clipboard 24 + xdg-desktop-portal-gtk 15 25 xdg-desktop-portal-hyprland 16 - xdg-desktop-portal-gtk 26 + xdg-utils 17 27 ) 18 28 19 29 # Install Hyprland and related packages 20 30 paru -S --needed --noconfirm "${packages[@]}" 21 31 22 - # Start Polkit agent for Hyprland 32 + # Start Polkit agent for Hyprland (https://wiki.hypr.land/Hypr-Ecosystem/hyprpolkitagent/) 23 33 systemctl --user enable --now hyprpolkitagent.service
hypr/wallpaper.png

This is a binary file and will not be displayed.