#!/usr/bin/env bash # Throttle wrapper around tmux-continuum's save script. # # tmux re-renders status-right per client per status-interval, so the # upstream save script is invoked far more often than it can possibly do # useful work. This wrapper short-circuits the common case using only # bash builtins (no fork, no subprocess) and only execs the real script # when the throttle window has elapsed. throttle=60 stamp="${XDG_RUNTIME_DIR:-/tmp}/tmux-continuum-throttle.stamp" real=~/.guix-home/profile/share/tmux-plugins/continuum/scripts/continuum_save.sh last=0 [[ -r $stamp ]] && read -r last < "$stamp" (( EPOCHSECONDS - last < throttle )) && exit 0 printf '%s\n' "$EPOCHSECONDS" > "$stamp" exec "$real"