*24 Jan 2015*
<div class="posthaven-post-body">
Here's a neat trick: Setting the current tmux window/pane title to the current running command. In case there is no command running, show the current working directory. But trim it a little, so we don't end up with huge window titles :)
In your config.fish file add the following functions:
\# Set the tmux window title, depending on whether we are running something, or just prompting function fish_title if \[ "fish" != \$\_ \] tmux rename-window "\$\_ \$argv" else tmux_directory_title end end
function tmux_directory_title if \[ "\$PWD" != "\$LPWD" \] set LPWD "\$PWD" set INPUT \$PWD set SUBSTRING (eval echo \$INPUT\| awk '{ print substr( \$0, length(\$0) - 19, length(\$0) ) }') tmux rename-window "..\$SUBSTRING" end end
The first one is a special function called by fish on every command execution. I'm using it to see what is being ran (\$\_ gives you the command in execution). If it's fish itself, then call tmux\\directory\\title to set PWD as the title.
The second function - as explained - sets the title as grabbed from the current working directory (PWD). Except it performs a little AWKing to trim it down to 20 chars max (the last ones).
Enjoy.
</div>
[[tags/command|command]] [[tags/directory|directory]] [[tags/dynamic|dynamic]] [[tags/fish|fish]] [[tags/linux|linux]] [[tags/osx|osx]] [[tags/shell|shell]] [[tags/tmux|tmux]]