mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
bind m-4 run -C '#{@layout-vertical-two}'
 | 
						|
 | 
						|
set -g @layout-vertical-two {
 | 
						|
  selectl main-vertical
 | 
						|
  if -F '#{==:#{@vertical-two-active},true}' {
 | 
						|
    set -wu @vertical-two-active
 | 
						|
  } {
 | 
						|
    if -F '#{&&:#{==:#{N/s:layout_overflow},0},#{e|>=:#{n:#{P:x}},3}}' {
 | 
						|
      run -C '#{@layout-vertical-two-init}'
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
set -g @layout-vertical-two-init {
 | 
						|
  set -gF @total_panes '#{n:#{P:x}}'
 | 
						|
  set -gF @cur_window '#S:#I'
 | 
						|
  new -ds layout_overflow
 | 
						|
  run -C '\
 | 
						|
    swapw -t layout_overflow: -s . ;\
 | 
						|
    splitw -fh -l 40% -t #{@cur_window} ;\
 | 
						|
    splitw  -h        -t #{@cur_window}.2 ;\
 | 
						|
    swapp -s #{@cur_window}.1 -t layout_overflow:1.1 ; killp -t layout_overflow:1.1 ;\
 | 
						|
    swapp -s #{@cur_window}.2 -t layout_overflow:1.1 ; killp -t layout_overflow:1.1 ;\
 | 
						|
    swapp -s #{@cur_window}.3 -t layout_overflow:1.1 ; killp -t layout_overflow:1.1 ;\
 | 
						|
    #{@layout-vertical-two-loop}'
 | 
						|
}
 | 
						|
 | 
						|
set -g @layout-vertical-two-cleanup {
 | 
						|
  set -gu @cur_window
 | 
						|
  set -gu @total_panes '#{n:#{P:x}}'
 | 
						|
  set -w @vertical-two-active true
 | 
						|
  selectp -t .1
 | 
						|
}
 | 
						|
 | 
						|
# (x - 1) % 2 == 0 ? (x - 1) / 2 + 1 : x
 | 
						|
# #{?#{==:#{e|%:#{e|-:#{cur_panes},1},2},0}  <-- TODO: inserting horizontally shuffles windows.
 | 
						|
#  ,#{e|+:#{e|/:#{e|-:#{cur_panes},1},2},1}  <-- end of first column
 | 
						|
#  ,#{cur_panes}}                            <-- end of second column
 | 
						|
set -g @layout-vertical-two-loop {
 | 
						|
  # count(panes) < count(original.panes)
 | 
						|
  if -F '#{e|<:#{n:#{P:x}},#{@total_panes}}' {
 | 
						|
    run -C "joinp -s layout_overflow:1.1 -vt '#{@cur_window}.#{?#{==:#{e|%:#{e|-:#{#{n:#{P:x}}},1},2},0},#{e|+:#{e|/:#{e|-:#{#{n:#{P:x}}},1},2},1},#{#{n:#{P:x}}}}' ;\
 | 
						|
    selectl -E ; #{@layout-vertical-two-loop}"
 | 
						|
  } {
 | 
						|
    run -C '#{@layout-vertical-two-cleanup}'
 | 
						|
  }
 | 
						|
}
 |