[polybar] Fix pomo timer notification updating
Fixed notifications following outdated pomo timers if the timer was ever paused or restarted. Will now limit the pomo timer to a single 'running' instance containing the notification function.
This commit is contained in:
parent
e513a77bc1
commit
657ef21b0b
3 changed files with 48 additions and 1 deletions
|
|
@ -57,7 +57,7 @@ padding-left = 0
|
|||
padding-right = 0
|
||||
module-margin-left = 2
|
||||
|
||||
modules-left = workspaces
|
||||
modules-left = workspaces pomo
|
||||
modules-center = music date papersdue
|
||||
modules-right = networkspeed archupdates cpu temp backlight volume battery
|
||||
; do not use offsets for the bar, would only work with override-redirect
|
||||
|
|
@ -235,6 +235,17 @@ click-right = exist rofi-bib-due normal "opening due papers" && rofi-bib-due -p3
|
|||
format-prefix = " "
|
||||
interval = 120
|
||||
|
||||
; displays a small pomodoro timer
|
||||
[module/pomo]
|
||||
type = custom/script
|
||||
exec = $XDG_CONFIG_HOME/polybar/scripts/poly-pomo
|
||||
exec-if = exist pomo normal "pomodoro timer"
|
||||
; pause timer
|
||||
click-left = $XDG_CONFIG_HOME/polybar/scripts/poly-pomo toggle
|
||||
; restart timer
|
||||
click-right = $XDG_CONFIG_HOME/polybar/scripts/poly-pomo restart
|
||||
tail = true
|
||||
|
||||
; display unified available packages for update on arch from repos/aur
|
||||
; uses pacman-contrib/checkupdates if available to avoid partial arch upgrades
|
||||
[module/archupdates]
|
||||
|
|
|
|||
35
polybar/.config/polybar/scripts/poly-pomo
Executable file
35
polybar/.config/polybar/scripts/poly-pomo
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
run_notify() {
|
||||
pomo notify &
|
||||
PID_NOTIFY="$!"
|
||||
echo "$PID_NOTIFY" >"${XDG_RUNTIME_DIR:-$HOME}"/.running-pomo.lock
|
||||
}
|
||||
|
||||
# create background notify process; close it when this process is killed
|
||||
close_notify() {
|
||||
lockfile="${XDG_RUNTIME_DIR:-$HOME}"/.running-pomo.lock
|
||||
[ -f "$lockfile" ] && kill "$(cat "$lockfile")"
|
||||
kill "$PID_NOTIFY"
|
||||
rm "${XDG_RUNTIME_DIR:-$HOME}"/.running-pomo.lock
|
||||
}
|
||||
trap close_notify EXIT
|
||||
|
||||
restart_notify() {
|
||||
close_notify
|
||||
run_notify
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
run_notify
|
||||
while true; do
|
||||
pomo clock
|
||||
sleep 1
|
||||
done
|
||||
elif [ "$1" = "toggle" ]; then
|
||||
pomo pause
|
||||
restart_notify
|
||||
elif [ "$1" = "restart" ]; then
|
||||
pomo stop && pomo start
|
||||
restart_notify
|
||||
fi
|
||||
1
polybar/.local/bin/pomo
Symbolic link
1
polybar/.local/bin/pomo
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
../share/pomo/pomo.sh
|
||||
Loading…
Add table
Add a link
Reference in a new issue