Hi

They are being evaluated when run-shell happens, it now treats it's
argument as a format. You should be able to use ##{} instead.


On Sun, Mar 02, 2014 at 03:34:47PM -0500, Kaushal wrote:
>    I use tmux 1.9a in xterm, tcsh.
> 
>    I tweak a lot with my shell init script and I like to source it again
>    almost every day in all panes/windows/sessions.
> 
>    I tried doing that through run-shell in tmux but it didn't work and for
>    now I am using an alias to do the job.
> 
>    ----------
>    alias tcmdall "tmux list-sessions***************** -F
>    '#{session_name}'******* | xargs -I SESS \\
>    ****************** tmux list-windows* -t SESS********* -F
>    'SESS:#{window_index}'** | xargs -I SESS_WIN \\
>    ****************** tmux list-panes*** -t SESS_WIN***** -F
>    'SESS_WIN.#{pane_index}' | xargs -I SESS_WIN_PANE \\
>    ****************** tmux send-keys**** -t SESS_WIN_PANE '\!*' Enter"
>    ----------
> 
>    I was unable to do that same using run-shell and so I made the alias less
>    complicated to debug it.
> 
>    When I run the below alias in tmux
> 
>    ----------
>    *alias tcmdallw "tmux list-windows****************** -F
>    '#{session_name}:#{window_index}' | xargs -I SESS_WIN \\
>    ******************* tmux list-panes*** -t SESS_WIN***** -F
>    'SESS_WIN.#{pane_index}'"
>    ----------
>    I get,
>    ----------
>    kmodi:1.1
>    kmodi:2.1
>    kmodi:3.1
>    kmodi:3.2
>    kmodi:4.1
>    kmodi:5.1
>    kmodi:6.1
>    kmodi:6.2
>    kmodi:7.1
>    kmodi:8.1
>    kmodi:9.1
>    kmodi:9.2
>    ----------
> 
>    BUT when I run the same through run-shell using a key-binding,
>    ----------
>    bind* C-e run "tmux list-windows -F '#{session_name}:#{window_index}' |
>    xargs -I SESS_WIN tmux list-panes -t SESS_WIN -F 'SESS_WIN.#{pane_index}'"
>    ----------
>    I get,
>    ----------
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    kmodi:1.1
>    ----------
> 
>    This "kmodi" session has 9 windows. So it printed "kmodi:1.1" nine times.
>    But what's strange is that the #{window_index} and #{pane_index} variables
>    stayed frozen for all the iterations! On the other hand the tcmdallw alias
>    above did exactly what I expected (cycle through the windows and panes
>    based on "xargs -I".
> 
>    So it could be one of two things:
>    - Either this is a bug that the #{window_index} and #{pane_index} freeze
>    to the values of current window and pane when executing via tmux run-shell
>    (but don't freeze when executed via shell alias).
>    - I am doing it wrong. If so, how can I implement the tcmdallw
>    functionality using tmux run-shell? My ulimate goal is to get the below
>    working using a tmux key-binding.
> 
>    ----------
>    alias tcmdall "tmux list-sessions***************** -F
>    '#{session_name}'******* | xargs -I SESS \\
>    ****************** tmux list-windows* -t SESS********* -F
>    'SESS:#{window_index}'** | xargs -I SESS_WIN \\
>    ****************** tmux list-panes*** -t SESS_WIN***** -F
>    'SESS_WIN.#{pane_index}' | xargs -I SESS_WIN_PANE \\
>    ****************** tmux send-keys**** -t SESS_WIN_PANE '\!*' Enter"
>    ----------

> ------------------------------------------------------------------------------
> Flow-based real-time traffic analytics software. Cisco certified tool.
> Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
> Customize your own dashboards, set traffic alerts and generate reports.
> Network behavioral analysis & security monitoring. All-in-one tool.
> http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk

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


------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to