Test if already inside a tmux
This commit is contained in:
		
							parent
							
								
									2b12a22861
								
							
						
					
					
						commit
						729cbff471
					
				|  | @ -16,41 +16,47 @@ | ||||||
| if-shell -b 'tmux has-session -t jd' { | if-shell -b 'tmux has-session -t jd' { | ||||||
| 	display-message "Attach to **jd** existing session" | 	display-message "Attach to **jd** existing session" | ||||||
| 	## Attach to the first pane of the first window | 	## Attach to the first pane of the first window | ||||||
|  | 	## Only works from a running tmux | ||||||
| 	attach-session -t jd:1.1 | 	attach-session -t jd:1.1 | ||||||
| } | } | ||||||
| # }}} | # }}} | ||||||
| # 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** | # If file was source from a running tmux | ||||||
| 	new-window -d -nIPR -c '/home/jegardai/repos/ipr.debops' | # This allow to run tmux source-file command outside of Tmux… | ||||||
| 	# with 2 panes in IPR debops project | if-shell -b 'test -n $TMUX' { | ||||||
| 	split-window -d -h -tjd:2.1 -c '/home/jegardai/repos/ipr.debops' | 	# 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 | ||||||
| 
 | 
 | ||||||
| 	# Third window for APT upgrade | 		# Second window named **IPR** | ||||||
| 	new-window -nAPT 'sudo aptitude update ; sudo aptitude full-upgrade ; exec ${SHELL}' | 		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' | ||||||
| 
 | 
 | ||||||
| 	# Fourth window for authentication tools | 		# Third window for APT upgrade | ||||||
| 	new-window -nAuth 'gpg --quiet --for-your-eyes-only --decrypt ~/.password-store/test.gpg ; logout' | 		new-window -nAPT 'sudo aptitude update ; sudo aptitude full-upgrade ; exec ${SHELL}' | ||||||
| 	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 | 		# Fourth window for authentication tools | ||||||
| 	#select-pane -tjd:4.2 | 		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 | ||||||
|  | 	} | ||||||
|  | 	# }}} | ||||||
| } | } | ||||||
| # If a default session still exists {{{ |  | ||||||
| if-shell -b 'tmux has-session -t 0' { |  | ||||||
| 	# Kill it |  | ||||||
| 	kill-session -t 0 |  | ||||||
| } |  | ||||||
| # }}} |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue