Skip to content

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

@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
    No fields configured for issues without a type.

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions