4

I'm trying to set my tmux window's title to be the current directory that I am in. Now pane_current_path is perfect for this, but it prints the full path in my machine.

Is it possible to run pane_current_path though some formatting and only print out the current directory?

Currently using it like this

setw -g window-status-current-format "#{pane_current_path}" setw -g window-status-format "#{pane_current_path}" 

2 Answers 2

6

Tmux man page, under FORMATS section says:

The b: and d: prefixes are basename(3) and dirname(3) of the variable respectively.

Following option should effectively change window's title to basename of current directory:

setw -g automatic-rename-format "#{b:pane_current_path}"

5

(Inspired by https://stackoverflow.com/a/32426739 and https://stackoverflow.com/a/9757133)

This can be done if your shell has a 'precmd' hook (bash and zsh do); this hook would be setting tmux's pane title via escape sequence, and you'd use #{pane_title} instead of #{pane_current_path}. For bash, add something like this to ~/.bashrc:

[[ -n "$TMUX" ]] && PROMPT_COMMAND='echo -n -e "\e]2;${PWD##*/}\e\\"' 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.