Compare commits

...

2 commits

Author SHA1 Message Date
e9179dc509
Add some more tuis 2025-10-25 18:30:42 +02:00
426e59bcd3
Update toggle notifs & idle scripts + add to walker 2025-10-25 18:16:42 +02:00
5 changed files with 145 additions and 11 deletions

View file

@ -13,6 +13,26 @@ icon = "weather-clear-night"
actions = { "" = "hyprctl hyprsunset temperature 2700" }
[[entries]]
text = "Zoom Toggle"
text = "Idle timeouts (hypridle)"
icon = ""
async = "printf 'Idle timeouts (hypridle): %s' $(toggle-idle check && echo 'ON' || echo 'OFF')"
[entries.actions]
"toggle" = "toggle-idle"
"start" = "toggle-idle on"
"stop" = "toggle-idle off"
[[entries]]
text = "Notifications (swaync)"
icon = ""
async = "printf 'Notifications (swaync): %s' $(toggle-notifications check && echo 'ON' || echo 'OFF')"
[entries.actions]
"toggle" = "toggle-notifications"
"start" = "toggle-notifications on"
"stop" = "toggle-notifications off"
[[entries]]
text = "Cursor zoom"
icon = "zoom-in"
actions = { "" = "hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float) | if . > 1 then 1 else 1.5 end')" }
actions = { "toggle" = "hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '(.float) | if . > 1 then 1 else 1.5 end')" }

View file

@ -156,3 +156,24 @@ clipboard = [
{ action = "toggle_images", global = true, label = "toggle images", bind = "ctrl i", after = "AsyncClearReload" },
{ action = "edit", bind = "ctrl o" },
]
"menus:system" = [
{ action = "lock", bind = "Return" },
{ action = "suspend", bind = "Return" },
{ action = "relaunch", bind = "Return" },
{ action = "restart", bind = "Return" },
{ action = "shutdown", bind = "Return" },
]
"menus:screenshots" = [
{ action = "to_clipboard", default = true, bind = "Return" },
{ action = "to_file", bind = "f" },
{ action = "to_swappy", bind = "e" },
{ action = "cp_use", default = true, bind = "Return" },
]
"menus:hyprland" = [
{ action = "toggle", default = true, bind = "Return" },
{ action = "start", bind = "u" },
{ action = "stop", bind = "d" },
]

View file

@ -1,12 +1,59 @@
#!/usr/bin/env bash
set -euo pipefail
usage() {
echo "Usage: $0 [on|off|toggle|check]" >&2
}
serv="hypridle.service"
if systemctl --user is-active --quiet "$serv"; then
# Returns 0 if the service is active (idle timeouts enabled), 1 otherwise
idle_enabled() {
systemctl --user is-active --quiet "$serv"
}
mode="toggle"
if [ "$#" -ge 1 ]; then
if [ "$#" -gt 1 ]; then
echo "Invalid usage" >&2
usage
exit 2
fi
case "$1" in
--help)
usage
exit 0
;;
on | off | toggle)
mode="$1"
;;
check)
if idle_enabled; then
exit 0
else
exit 1
fi
;;
*)
echo "Invalid argument" >&2
usage
exit 2
;;
esac
fi
# Determine new mode if toggling
if [ "$mode" = "toggle" ]; then
mode="$(idle_enabled && echo 'off' || echo 'on')"
fi
# Apply the mode
if [ "$mode" = "off" ]; then
systemctl --user stop "$serv"
notify-send "Idle-Toggle" "Idle timeouts disabled"
notify-send "Idle-Toggle" "Idle timeouts disabled" -h string:x-canonical-private-synchronous:idle-toggle
else
systemctl --user start "$serv"
notify-send "Idle-Toggle" "Idle timeouts enabled"
notify-send "Idle-Toggle" "Idle timeouts enabled" -h string:x-canonical-private-synchronous:idle-toggle
fi

View file

@ -1,10 +1,56 @@
#!/bin/sh
#!/usr/bin/env bash
set -euo pipefail
if [ "$(dunstctl is-paused)" = "false" ]; then
usage() {
echo "$0 [on/off/toggle/check]" >&2
}
# Returns 0 if notifications are enabled, 1 if DND is active
notifs_enabled() {
[ "$(swaync-client --get-dnd)" = "false" ]
}
mode="toggle"
if [ "$#" -ge 1 ]; then
if [ "$#" -gt 1 ]; then
echo "Invalid usage" >&2
usage
exit 2
fi
case "$1" in
--help)
usage
exit 0
;;
on | off | toggle)
mode="$1"
;;
check)
if notifs_enabled; then
exit 0
else
exit 1
fi
;;
*)
echo "Invalid argument" >&2
usage
exit 2
;;
esac
fi
if [ "$mode" = "toggle" ]; then
mode="$(notifs_enabled && echo 'off' || echo 'on')"
fi
if [ "$mode" = "off" ]; then
notify-send "Notifications" "Pausing notifications..." -h string:x-canonical-private-synchronous:notif-pause
sleep 2
dunstctl set-paused true
swaync-client --dnd-on >/dev/null
else
dunstctl set-paused false
swaync-client --dnd-off >/dev/null
notify-send "Notifications" "Notifications enabled" -h string:x-canonical-private-synchronous:notif-pause
fi

View file

@ -99,12 +99,12 @@ paru -S --noconfirm --needed hyprland xdg-desktop-portal-hyprland
# Audio
paru -S --noconfirm --needed \
pipewire wireplumber pipewire-alsa pipewire-pulse pipewire-jack \
alsa-utils alsa-firmware alsa-plugins rtkit pulsemixer
alsa-utils alsa-firmware alsa-plugins rtkit pulsemixer wiremix
# Other Utilities
paru -S --noconfirm --needed \
nm-connection-editor network-manager-applet ffmpegthumbnailer hyfetch fastfetch \
tesseract tesseract-data-eng nvtop
tesseract tesseract-data-eng nvtop lazydocker lazygit
# Themes (Qt theme, GTK theme, icons theme, cursor theme)
paru -S --noconfirm --needed \