feat: add hyprland sound system with event-triggered audio feedback;

feat: implement new hyprland plugins (hyprfocus, hyprbars, dynamic-cursors);
refactor: reorganize hyprland autostart with delay staging and plugin configuration;
feat: add notification urgency-based sound system to swaync;
feat: enhance waybar with battery module, mpd controls, and dock bar;
refactor: update waybar taskbar with active window indicators and sorting;
feat: add hyprland shutdown sound and login audio greeting;
fix: adjust cava sleep timer and mpd sticker database configuration;
feat: update rmpc keybindings for improved playlist management;
fix: modify rofi keybindings for better navigation;
chore: add zsh aliases and misspell corrections;
refactor: update styling across swaync, waybar, and hyprland with new border radii and accent colors.
This commit is contained in:
2025-12-29 20:47:57 +03:00
parent b453f9efd7
commit f30e7d0085
36 changed files with 387 additions and 129 deletions

View File

@@ -25,37 +25,32 @@ $privateBrowser = env GTK_THEME=Adwaita:light zen-browser --private-window
$notificationCenter = pkill rofi & swaync-client -t -sw || notify-send --hint int:transient:1 "Error SwayNC is down"
$mpdpass = kapuchinamusica
$startDelay = sleep 2
#################
### AUTOSTART ###
#################
exec = sh -c '[[ $(cat "$HOME/.config/waybar/goal.txt") != "." ]] && swaync-client -C && notify-send -u critical -i "$HOME/Pictures/Fetch/atheism_paint.png" "Reminder" "$(cat $HOME/.config/waybar/goal.txt)"'
exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:
# Le essential hyprland crap
# exec-once = hyprpaper
exec-once = sh -c '[[ $(cat "$HOME/.config/waybar/goal.txt") != "." ]] && swaync-client -C && notify-send -u critical -i "$HOME/Pictures/Fetch/atheism_paint.png" "Reminder" "$(cat $HOME/.config/waybar/goal.txt)"'
exec-once = swww-daemon
exec-once = ~/.config/hypr/scripts/autofreeze_swww.sh
exec-once = wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 50% && play -v 0.7 ~/.config/hypr/sound/login.ogg
exec-once = ~/.config/waybar/run.sh
exec-once = swaync
exec-once = hypridle
exec-once = hyprsunset
exec-once = eww daemon
exec-once = mullvad-vpn
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = ~/.config/hypr/scripts/autofreezer.sh
exec-once = ~/.config/fastfetch/scripts/fetch_update_count.sh
exec-once = copyq --start-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = thunar --daemon
exec-once = touch /tmp/toggle_ssocks
exec-once = ~/.config/hypr/scripts/toggle_proxy.sh
exec-once = nextcloud --background &
exec-once = [workspace 8 silent] AyuGram
exec-once = $startDelay && hypridle
exec-once = $startDelay && hyprsunset
exec-once = $startDelay && /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = $startDelay && thunar --daemon
exec-once = $startDelay && [workspace 8 silent] AyuGram
exec-once = $startDelay && swaync
exec-once = $startDelay && mullvad-vpn
exec-once = $startDelay && touch /tmp/toggle_ssocks
exec-once = $startDelay && ~/.config/hypr/scripts/autofreeze_swww.sh
exec-once = $startDelay && ~/.config/fastfetch/scripts/fetch_update_count.sh
exec-once = $startDelay && ~/.config/hypr/scripts/toggle_proxy.sh
exec-once = $startDelay && ~/.config/hypr/scripts/sounds.sh
exec-once = $startDelay && ~/.config/hypr/scripts/random_wallpaper.sh
exec-once = $startDelay && ~/.config/hypr/scripts/autofreezer.sh
exec-shutdown = play -v 0.7 $HOME/Templates/Sounds/teleport.mp3
#############################
### ENVIRONMENT VARIABLES ###
@@ -92,8 +87,8 @@ env = HYPRCURSOR_SIZE,24
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 12.5
gaps_out = 12
gaps_in = 15
gaps_out = 25
border_size = 1
@@ -115,12 +110,11 @@ general {
snap {
enabled = true
}
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
rounding = 15
rounding_power = 2
border_part_of_window = 0
@@ -164,7 +158,7 @@ group {
col.active = rgba(F8859Eff)
col.inactive = rgba(32323264) rgba(32323264) 45deg
gaps_in = 5
gaps_out = 5
gaps_out = 2
}
}
@@ -246,16 +240,22 @@ master {
new_status = master
}
render {
direct_scanout = 1
}
# 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 = true # If true disables the random hyprland logo / anime girl background. :(
force_default_wallpaper = 1
disable_hyprland_logo = true
vfr = true
animate_manual_resizes = true
enable_swallow = true
swallow_regex = ^(kitty)$
middle_click_paste = false
enable_anr_dialog = false
render_unfocused_fps = 1
size_limits_tiled = true
}
##############
@@ -303,7 +303,8 @@ gestures {
# Workspaces
gesture = 4, horizontal, scale: 2, workspace
workspace_swipe_forever = true
workspace_swipe_direction_lock = false
workspace_swipe_touch = true
gesture = 3, vertical, dispatcher, exec, pkill rofi || $menu
# Notification center
@@ -723,7 +724,7 @@ workspace = 9, gapsin:15, gapsout:40
###############
### PLUGINS ###
###############
# exec-once = hyprpm reload -n
exec-once = hyprpm reload
# # Easymotion
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
@@ -731,15 +732,56 @@ workspace = 9, gapsin:15, gapsout:40
# Close unfocused
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
# plugin {
#
# hyprfocus {
# animation = hyprfocusIn, 1, 3, quick
# animation = hyprfocusOut, 1, 3, quick
# fade_opacity = 0.94
# mode = flash
# }
#
plugin {
hyprfocus {
animation = hyprfocusIn, 1, 3, quick
animation = hyprfocusOut, 1, 3, quick
fade_opacity = 0.94
mode = flash
}
hyprbars {
enabled = true
bar_height = 18
bar_color = rgba(1c1c1cce)
bar_title_enabled = false
bar_buttons_alignment = right
bar_blur = true
icon_on_hover = true
bar_part_of_window = false
bar_precedence_over_border = true
bar_text_font = "Iosevka Nerd Font Propo"
bar_text_size = 10
hyprbars-button = rgba(ff4040ff), 12, X, hyprctl dispatch killactive
hyprbars-button = rgba(11ee11ff), 12, F, hyprctl dispatch togglefloating && hyprctl dispatch resizeactive exact 1280 700 && hyprctl dispatch centerwindow
hyprbars-button = rgba(eeee11ff), 12, Z, hyprctl dispatch tagwindow zawarudo
inactive_button_color = rgba(D583995c)
on_double_click =
windowrule = plugin:hyprbars:bar_color rgb(261B1E), class:^(com.ayugram.desktop)
windowrule = plugin:hyprbars:bar_color rgb(121214), class:^(vesktop)
windowrule = plugin:hyprbars:bar_color rgb(131313), class:^(zen)
windowrule = plugin:hyprbars:bar_color rgb(F1F3F4), class:^(draw.io)
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), class:^(thunar)
windowrule = plugin:hyprbars:bar_color rgb(1C1C1C), floating:1
}
hyprexpo {
}
dynamic-cursors {
shake {
threshold = 3
limit = 15
timeout = 1
effects = true
nearest = true
}
}
# easymotion {
# #font size of the text
# textsize=72
@@ -791,7 +833,7 @@ workspace = 9, gapsin:15, gapsout:40
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
# only_special = true
# }
# }
}
debug {
disable_logs = false