#!/bin/zsh
if [[ -z "$DISPLAY" ]]; then
echo "no DISPLAY set" >/dev/stderr
exit 1
fi
if [[ -n "$XDG_DATA_HOME" ]]; then
tmux_sesssion_dir=$XDG_DATA_HOME/tmux_session
else
tmux_sesssion_dir=$HOME/.local/share/tmux_session
fi
typeset -A sessions
wmctrl -l | while read winid workspace host title; do
case $title in
(*tmux::*:*)
session=${${title##*tmux::}%%:*}
sessions[${session}]=$winid
;;
esac
done
while IFS=: read session workspace; do
if ((${+sessions[${session}]})); then
# wmctrl -s $workspace
# wmctrl -R ${sessions[${session}]}
wmctrl -r ${sessions[${session}]} -t $workspace
fi
done <$tmux_sesssion_dir/$DISPLAY