### Session -------------------------------------------------------------- # -sXX : XX session ID or name # -nWINDOW_NAME : Name of the window… # -d : Don't attache to the new session/window/pane/… # -tXX:YY.ZZ : # XX : session ID or name # YY : (optional) Window ID # ZZ : (optional) Pane ID # YY and ZZ should exists to be able to change the parameters,… # monitor-activity : permet de mettre en avant une fenêtre quand son contenu reçoit un événement # 'exec ${SHELL}' : Allow to keep the pane running after the program exists # Manage session named **jd** for working station # If a session already exists {{{ if-shell -b 'tmux has-session -t jd' { display-message "Attach to **jd** existing session" ## Attach to the first pane of the first window ## Only works from a running tmux attach-session -t jd:1.1 } # }}} # If file was source from a running tmux # This allow to run tmux source-file command outside of Tmux… if-shell -b 'test -n $TMUX' { # If no session already exists if-shell '! tmux has-session -t jd' { display-message "Create a new session for Workstation" # A first window named **42** new-session -A -sjd -n42 ## Split the first window and move to 42 debops project split-window -d -h -tjd:1.1 -c '/home/jegardai/repos/101010.debops' ## Split again the first window and move to 42 debops project split-window -v -tjd:1.1 -c '/home/jegardai/repos/101010.debops' # Kill first pane of the first window # Little trick to avoid to set this directory as default for any new pane… kill-pane -tjd:1.1 # Second window named **IPR** new-window -d -nIPR -c '/home/jegardai/repos/ipr.debops' # with 2 panes in IPR debops project split-window -d -h -tjd:2.1 -c '/home/jegardai/repos/ipr.debops' # Third window for APT upgrade new-window -nAPT 'sudo apt update ; sudo aptitude full-upgrade ; sudo aptitude clean ; exec ${SHELL}' # Fourth window for authentication tools new-window -nAuth 'gpg --quiet --for-your-eyes-only --decrypt ~/.password-store/test.gpg ; logout' split-window -h 'ssh-add -l | grep -qi -- "(ed25519)" || ssh-add ~/.ssh/id_ed25519 ; logout' set-window-option synchronize-panes on # Default pane should be jd:4.2 #select-pane -tjd:4.2 } # If a default session still exists {{{ if-shell -b 'tmux has-session -t 0' { # Kill it kill-session -t 0 } # }}} }