tmux-resurrect/docs/hooks.md
Bruno Sutic d7825683d1
Deprecate restoring shell history
"restoring shell history" feature is very invasive and dirty. I propose
removing it in the future without the replacement.

I worry it spoils the first experience of using this plugin for users
that accidentally turn it on and don't know how to turn it off, see
https://github.com/tmux-plugins/tmux-resurrect/issues/288

Also, it hurts me to reject PRs that improve the feature.

Thoughts?
2019-08-27 13:26:29 +02:00

1.3 KiB

Save & Restore Hooks

Hooks allow to set custom commands that will be executed during session save and restore. Most hooks are called with zero arguments, unless explicitly stated otherwise.

Currently the following hooks are supported:

  • @resurrect-hook-post-save-layout

    Called after all sessions, panes and windows have been saved.

    Passed single argument of the state file.

  • @resurrect-hook-post-save-all

    Called at end of save process right before the spinner is turned off.

  • @resurrect-hook-pre-restore-all

    Called before any tmux state is altered.

  • @resurrect-hook-pre-restore-history - deprecated

    Called after panes and layout have been restores, but before bash history is restored (if it is enabled) -- the hook is always called even if history saving is disabled.

  • @resurrect-hook-pre-restore-pane-processes

    Called after history is restored, but before running processes are restored.

Examples

Here is an example how to save and restore window geometry for most terminals in X11. Add this to .tmux.conf:

set -g @resurrect-hook-post-save-all 'eval $(xdotool getwindowgeometry --shell $WINDOWID); echo 0,$X,$Y,$WIDTH,$HEIGHT > $HOME/.tmux/resurrect/geometry'
set -g @resurrect-hook-pre-restore-all 'wmctrl -i -r $WINDOWID -e $(cat $HOME/.tmux/resurrect/geometry)'