You can probably make your first solution more reliable by using pane
ids. Store the output of "tmux display -p '#{window_id}'" in an
environment variable when doing the renamew and then use it as the
target when restoring, so that the right window gets renamed back.

There is not actually much tmux itself could do here really, we can't
tell what state your shell sufficiently to know when to show the
title. The only possibility might be to have a way to make a simple
table so the name "ksh" always gets turned into "#T".



On Sun, Aug 05, 2012 at 11:33:57PM -0700, John Magolske wrote:
> Just found some problems with using "rename-window" in the approach
> outlined below...
> 
> * John Magolske <listm...@b79.net> [120802 20:30]:
> > Ok, figured out something that works...
> > 
> > * John Magolske <listm...@b79.net> [120801 09:15]:
> > > I'm trying to get the title of the active pane in the status line to
> > > display $PWD when no command is active, and the current command when
> > > a command is active. So, for example, if I cd to ~/Mail in the active
> > > pane of window 7 the status line would be simply: 7*Mail
> > > 
> > > Then if I invoke the vifm file browser:  7*vifm
> > > view a file with less:  7*less
> > > or edit a file with vim:  7*vim
> > > And upon quiting any of these & returning to the command prompt:  7*Mail
> > 
> > So now, with these in ~/.zshrc :
> > 
> >   preexec () {
> >       local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]}
> >       [[ "$TERM" == tmux* ]] && tmux rename-window "$CMD"
> >   }
> > 
> >   precmd () {
> >       [[ $TERM == tmux* ]] && tmux rename-window ${PWD//*\//}
> >   }
> > 
> > And #W in ~/.tmux.conf like so:
> > 
> >   setw -g window-status-current-format '#I#F#W '
> >   setw -g window-status-format '#I#F#W '
> > 
> > I can get the title behaviour described above. Additionally, a more
> > verbose & customized title for Vim can be had with this in ~/.vimrc :
> >
> >   set title
> >   " show 'V:filename' as window name
> >   set titlestring=\%(\%M%)V:%t
> 
> An example illustrating the problem:
> 
> With Mutt running in window 1, switch to window 2 and run the mairix
> command, then switch back to Mutt in window 1. As soon as mairix is
> done running, the title of window 1 will change from "mutt" to the
> $PWD of window 2, and the title of window 2 will remain "mairix" until
> cd'ing to another dir or running another command in that window.
> 
> Another approach which works better but has different problems:
> 
> ~/.zshrc :
>   preexec () {
>       local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]}
>       [[ "$TERM" == tmux* ]] && printf "\033]2;$CMD\033\\"
>   }
>   precmd () {
>       [[ "$TERM" == tmux* ]] && printf "\033]2;`basename ${PWD}`\033\\"
>   }
> 
> ~/.tmux.conf :
>   setw -g window-status-current-format '#I#F#T '
>   setw -g window-status-format '#I#F#T '
> 
> This works fairly well, but I'm not finding a way to set the title of
> windows created using the "new-window" command. For example:
> 
>   bind-key + run-shell 'tmux new-window -n ether-up "ifup_ether"'
> 
> only shows $HOST as the title of the window created while running that
> command. The previous approach using "rename-window" and #W allows the
> window to be titled "ether-up" as specified by the -n flag.
> 
> Also, this second approach does not allow for the more customized
> titles with Vim using "set titlestring=..." in ~/.vimrc (just shows
> "vim" as the window title).
> 
> Thanks for any help sorting this out,
> 
> John
> 
> -- 
> John Magolske
> http://B79.net/contact
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> tmux-users mailing list
> tmux-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tmux-users

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to