diff --git a/polybar/.config/polybar/config b/polybar/.config/polybar/config index 07e331d..5fdeaa0 100644 --- a/polybar/.config/polybar/config +++ b/polybar/.config/polybar/config @@ -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] diff --git a/polybar/.config/polybar/scripts/poly-pomo b/polybar/.config/polybar/scripts/poly-pomo new file mode 100755 index 0000000..9616b16 --- /dev/null +++ b/polybar/.config/polybar/scripts/poly-pomo @@ -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 diff --git a/polybar/.local/bin/pomo b/polybar/.local/bin/pomo new file mode 120000 index 0000000..c4dec47 --- /dev/null +++ b/polybar/.local/bin/pomo @@ -0,0 +1 @@ +../share/pomo/pomo.sh \ No newline at end of file