On Sun, Sep 12, 2010 at 02:58:01PM -0500, Joshua Isom wrote:
>  I wrote up a script to handle sessions for me.  I typically use ssh
> and a laptop so a multiplexer helps a lot, especially when updating
> software, encoding videos, or anything else that takes a lot of
> time.  I haven't used tmux for very long, I just recently found it,
> so I don't know if there's any quirks I'm not covering in the
> script.  Maybe other people can try it out and give suggestions?
> 
> 

> #!/bin/sh
> 
> sessions=
> # Check to see if tmux is running, or else sed might stall
> tmux has-session 1>&2 2>/dev/null

Are you sure this pair of redirections does what you think it does? :-)

You know that if tmux is running you can use choose-session command to
select a session?

Something like:

(tmux attach\; choose-session) || tmux new

Will attach and let you choose if there are existing sessions, or create
a new one if not. Although I realise yours does a little more.


> if [ $? -eq 0 ]; then
>       sessions=`tmux list-sessions 2>/dev/null | sed -e 's/^\(.*\): 
> \(.*\)$/"\1" "\2" /' -e 's/(attached)/[attached]/' -e 's/(created.*)//' `
> fi
> 
> # Get the terminal size, or default to 80x23 which is reasonable
> ttysize=`stty size 2>/dev/null`
> if [ $? -eq 0 ]; then
>       ttyw=`echo $ttysize|cut -f2 -d\ `
>       ttyh=`echo $ttysize|cut -f1 -d\ `
> else
>       ttyw=80
>       ttyh=23
> fi
> 
> # Clean up temp files when leaving
> tmuxsm_rmf ()
> {
>       rm -f $tmpfile
> }
> 
> trap tmuxsm_rmf exit
> 
> tmpfile=`mktemp -t tmuxsm`
> 
> eval dialog --menu \"tmux Session Manager\" \
>       $(($ttyh - 4)) $(($ttyw - 9)) $(($ttyh - 11)) \
>       "New" \"Start a new session\" \
>       $sessions 2>$tmpfile
> 
> # User canceled, or something else happened
> if [ $? -ne 0 ]; then
>       echo "Canceled 1"
>       exit 1
> fi
> 
> result=`/bin/cat ${tmpfile}`
> if [ "${result}" = "New" ]; then
>       tmuxsm_rmf 
>       dialog --inputbox "Session Name" 8  $(($ttyw - 9)) 2>$tmpfile
>       # User canceled, or something else happened
>       if [ $? -ne 0 ]; then
>               exit 1
>       fi
>       result=`/bin/cat ${tmpfile}`
>       exec tmux new-session -s "${result}"
> else
>       tmuxsm_rmf 
>       exec tmux attach-session -t "${result}"
> fi

> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing
> http://p.sf.net/sfu/novell-sfdev2dev

> _______________________________________________
> tmux-users mailing list
> tmux-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tmux-users


------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to