Re: [STUMP] Using run-or-raise to manage pre-configured windows inatmux session
Mostafa Razavi <[email protected]>
| Newsgroups | gmane.comp.window-managers.stumpwm.devel |
|---|---|
| Message-ID | <CAGvrGnePrd-BXn=eAQ+VMOyipwexh3VE3y_PtsaB7Y55=2S7yg@mail.gmail.com> |
Alexander,
This is from my .stumpwmrc. Perhaps something like this works for you too.
(defcommand emacs-in-tmux () ()
"attempts to switch to an emacs instance run in a tmux window
called 'emacs', itself inside a urxvt instance."
(let ((ret
(run-shell-command "tmux select-window -t emacs ; echo $?" t)))
(if (eql (elt ret 0) #\0)
(run-or-raise "urxvt" '(:class "URxvt"))
(message "no tmux session found."))))
(define-key *root-map* (kbd "C-e") "emacs-in-tmux")
On Wed, Apr 9, 2014 at 8:09 PM, Stefan Reichör <[email protected]> wrote:
> "J. David Smith" <[email protected]> writes:
>
> > Not sure about tmux being able to do that, I don't use it myself. If it
> can, great. If not, then
> > (window-send-string) is the way to go.
>
> I have one tmux session running and the following works for me:
> (run-shell-command "tmux select-window -t CONTROL")
>
> Not sure, how multiple tmux sessions will be handled.
>
> (window-send-string "tmux select-window -t CONTROL") will only work when
> you are in a shell window.
>
> Otherwise you need to send Control-B : somehow to enter the tmux command
> mode.
>
> > On Wed, Apr 9, 2014 at 11:28 AM, Michael Raskin <[email protected]>
> wrote:
> >
> > >@Michael Raskin: that'll send the command to a *new* shell, not the
> > >existing mlterm session.
> >
> > Can't tmux send commands to a preexisting session? I use this screen
> > functionality a lot and always assumed tmux also has something like
> > that. It is somewhat more reliable than emulating key events...
> >
> > >Bjergaard's solution works -- at least with urxvt.
> > >
> > >Here is a sample that runs ls in a non-emacs urxvt client window:
> > >
> > >(defcommand ls () ()
> > >
> > > (run-or-raise "urxvtc" '(:class "URxvt" :title
> "^(?!emacs)"))
> > >
> > > (window-send-string (format nil "ls~%")))
> > >
> > >Using (format nil "ls~%") is necessary, the C-style "ls\n" will not
> work.
> >
> > Literal line break should work, though.
> >
> > "ls
> > "
>
>
> Stefan.
>
> _______________________________________________
> Stumpwm-devel mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
>
_______________________________________________
Stumpwm-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel