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:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -42,6 +42,7 @@ Thunar/renamerrc
|
|||||||
!xss-lock/
|
!xss-lock/
|
||||||
!zsh/
|
!zsh/
|
||||||
!zsh/aliases.sh
|
!zsh/aliases.sh
|
||||||
|
!zsh/misspell.sh
|
||||||
|
|
||||||
!bluetuith/**
|
!bluetuith/**
|
||||||
!bspwm/**
|
!bspwm/**
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ bar_width = 1
|
|||||||
|
|
||||||
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
|
||||||
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
|
||||||
; sleep_timer = 0
|
; sleep_timer = 5
|
||||||
|
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|||||||
@@ -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"
|
$notificationCenter = pkill rofi & swaync-client -t -sw || notify-send --hint int:transient:1 "Error SwayNC is down"
|
||||||
|
|
||||||
$mpdpass = kapuchinamusica
|
$mpdpass = kapuchinamusica
|
||||||
|
$startDelay = sleep 2
|
||||||
|
|
||||||
#################
|
#################
|
||||||
### AUTOSTART ###
|
### 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 = 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 = swww-daemon
|
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 = ~/.config/waybar/run.sh
|
||||||
exec-once = swaync
|
exec-once = $startDelay && hypridle
|
||||||
exec-once = hypridle
|
exec-once = $startDelay && hyprsunset
|
||||||
exec-once = hyprsunset
|
exec-once = $startDelay && /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||||
exec-once = eww daemon
|
exec-once = $startDelay && thunar --daemon
|
||||||
exec-once = mullvad-vpn
|
exec-once = $startDelay && [workspace 8 silent] AyuGram
|
||||||
exec-once = ~/.config/hypr/scripts/random_wallpaper.sh
|
exec-once = $startDelay && swaync
|
||||||
exec-once = ~/.config/hypr/scripts/autofreezer.sh
|
exec-once = $startDelay && mullvad-vpn
|
||||||
exec-once = ~/.config/fastfetch/scripts/fetch_update_count.sh
|
exec-once = $startDelay && touch /tmp/toggle_ssocks
|
||||||
exec-once = copyq --start-server
|
exec-once = $startDelay && ~/.config/hypr/scripts/autofreeze_swww.sh
|
||||||
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
exec-once = $startDelay && ~/.config/fastfetch/scripts/fetch_update_count.sh
|
||||||
exec-once = thunar --daemon
|
exec-once = $startDelay && ~/.config/hypr/scripts/toggle_proxy.sh
|
||||||
exec-once = touch /tmp/toggle_ssocks
|
exec-once = $startDelay && ~/.config/hypr/scripts/sounds.sh
|
||||||
exec-once = ~/.config/hypr/scripts/toggle_proxy.sh
|
exec-once = $startDelay && ~/.config/hypr/scripts/random_wallpaper.sh
|
||||||
exec-once = nextcloud --background &
|
exec-once = $startDelay && ~/.config/hypr/scripts/autofreezer.sh
|
||||||
exec-once = [workspace 8 silent] AyuGram
|
|
||||||
|
exec-shutdown = play -v 0.7 $HOME/Templates/Sounds/teleport.mp3
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
### ENVIRONMENT VARIABLES ###
|
### ENVIRONMENT VARIABLES ###
|
||||||
@@ -92,8 +87,8 @@ env = HYPRCURSOR_SIZE,24
|
|||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
general {
|
general {
|
||||||
gaps_in = 12.5
|
gaps_in = 15
|
||||||
gaps_out = 12
|
gaps_out = 25
|
||||||
|
|
||||||
border_size = 1
|
border_size = 1
|
||||||
|
|
||||||
@@ -115,12 +110,11 @@ general {
|
|||||||
snap {
|
snap {
|
||||||
enabled = true
|
enabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
decoration {
|
decoration {
|
||||||
rounding = 10
|
rounding = 15
|
||||||
rounding_power = 2
|
rounding_power = 2
|
||||||
border_part_of_window = 0
|
border_part_of_window = 0
|
||||||
|
|
||||||
@@ -164,7 +158,7 @@ group {
|
|||||||
col.active = rgba(F8859Eff)
|
col.active = rgba(F8859Eff)
|
||||||
col.inactive = rgba(32323264) rgba(32323264) 45deg
|
col.inactive = rgba(32323264) rgba(32323264) 45deg
|
||||||
gaps_in = 5
|
gaps_in = 5
|
||||||
gaps_out = 5
|
gaps_out = 2
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -246,16 +240,22 @@ master {
|
|||||||
new_status = master
|
new_status = master
|
||||||
}
|
}
|
||||||
|
|
||||||
|
render {
|
||||||
|
direct_scanout = 1
|
||||||
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
misc {
|
misc {
|
||||||
force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = 1
|
||||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
disable_hyprland_logo = true
|
||||||
vfr = true
|
vfr = true
|
||||||
animate_manual_resizes = true
|
animate_manual_resizes = true
|
||||||
enable_swallow = true
|
enable_swallow = true
|
||||||
swallow_regex = ^(kitty)$
|
swallow_regex = ^(kitty)$
|
||||||
middle_click_paste = false
|
middle_click_paste = false
|
||||||
enable_anr_dialog = false
|
enable_anr_dialog = false
|
||||||
|
render_unfocused_fps = 1
|
||||||
|
size_limits_tiled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
##############
|
##############
|
||||||
@@ -303,7 +303,8 @@ gestures {
|
|||||||
# Workspaces
|
# Workspaces
|
||||||
gesture = 4, horizontal, scale: 2, workspace
|
gesture = 4, horizontal, scale: 2, workspace
|
||||||
workspace_swipe_forever = true
|
workspace_swipe_forever = true
|
||||||
|
workspace_swipe_direction_lock = false
|
||||||
|
workspace_swipe_touch = true
|
||||||
gesture = 3, vertical, dispatcher, exec, pkill rofi || $menu
|
gesture = 3, vertical, dispatcher, exec, pkill rofi || $menu
|
||||||
|
|
||||||
# Notification center
|
# Notification center
|
||||||
@@ -723,7 +724,7 @@ workspace = 9, gapsin:15, gapsout:40
|
|||||||
###############
|
###############
|
||||||
### PLUGINS ###
|
### PLUGINS ###
|
||||||
###############
|
###############
|
||||||
# exec-once = hyprpm reload -n
|
exec-once = hyprpm reload
|
||||||
|
|
||||||
# # Easymotion
|
# # Easymotion
|
||||||
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
|
# bind = SUPER, x, easymotion, action:hyprctl dispatch focuswindow address:{}
|
||||||
@@ -731,15 +732,56 @@ workspace = 9, gapsin:15, gapsout:40
|
|||||||
# Close unfocused
|
# Close unfocused
|
||||||
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
|
# bind = $mainMod SHIFT, x, plugin:xtd:closeunfocused
|
||||||
|
|
||||||
# plugin {
|
plugin {
|
||||||
#
|
|
||||||
# hyprfocus {
|
hyprfocus {
|
||||||
# animation = hyprfocusIn, 1, 3, quick
|
animation = hyprfocusIn, 1, 3, quick
|
||||||
# animation = hyprfocusOut, 1, 3, quick
|
animation = hyprfocusOut, 1, 3, quick
|
||||||
# fade_opacity = 0.94
|
fade_opacity = 0.94
|
||||||
# mode = flash
|
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 {
|
# easymotion {
|
||||||
# #font size of the text
|
# #font size of the text
|
||||||
# textsize=72
|
# 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
|
# #if a monitor has a focused special workspace, only put easymotion labels on the windows in the special workspace
|
||||||
# only_special = true
|
# only_special = true
|
||||||
# }
|
# }
|
||||||
# }
|
}
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
disable_logs = false
|
disable_logs = false
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ if [ "$HYPRGAMEMODE" = 1 ] ; then
|
|||||||
if pgrep waybar > /dev/null; then
|
if pgrep waybar > /dev/null; then
|
||||||
pkill waybar
|
pkill waybar
|
||||||
# TODO: lite waybar version
|
# TODO: lite waybar version
|
||||||
waybar -c "$HOME/.config/waybar/config_top.jsonc" -s "$HOME/.config/waybar/style_top.css" &
|
$HOME/.config/waybar/run.sh
|
||||||
fi
|
fi
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if pgrep waybar > /dev/null; then
|
if pgrep waybar > /dev/null; then
|
||||||
pkill waybar
|
pkill waybar
|
||||||
waybar -c "$HOME/.config/waybar/config_top.jsonc" -s "$HOME/.config/waybar/style_top.css" &
|
$HOME/.config/waybar/run.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl reload
|
hyprctl reload
|
||||||
|
|||||||
150
hypr/scripts/sounds.sh
Executable file
150
hypr/scripts/sounds.sh
Executable file
@@ -0,0 +1,150 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
SOUND_DIR="$HOME/.config/hypr/sound"
|
||||||
|
PLAYER="play"
|
||||||
|
VOLUME="0.1"
|
||||||
|
|
||||||
|
declare -A SOUND_MAP=(
|
||||||
|
["workspace"]="futuristic-click.wav"
|
||||||
|
["activewindow"]="popup.wav"
|
||||||
|
["activelayout"]="popup.wav"
|
||||||
|
["fullscreen"]="fullscreen.wav"
|
||||||
|
["openwindow"]="open.mp3"
|
||||||
|
["closewindow"]="popup.wav"
|
||||||
|
["movewindow"]="popup.wav"
|
||||||
|
["changefloatingmode"]="float.wav"
|
||||||
|
)
|
||||||
|
|
||||||
|
declare -A EVENT_ENABLED=(
|
||||||
|
["workspace"]=1
|
||||||
|
["activewindow"]=1
|
||||||
|
["activelayout"]=0
|
||||||
|
["fullscreen"]=1
|
||||||
|
["openwindow"]=1
|
||||||
|
["closewindow"]=1
|
||||||
|
["movewindow"]=1
|
||||||
|
["changefloatingmode"]=1
|
||||||
|
)
|
||||||
|
|
||||||
|
declare -A EVENT_COOLDOWN=(
|
||||||
|
["activewindow"]=0.1
|
||||||
|
["movewindow"]=0.2
|
||||||
|
["changefloatingmode"]=0.3
|
||||||
|
)
|
||||||
|
|
||||||
|
DEBUG=1
|
||||||
|
declare -a SOUND_QUEUE=()
|
||||||
|
declare -A COOLDOWN_TIMERS=()
|
||||||
|
|
||||||
|
mkdir -p "$SOUND_DIR"
|
||||||
|
|
||||||
|
log() {
|
||||||
|
if [ $DEBUG -eq 1 ]; then
|
||||||
|
echo "[$(date '+%H:%M:%S')] $1" >&2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
play_sound() {
|
||||||
|
local event="$1"
|
||||||
|
local sound_file="$2"
|
||||||
|
local full_path="$SOUND_DIR/$sound_file"
|
||||||
|
|
||||||
|
if [ ! -f "$full_path" ]; then
|
||||||
|
log "Sound file not found: $full_path"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "Playing: $event -> $sound_file"
|
||||||
|
|
||||||
|
play -v $VOLUME "$full_path" &
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
handle_event() {
|
||||||
|
local raw_event="$1"
|
||||||
|
local event_type=""
|
||||||
|
local event_data=""
|
||||||
|
|
||||||
|
if [[ "$raw_event" == *">>"* ]]; then
|
||||||
|
event_type="${raw_event%%>>*}"
|
||||||
|
event_data="${raw_event#*>>}"
|
||||||
|
else
|
||||||
|
event_type="$raw_event"
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "Received event: $event_type (data: $event_data)"
|
||||||
|
|
||||||
|
case "$event_type" in
|
||||||
|
"workspace"*)
|
||||||
|
if [[ "$event_data" == *,* ]]; then
|
||||||
|
trigger_event "workspace" "$event_data"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"activelayout"*)
|
||||||
|
trigger_event "activelayout" "$event_data"
|
||||||
|
;;
|
||||||
|
"fullscreen"*)
|
||||||
|
trigger_event "fullscreen" "$event_data"
|
||||||
|
;;
|
||||||
|
"openwindow"*)
|
||||||
|
trigger_event "openwindow" "$event_data"
|
||||||
|
;;
|
||||||
|
"closewindow"*)
|
||||||
|
trigger_event "closewindow" "$event_data"
|
||||||
|
;;
|
||||||
|
"movewindow"*)
|
||||||
|
if [[ "$event_data" == *,*,* ]]; then
|
||||||
|
trigger_event "movewindow" "$event_data"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"changefloating"*)
|
||||||
|
trigger_event "changefloatingmode" "$event_data"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log "Unknown event: $event_type"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
trigger_event() {
|
||||||
|
local event="$1"
|
||||||
|
local data="$2"
|
||||||
|
|
||||||
|
if [ "${EVENT_ENABLED[$event]:-0}" -ne 1 ]; then
|
||||||
|
log "Event $event is disabled"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local sound_file="${SOUND_MAP[$event]}"
|
||||||
|
|
||||||
|
if [ -z "$sound_file" ]; then
|
||||||
|
log "No sound mapped for event: $event"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$event" = "changefloatingmode" ]; then
|
||||||
|
local state="${data#*,}"
|
||||||
|
if [ "$state" -eq 1 ]; then
|
||||||
|
sound_file="float.wav"
|
||||||
|
else
|
||||||
|
sound_file="tile.wav"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
play_sound "$event" "$sound_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Sound directory: $SOUND_DIR"
|
||||||
|
echo "Enabled events:"
|
||||||
|
for event in "${!EVENT_ENABLED[@]}"; do
|
||||||
|
if [ "${EVENT_ENABLED[$event]}" -eq 1 ]; then
|
||||||
|
echo " - $event: ${SOUND_MAP[$event]}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
socat - "UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock" | \
|
||||||
|
while read -r line; do
|
||||||
|
handle_event "$line"
|
||||||
|
done
|
||||||
BIN
hypr/sound/add.wav
Normal file
BIN
hypr/sound/add.wav
Normal file
Binary file not shown.
BIN
hypr/sound/change_workspace.wav
Normal file
BIN
hypr/sound/change_workspace.wav
Normal file
Binary file not shown.
BIN
hypr/sound/float.wav
Normal file
BIN
hypr/sound/float.wav
Normal file
Binary file not shown.
BIN
hypr/sound/fullscreen.wav
Normal file
BIN
hypr/sound/fullscreen.wav
Normal file
Binary file not shown.
BIN
hypr/sound/futuristic-click.mp3
Normal file
BIN
hypr/sound/futuristic-click.mp3
Normal file
Binary file not shown.
BIN
hypr/sound/futuristic-click.wav
Normal file
BIN
hypr/sound/futuristic-click.wav
Normal file
Binary file not shown.
BIN
hypr/sound/login.ogg
Normal file
BIN
hypr/sound/login.ogg
Normal file
Binary file not shown.
BIN
hypr/sound/open.mp3
Normal file
BIN
hypr/sound/open.mp3
Normal file
Binary file not shown.
BIN
hypr/sound/popup.wav
Normal file
BIN
hypr/sound/popup.wav
Normal file
Binary file not shown.
BIN
hypr/sound/remove.wav
Normal file
BIN
hypr/sound/remove.wav
Normal file
Binary file not shown.
BIN
hypr/sound/screenshot_notif.wav
Normal file
BIN
hypr/sound/screenshot_notif.wav
Normal file
Binary file not shown.
BIN
hypr/sound/tile.wav
Normal file
BIN
hypr/sound/tile.wav
Normal file
Binary file not shown.
BIN
hypr/sound/volume_notif.wav
Normal file
BIN
hypr/sound/volume_notif.wav
Normal file
Binary file not shown.
@@ -55,7 +55,7 @@ state_file "~/.mpd/state"
|
|||||||
# The location of the sticker database. This is a database which
|
# The location of the sticker database. This is a database which
|
||||||
# manages dynamic information attached to songs.
|
# manages dynamic information attached to songs.
|
||||||
#
|
#
|
||||||
#sticker_file "~/.mpd/sticker.sql"
|
sticker_file "~/.mpd/sticker.sql"
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,9 @@
|
|||||||
"<C-l>": PaneRight,
|
"<C-l>": PaneRight,
|
||||||
"<C-u>": UpHalf,
|
"<C-u>": UpHalf,
|
||||||
"N": PreviousResult,
|
"N": PreviousResult,
|
||||||
"<Space>": Add,
|
"<Space>": AddOptions(kind: Action(all: false, autoplay: None, position: EndOfQueue)),
|
||||||
|
"<CR>": AddOptions(kind: Action(all: false, autoplay: Hovered, position: EndOfQueue)),
|
||||||
|
"<S-CR>": Confirm,
|
||||||
"<C-Space>": AddAll,
|
"<C-Space>": AddAll,
|
||||||
"r": Rename,
|
"r": Rename,
|
||||||
"n": NextResult,
|
"n": NextResult,
|
||||||
@@ -73,7 +75,6 @@
|
|||||||
"m": Select,
|
"m": Select,
|
||||||
"M": InvertSelection,
|
"M": InvertSelection,
|
||||||
"G": Bottom,
|
"G": Bottom,
|
||||||
"<CR>": Confirm,
|
|
||||||
"i": FocusInput,
|
"i": FocusInput,
|
||||||
"J": MoveDown,
|
"J": MoveDown,
|
||||||
"<C-d>": DownHalf,
|
"<C-d>": DownHalf,
|
||||||
@@ -144,6 +145,7 @@
|
|||||||
autosens: true, // default true
|
autosens: true, // default true
|
||||||
sensitivity: 100, // default 100
|
sensitivity: 100, // default 100
|
||||||
bar_width: 1,
|
bar_width: 1,
|
||||||
|
channels: 2,
|
||||||
bar_spacing: 0,
|
bar_spacing: 0,
|
||||||
lower_cutoff_freq: 50, // not passed to cava if not provided
|
lower_cutoff_freq: 50, // not passed to cava if not provided
|
||||||
higher_cutoff_freq: 10000, // not passed to cava if not provided
|
higher_cutoff_freq: 10000, // not passed to cava if not provided
|
||||||
|
|||||||
@@ -226,8 +226,8 @@ error-message {
|
|||||||
configuration {
|
configuration {
|
||||||
kb-mode-next: "Shift+Right,Control+Tab,L";
|
kb-mode-next: "Shift+Right,Control+Tab,L";
|
||||||
kb-mode-previous: "Shift+Left,H";
|
kb-mode-previous: "Shift+Left,H";
|
||||||
kb-page-prev: "K";
|
kb-row-up: "K";
|
||||||
kb-page-next: "J";
|
kb-row-down: "J";
|
||||||
me-select-entry: "";
|
me-select-entry: "";
|
||||||
me-accept-entry: "!MousePrimary";
|
me-accept-entry: "!MousePrimary";
|
||||||
kb-cancel: "MousePrimary,Escape";
|
kb-cancel: "MousePrimary,Escape";
|
||||||
|
|||||||
@@ -27,15 +27,27 @@
|
|||||||
"keyboard-shortcuts": true,
|
"keyboard-shortcuts": true,
|
||||||
"notification-grouping": false,
|
"notification-grouping": false,
|
||||||
"image-visibility": "when-available",
|
"image-visibility": "when-available",
|
||||||
|
"show-per-app-icon": true,
|
||||||
"transition-time": 100,
|
"transition-time": 100,
|
||||||
"hide-on-clear": false,
|
"hide-on-clear": false,
|
||||||
"hide-on-action": true,
|
"hide-on-action": true,
|
||||||
"text-empty": "No nothing",
|
"text-empty": "No disturbances",
|
||||||
"script-fail-notify": true,
|
"script-fail-notify": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"notification-sound": {
|
"notification-sound-low": {
|
||||||
"exec": "sh $HOME/.config/swaync/scripts/sound.sh",
|
"exec": "sh $HOME/.config/swaync/scripts/sound.sh low",
|
||||||
"app-name": "^(?!.*AyuGram).*$"
|
"app-name": "^(?!.*AyuGram).*$",
|
||||||
|
"urgency": "Low"
|
||||||
|
},
|
||||||
|
"notification-sound-normal": {
|
||||||
|
"exec": "sh $HOME/.config/swaync/scripts/sound.sh normal",
|
||||||
|
"app-name": "^(?!.*AyuGram).*$",
|
||||||
|
"urgency": "Normal"
|
||||||
|
},
|
||||||
|
"notification-sound-critical": {
|
||||||
|
"exec": "sh $HOME/.config/swaync/scripts/sound.sh critical",
|
||||||
|
"app-name": "^(?!.*AyuGram).*$",
|
||||||
|
"urgency": "Critical"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notification-visibility": {
|
"notification-visibility": {
|
||||||
@@ -48,8 +60,6 @@
|
|||||||
"widgets": [
|
"widgets": [
|
||||||
"menubar",
|
"menubar",
|
||||||
"buttons-grid",
|
"buttons-grid",
|
||||||
"volume",
|
|
||||||
"slider#brightness",
|
|
||||||
"inhibitors",
|
"inhibitors",
|
||||||
"title",
|
"title",
|
||||||
"notifications",
|
"notifications",
|
||||||
|
|||||||
@@ -5,29 +5,42 @@ if [ $(swaync-client --get-dnd) == "true" ]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Directory containing your notification sounds
|
SOUND_LOW_DIR="$HOME/.config/swaync/scripts/sounds/low"
|
||||||
SOUND_DIR="$HOME/.config/swaync/scripts/sounds"
|
SOUND_NORMAL_DIR="$HOME/.config/swaync/scripts/sounds/normal"
|
||||||
|
SOUND_CRITICAL_DIR="$HOME/.config/swaync/scripts/sounds/critical"
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
low)
|
||||||
|
DIR=$SOUND_LOW_DIR
|
||||||
|
;;
|
||||||
|
normal)
|
||||||
|
DIR=$SOUND_NORMAL_DIR
|
||||||
|
;;
|
||||||
|
critical)
|
||||||
|
DIR=$SOUND_CRITICAL_DIR
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown urgency level '$1'"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Enable nullglob to prevent literal interpretation when no files match
|
# Enable nullglob to prevent literal interpretation when no files match
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
# Get a list of audio files in the directory (simpler approach)
|
|
||||||
SOUND_FILES=()
|
SOUND_FILES=()
|
||||||
for ext in wav mp3 ogg flac; do
|
for ext in wav mp3 ogg flac; do
|
||||||
SOUND_FILES+=("$SOUND_DIR"/*."$ext")
|
SOUND_FILES+=("$DIR"/*."$ext")
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check if any sound files exist
|
|
||||||
if [ ${#SOUND_FILES[@]} -eq 0 ]; then
|
if [ ${#SOUND_FILES[@]} -eq 0 ]; then
|
||||||
echo "No sound files found in $SOUND_DIR"
|
echo "No sound files found in $SOUND_NORMAL_DIR"
|
||||||
exit 0 # Exit with success so notifications still work
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Select a random sound file
|
|
||||||
RANDOM_INDEX=$((RANDOM % ${#SOUND_FILES[@]}))
|
RANDOM_INDEX=$((RANDOM % ${#SOUND_FILES[@]}))
|
||||||
RANDOM_SOUND="${SOUND_FILES[$RANDOM_INDEX]}"
|
RANDOM_SOUND="${SOUND_FILES[$RANDOM_INDEX]}"
|
||||||
|
|
||||||
# Play the random sound
|
|
||||||
play -v 0.5 "$RANDOM_SOUND" 2>/dev/null || {
|
play -v 0.5 "$RANDOM_SOUND" 2>/dev/null || {
|
||||||
echo "Failed to play $RANDOM_SOUND"
|
echo "Failed to play $RANDOM_SOUND"
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
swaync/scripts/sounds/critical/sting_instruction3.mp3
Normal file
BIN
swaync/scripts/sounds/critical/sting_instruction3.mp3
Normal file
Binary file not shown.
BIN
swaync/scripts/sounds/critical/sting_instruction4.mp3
Normal file
BIN
swaync/scripts/sounds/critical/sting_instruction4.mp3
Normal file
Binary file not shown.
BIN
swaync/scripts/sounds/low/pc_granted.mp3
Normal file
BIN
swaync/scripts/sounds/low/pc_granted.mp3
Normal file
Binary file not shown.
@@ -20,6 +20,8 @@
|
|||||||
--button-top: #505050;
|
--button-top: #505050;
|
||||||
--button-on-top: #CE5268;
|
--button-on-top: #CE5268;
|
||||||
--button-off: #2e2d31;
|
--button-off: #2e2d31;
|
||||||
|
|
||||||
|
--accent: #E83C82;
|
||||||
}
|
}
|
||||||
|
|
||||||
* {
|
* {
|
||||||
@@ -66,12 +68,12 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background {
|
.notification-row .notification-background {
|
||||||
padding: 6px 12px;
|
padding: 6px 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background .notification {
|
.notification-row .notification-background .notification {
|
||||||
/* The actual notification */
|
/* The actual notification */
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
border: 1px solid var(--noti-border-color);
|
border: 1px solid var(--noti-border-color);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
transition: background 0.15s ease-in-out;
|
transition: background 0.15s ease-in-out;
|
||||||
@@ -88,18 +90,35 @@ button:hover {
|
|||||||
|
|
||||||
.notification-row .notification-background .notification.critical {
|
.notification-row .notification-background .notification.critical {
|
||||||
/* Critical Priority Notification */
|
/* Critical Priority Notification */
|
||||||
|
border-color: var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Critical Priority Notification */
|
||||||
|
.notification-row .notification-background .notification.critical .notification-default-action .notification-content .text-box .summary {
|
||||||
|
color: var(--accent);
|
||||||
|
text-shadow: 0px 0px 8px var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-row .notification-background .notification.critical .notification-default-action .notification-content .text-box .summary {
|
||||||
|
color: var(--accent);
|
||||||
|
text-shadow: 0px 0px 8px var(--accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-row .notification-background .notification.critical .notification-default-action .notification-content .text-box .body {
|
||||||
|
color: var(--accent);
|
||||||
|
text-shadow: 0px 0px 8px var(--accent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action {
|
.notification-row .notification-background .notification .notification-default-action {
|
||||||
/* The large action that also displays the notification summary and body */
|
/* The large action that also displays the notification summary and body */
|
||||||
padding: 4px;
|
padding: 10px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
transition: background 0.15s ease-in-out;
|
transition: background 0.15s ease-in-out;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row:focus .notification-background .notification .notification-default-action {
|
.notification-row:focus .notification-background .notification .notification-default-action {
|
||||||
@@ -118,7 +137,7 @@ button:hover {
|
|||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content {
|
.notification-row .notification-background .notification .notification-default-action .notification-content {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,14 +213,14 @@ button:hover {
|
|||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
caret-color: var(--text-color);
|
caret-color: var(--text-color);
|
||||||
border: 1px solid var(--noti-border-color);
|
border: 1px solid var(--noti-border-color);
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
|
.notification-row .notification-background .notification .notification-default-action .notification-content .inline-reply .inline-reply-button {
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
background: rgba(var(--noti-bg), var(--noti-bg-alpha));
|
background: rgba(var(--noti-bg), var(--noti-bg-alpha));
|
||||||
border: 1px solid var(--noti-border-color);
|
border: 1px solid var(--noti-border-color);
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -218,8 +237,8 @@ button:hover {
|
|||||||
|
|
||||||
.notification-row .notification-background .notification .notification-alt-actions {
|
.notification-row .notification-background .notification .notification-alt-actions {
|
||||||
background: none;
|
background: none;
|
||||||
border-bottom-left-radius: 12px;
|
border-bottom-left-radius: 15px;
|
||||||
border-bottom-right-radius: 12px;
|
border-bottom-right-radius: 15px;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,7 +249,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.notification-row .notification-background .notification .notification-action > button {
|
.notification-row .notification-background .notification .notification-action > button {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-group {
|
.notification-group {
|
||||||
@@ -256,7 +275,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.notification-group .notification-group-close-button .close-button {
|
.notification-group .notification-group-close-button .close-button {
|
||||||
margin: 12px 20px;
|
margin: 15px 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
|
.notification-group .notification-group-buttons, .notification-group .notification-group-headers {
|
||||||
@@ -363,7 +382,7 @@ button:hover {
|
|||||||
|
|
||||||
.widget-title > button {
|
.widget-title > button {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DND widget */
|
/* DND widget */
|
||||||
@@ -374,7 +393,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.widget-dnd switch {
|
.widget-dnd switch {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -384,7 +403,7 @@ button:hover {
|
|||||||
|
|
||||||
|
|
||||||
.widget-dnd switch slider {
|
.widget-dnd switch slider {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Label widget */
|
/* Label widget */
|
||||||
@@ -410,7 +429,7 @@ button:hover {
|
|||||||
|
|
||||||
.widget-mpris .widget-mpris-player {
|
.widget-mpris .widget-mpris-player {
|
||||||
margin: 16px 20px;
|
margin: 16px 20px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -429,7 +448,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-album-art {
|
.widget-mpris .widget-mpris-player .mpris-overlay .widget-mpris-album-art {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);
|
||||||
-gtk-icon-size: var(--mpris-album-art-icon-size);
|
-gtk-icon-size: var(--mpris-album-art-icon-size);
|
||||||
}
|
}
|
||||||
@@ -464,11 +483,11 @@ button:hover {
|
|||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-buttons-grid flowboxchild > button {
|
.widget-buttons-grid flowboxchild > button {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -513,7 +532,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.widget-menubar > .menu-button-bar > .widget-menubar-container button {
|
.widget-menubar > .menu-button-bar > .widget-menubar-container button {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
padding: 0px 15px;
|
padding: 0px 15px;
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
background-color: var(--noti-bg-selection);
|
background-color: var(--noti-bg-selection);
|
||||||
@@ -536,7 +555,7 @@ button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.widget-menubar > revealer button {
|
.widget-menubar > revealer button {
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
@@ -553,7 +572,7 @@ button:hover {
|
|||||||
.widget-volume {
|
.widget-volume {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-volume label:first-child {
|
.widget-volume label:first-child {
|
||||||
@@ -573,14 +592,14 @@ button:hover {
|
|||||||
background-color: var(--noti-bg-alt);
|
background-color: var(--noti-bg-alt);
|
||||||
padding: 4px 8px 8px 8px;
|
padding: 4px 8px 8px 8px;
|
||||||
margin: 0px 8px 8px 8px;
|
margin: 0px 8px 8px 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Slider widget */
|
/* Slider widget */
|
||||||
.widget-slider {
|
.widget-slider {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-slider trough highlight {
|
.widget-slider trough highlight {
|
||||||
@@ -595,7 +614,7 @@ button:hover {
|
|||||||
.widget-backlight {
|
.widget-backlight {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inhibitors widget */
|
/* Inhibitors widget */
|
||||||
@@ -606,7 +625,7 @@ button:hover {
|
|||||||
|
|
||||||
.widget-inhibitors > button {
|
.widget-inhibitors > button {
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-row:parent {
|
.notification-row:parent {
|
||||||
|
|||||||
@@ -21,11 +21,12 @@
|
|||||||
"custom/launcher"
|
"custom/launcher"
|
||||||
],
|
],
|
||||||
"modules-right": [
|
"modules-right": [
|
||||||
|
"battery",
|
||||||
"cpu",
|
"cpu",
|
||||||
"memory",
|
"memory",
|
||||||
"temperature"
|
"temperature"
|
||||||
],
|
],
|
||||||
"custom/separator_invisible": {
|
"custom/separator": {
|
||||||
"format": " ",
|
"format": " ",
|
||||||
"interval": "once",
|
"interval": "once",
|
||||||
"tooltip": false
|
"tooltip": false
|
||||||
@@ -53,6 +54,7 @@
|
|||||||
"on-click": "activate",
|
"on-click": "activate",
|
||||||
"on-click-middle": "close",
|
"on-click-middle": "close",
|
||||||
"active-first": false,
|
"active-first": false,
|
||||||
|
"sort-by-app-id": true,
|
||||||
"ignore-list": [
|
"ignore-list": [
|
||||||
"Alacritty"
|
"Alacritty"
|
||||||
],
|
],
|
||||||
@@ -60,11 +62,14 @@
|
|||||||
"firefoxdeveloperedition": "firefox-developer-edition"
|
"firefoxdeveloperedition": "firefox-developer-edition"
|
||||||
},
|
},
|
||||||
"rewrite": {
|
"rewrite": {
|
||||||
"Firefox Web Browser": "Firefox",
|
|
||||||
"Foot Server": "Terminal",
|
|
||||||
".*(steam_app_[0-9]+).*": "Game"
|
".*(steam_app_[0-9]+).*": "Game"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"battery": {
|
||||||
|
"interval": 5,
|
||||||
|
"format": "{power:.0f}W |",
|
||||||
|
"on-click": "sh -c 'swaync-client -cp & ~/.config/rofi/scripts/dmenu_powermodemenu.sh'"
|
||||||
|
},
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"format": "{icon}",
|
"format": "{icon}",
|
||||||
"tooltip": true,
|
"tooltip": true,
|
||||||
|
|||||||
@@ -76,10 +76,14 @@
|
|||||||
"paused": "",
|
"paused": "",
|
||||||
"playing": ""
|
"playing": ""
|
||||||
},
|
},
|
||||||
"tooltip-format": "MPD (connected)",
|
"tooltip-format": "MPD (connected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume",
|
||||||
"tooltip-format-disconnected": "MPD (disconnected)",
|
"tooltip-format-disconnected": "MPD (disconnected) | MMB - toggle, LMB/RMB - next/prev, scroll - volume",
|
||||||
"format-stopped": " Stopping player...",
|
"format-stopped": " Stopping player...",
|
||||||
"on-click": "mpc toggle --password kapuchinamusica"
|
"on-click-right": "mpc --password kapuchinamusica next",
|
||||||
|
"on-click-middle": "mpc --password kapuchinamusica prev",
|
||||||
|
"on-click": "mpc --password kapuchinamusica toggle",
|
||||||
|
"on-scroll-down": "mpc --password kapuchinamusica volume +1",
|
||||||
|
"on-scroll-up": "mpc --password kapuchinamusica volume -1"
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"timezone": "Europe/Moscow",
|
"timezone": "Europe/Moscow",
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ TOP_STYLE="$DIR/style/style_top.css"
|
|||||||
BOTTOM_CONFIG="$DIR/config_bottom.jsonc"
|
BOTTOM_CONFIG="$DIR/config_bottom.jsonc"
|
||||||
BOTTOM_STYLE="$DIR/style/style_bottom.css"
|
BOTTOM_STYLE="$DIR/style/style_bottom.css"
|
||||||
|
|
||||||
|
DOCK_CONFIG="$DIR/config_dock.jsonc"
|
||||||
|
DOCK_STYLE="$DIR/style/style_dock.css"
|
||||||
|
|
||||||
kill_bars() {
|
kill_bars() {
|
||||||
if pgrep waybar > /dev/null; then
|
if pgrep waybar > /dev/null; then
|
||||||
pkill waybar
|
pkill waybar
|
||||||
@@ -19,6 +22,7 @@ kill_bars() {
|
|||||||
run_bars() {
|
run_bars() {
|
||||||
waybar -c "$TOP_CONFIG" -s "$TOP_STYLE" &
|
waybar -c "$TOP_CONFIG" -s "$TOP_STYLE" &
|
||||||
waybar -c "$BOTTOM_CONFIG" -s "$BOTTOM_STYLE" &
|
waybar -c "$BOTTOM_CONFIG" -s "$BOTTOM_STYLE" &
|
||||||
|
waybar -c "$DOCK_CONFIG" -s "$DOCK_STYLE" &
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,6 +126,13 @@ window#waybar.chromium {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------
|
||||||
|
BATTERY
|
||||||
|
-------------------------------------------------------------------------- */
|
||||||
|
#battery {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------
|
||||||
CPU
|
CPU
|
||||||
-------------------------------------------------------------------------- */
|
-------------------------------------------------------------------------- */
|
||||||
@@ -154,7 +161,7 @@ window#waybar.chromium {
|
|||||||
.modules-left, .modules-right {
|
.modules-left, .modules-right {
|
||||||
/* Layout & Box Model */
|
/* Layout & Box Model */
|
||||||
border: 1px solid @border-color;
|
border: 1px solid @border-color;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
|
|
||||||
/* Colors */
|
/* Colors */
|
||||||
background-color: @bg-panel;
|
background-color: @bg-panel;
|
||||||
@@ -166,13 +173,30 @@ window#waybar.chromium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.modules-center {
|
.modules-center {
|
||||||
background: linear-gradient(to right,
|
background:
|
||||||
|
/* Top border gradient */
|
||||||
|
linear-gradient(to right,
|
||||||
|
transparent 0%,
|
||||||
|
@border-color 25%,
|
||||||
|
@border-color 75%,
|
||||||
|
transparent 100%
|
||||||
|
) 0 0 / 100% 1px no-repeat,
|
||||||
|
|
||||||
|
/* Bottom border gradient */
|
||||||
|
linear-gradient(to right,
|
||||||
|
transparent 0%,
|
||||||
|
@border-color 25%,
|
||||||
|
@border-color 75%,
|
||||||
|
transparent 100%
|
||||||
|
) 0 100% / 100% 1px no-repeat,
|
||||||
|
|
||||||
|
/* Main background */
|
||||||
|
linear-gradient(to right,
|
||||||
alpha(#000000, 0) 0%,
|
alpha(#000000, 0) 0%,
|
||||||
alpha(@bg-panel, 1) 20%,
|
alpha(@bg-panel, 1) 25%,
|
||||||
alpha(@bg-panel, 1) 80%,
|
alpha(@bg-panel, 1) 75%,
|
||||||
alpha(#000000, 0) 100%
|
alpha(#000000, 0) 100%
|
||||||
);
|
);
|
||||||
|
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,14 +258,14 @@ window#waybar.chromium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#taskbar button.active {
|
#taskbar button.active {
|
||||||
background: radial-gradient(circle, alpha(@accent, 1) 0%, alpha(@accent, 1) 30%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
|
background: radial-gradient(circle, alpha(@text-primary, 1) 0%, alpha(@text-primary, 1) 30%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
|
||||||
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
#taskbar button.active image {
|
#taskbar button.active image {
|
||||||
min-width: 24px;
|
min-width: 24px;
|
||||||
min-height: 24px;
|
min-height: 24px;
|
||||||
padding: 0 5px;
|
/* padding: 0 5px; */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* POMODORO STATES */
|
/* POMODORO STATES */
|
||||||
@@ -280,26 +304,6 @@ window#waybar.chromium {
|
|||||||
color: @text-secondary;
|
color: @text-secondary;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* BATTERY STATES */
|
|
||||||
#battery.charging,
|
|
||||||
#battery.plugged {
|
|
||||||
color: @success;
|
|
||||||
text-shadow: 0px 0px 8px @success;
|
|
||||||
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: @warning;
|
|
||||||
text-shadow: 0px 0px 8px @warning;
|
|
||||||
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.critical:not(.charging) {
|
|
||||||
color: @danger;
|
|
||||||
text-shadow: 0px 0px 8px @danger;
|
|
||||||
transition: color 0.3s, box-shadow 0.3s, background 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CPU && MEMORY STATES */
|
/* CPU && MEMORY STATES */
|
||||||
#cpu.s1, #memory.s1, #temperature.s1 {
|
#cpu.s1, #memory.s1, #temperature.s1 {
|
||||||
color: @text-primary;
|
color: @text-primary;
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ window#waybar.chromium {
|
|||||||
#mpd, .modules-center, .modules-right {
|
#mpd, .modules-center, .modules-right {
|
||||||
/* Layout & Box Model */
|
/* Layout & Box Model */
|
||||||
border: 1px solid @border-color;
|
border: 1px solid @border-color;
|
||||||
border-radius: 12px;
|
border-radius: 15px;
|
||||||
|
|
||||||
/* Colors */
|
/* Colors */
|
||||||
background-color: @bg-panel;
|
background-color: @bg-panel;
|
||||||
@@ -181,12 +181,13 @@ window#waybar.chromium {
|
|||||||
|
|
||||||
/* MPD STATES */
|
/* MPD STATES */
|
||||||
#mpd {
|
#mpd {
|
||||||
font-weight: 700;
|
|
||||||
transition: color 2s, background 2s;
|
transition: color 2s, background 2s;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mpd.playing {
|
#mpd.playing {
|
||||||
color: @accent;
|
color: @accent;
|
||||||
|
font-weight: 700;
|
||||||
|
/* color: @text-primary; */
|
||||||
}
|
}
|
||||||
|
|
||||||
#mpd.stopped {
|
#mpd.stopped {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ alias cl="clear"
|
|||||||
alias pi="source ~/.venv/bin/activate"
|
alias pi="source ~/.venv/bin/activate"
|
||||||
alias pivenv="source ~/.venv312/bin/activate"
|
alias pivenv="source ~/.venv312/bin/activate"
|
||||||
alias nvim="http_proxy='' nvim"
|
alias nvim="http_proxy='' nvim"
|
||||||
|
alias n="nvim"
|
||||||
alias updatew="sudo pacman -Syuw --noconfirm"
|
alias updatew="sudo pacman -Syuw --noconfirm"
|
||||||
alias insta="sudo pacman -S"
|
alias insta="sudo pacman -S"
|
||||||
alias detdom="sudo pacman -Qdtq | sudo pacman -Rns -"
|
alias detdom="sudo pacman -Qdtq | sudo pacman -Rns -"
|
||||||
|
|||||||
2
zsh/misspell.sh
Normal file
2
zsh/misspell.sh
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
alias hyrpm="hyprpm"
|
||||||
|
alias hyrppm="hyprpm"
|
||||||
Reference in New Issue
Block a user