Skip to content

Bug: start_directory isn't respected for first pane #724

Closed
@thiagowfx

Description

@thiagowfx

Step 1: Provide a summary of your problem

  • For general technical questions, problems or feature requests related to the code in this repository file an issue.

When creating a basic config with 1 window + 2 panes and setting start_directory for each of the panes, only the second one is applied. The first pane uses the current working directory, its start_directory setting is completely ignored.

Step 2: Provide tmuxp details

  • Include output of tmuxp debug-info
  • Include any other pertinant system info not captured
-------------------------
environment:
	dist: Linux-5.15.12-arch1-1-x86_64-with-glibc2.33
	arch: x86_64
	uname: Linux; valhalla; 5.15.12-arch1-1
	version: #1 SMP PREEMPT Wed, 29 Dec 2021 12:04:56 +0000
-------------------------
python version: 3.10.1 (main, Dec 18 2021, 23:53:45) [GCC 11.1.0]
system PATH: /usr/share/git/diff-highlight:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
tmux version: 3.2
libtmux version: 0.10.2
tmuxp version: 1.9.3
tmux path: /sbin/tmux
tmuxp path: /usr/lib/python3.10/site-packages/tmuxp/__init__.py
shell: /bin/zsh
-------------------------
tmux sessions:
	start_directory_bug: 1 windows (created Mon Jan  3 16:12:43 2022) (attached)

tmux windows:
	1: zsh* (2 panes) [135x42] [layout 1060,135x42,0,0[135x21,0,0,1,135x20,0,22,2]] @1 (active)

tmux panes:
	1: [135x21] [history 0/50000, 4547 bytes] %1
	2: [135x20] [history 291/50000, 96966 bytes] %2 (active)

tmux global options:
	@fingers-compact-hints 0
	@fingers-hint-position-nocompact left
	@fingers-key f
	@plugin tmux-plugins/tmux-prefix-highlight
	@prefix_highlight_show_copy_mode on
	@prefix_highlight_show_sync_mode on
	activity-action other
	assume-paste-time 1
	base-index 1
	bell-action any
	default-command ''
	default-shell /bin/zsh
	default-size 80x24
	destroy-unattached off
	detach-on-destroy on
	display-panes-active-colour red
	display-panes-colour blue
	display-panes-time 1000
	display-time 3000
	history-limit 50000
	key-table root
	lock-after-time 0
	lock-command "lock -np"
	message-command-style bg=black,fg=yellow
	message-style fg=yellow,bg=black,bright
	mouse on
	prefix C-a
	prefix2 None
	renumber-windows on
	repeat-time 500
	set-titles on
	set-titles-string "#H #S #I:#W"
	silence-action other
	status on
	status-bg default
	status-fg default
	status-format[0] "#[align=left range=left #{status-left-style}]#[push-default]#{T;=/#{status-left-length}:status-left}#[pop-default]#[norange default]#[list=on align=#{status-justify}]#[list=left-marker]<#[list=right-marker]>#[list=on]#{W:#[range=window|#{window_index} #{window-status-style}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#[push-default]#{T:window-status-format}#[pop-default]#[norange default]#{?window_end_flag,,#{window-status-separator}},#[range=window|#{window_index} list=focus #{?#{!=:#{window-status-current-style},default},#{window-status-current-style},#{window-status-style}}#{?#{&&:#{window_last_flag},#{!=:#{window-status-last-style},default}}, #{window-status-last-style},}#{?#{&&:#{window_bell_flag},#{!=:#{window-status-bell-style},default}}, #{window-status-bell-style},#{?#{&&:#{||:#{window_activity_flag},#{window_silence_flag}},#{!=:#{window-status-activity-style},default}}, #{window-status-activity-style},}}]#[push-default]#{T:window-status-current-format}#[pop-default]#[norange list=on default]#{?window_end_flag,,#{window-status-separator}}}#[nolist align=right range=right #{status-right-style}]#[push-default]#{T;=/#{status-right-length}:status-right}#[pop-default]#[norange default]"
	status-format[1] "#[align=centre]#{P:#{?pane_active,#[reverse],}#{pane_index}[#{pane_width}x#{pane_height}]#[default] }"
	status-interval 15
	status-justify left
	status-keys emacs
	status-left "#[fg=cyan]#H #[fg=colour242]• "
	status-left-length 40
	status-left-style default
	status-position bottom
	status-right "#{?client_prefix,#[fg=colour231]#[bg=colour04] ^A ,#{?pane_in_mode,#[default]#[fg=default]#[bg=yellow] Copy ,#{?synchronize-panes,#[default]#[fg=default]#[bg=yellow] Sync ,#[default]#[fg=default]#[bg=default]}}}#[default] #{?window_zoomed_flag,🔍 ,}#{?mouse,,#[dim]mouse:off}"
	status-right-length 65
	status-right-style default
	status-style fg=white,bg=default,bright
	update-environment[0] DISPLAY
	update-environment[1] KRB5CCNAME
	update-environment[2] SSH_ASKPASS
	update-environment[3] SSH_AUTH_SOCK
	update-environment[4] SSH_AGENT_PID
	update-environment[5] SSH_CONNECTION
	update-environment[6] WINDOWID
	update-environment[7] XAUTHORITY
	visual-activity off
	visual-bell off
	visual-silence off
	word-separators " "

tmux window options:
	aggressive-resize on
	allow-rename off
	alternate-screen on
	automatic-rename on
	automatic-rename-format "#{?pane_in_mode,[tmux],#{pane_current_command}}#{?pane_dead,[dead],}"
	clock-mode-colour blue
	clock-mode-style 24
	copy-mode-match-style bg=cyan,fg=black
	copy-mode-current-match-style bg=magenta,fg=black
	copy-mode-mark-style bg=red,fg=black
	main-pane-height 24
	main-pane-width 80
	mode-keys vi
	mode-style bg=yellow,fg=black
	monitor-activity off
	monitor-bell on
	monitor-silence 0
	other-pane-height 0
	other-pane-width 0
	pane-active-border-style fg=yellow,bg=default
	pane-base-index 1
	pane-border-format "#{?pane_active,#[reverse],}#{pane_index}#[default] \"#{pane_title}\""
	pane-border-lines single
	pane-border-status off
	pane-border-style default
	remain-on-exit off
	synchronize-panes off
	window-active-style default
	window-size latest
	window-style default
	window-status-activity-style reverse
	window-status-bell-style fg=red,bg=default,bright
	window-status-current-format "#I:#W"
	window-status-current-style fg=white,bg=default,bright
	window-status-format "#I:#W"
	window-status-last-style default
	window-status-separator " "
	window-status-style fg=colour242,bg=default,dim
	wrap-search on
	xterm-keys on

Step 3: Describe the problem:

Steps to reproduce:

Given a test directory: ~/test, create ~/test/.tmuxp.yml:

session_name: start_directory_bug
windows:
  - panes:
    - start_directory: /usr
    - start_directory: /etc

And then do cd ~/test; tmuxp load ..

Observed Results:

Pane 1 PWD: ~/test, Pane 2 PWD: /etc

Note that Pane 1 PWD was unchanged, it's the same as before. This is wrong.

Expected Results:

Pane 1 PWD: /usr, Pane 2 PWD: /etc

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions