EmacsWiki: Multi TTYSupport (original) (raw)
Use the multiple tty feature if you need one process that displays on tty and X at the same time.
From etc/NEWS.23
:
- Changes in Emacs 23.1
** Improved X Window System support
*** Emacs now supports using both X displays and ttys in one session.
With an Emacs server active (M-x server-start), emacsclient -t' creates a tty frame connected to the running emacs server. You can use any number of different ttys.
emacsclient -c' creates a new X11
frame on the current DISPLAY(orattyframeifDISPLAY (or a tty frame if DISPLAY(orattyframeifDISPLAY is not set).
There may be problems if a display exits unexpectedly and Emacs is compiled
with Gtk+, see etc/PROBLEMS.
You can test for the presence of this feature in your Lisp code by testing for the `multi-tty' feature.
Usage
Usage examples can be found at these locations:
- http://emacs-fu.blogspot.com/2009/02/emacs-daemon.html
- http://www.enigmacurry.com/2007/05/24/multi-tty-emacs-on-gentoo-and-ubuntu/
- http://blog.mwolson.org/tech/emacs_now_has_multi-tty_in_cvs_head
The EmacsClient also has a number of interesting configuration options that would work with MultiTTYSupport.
You might also want to look at some changes to .screenrc to make sure that hitting C-a to go to the beginning of the line doesn't kill your screen session. Here is an example:
Using Control-Z as the command key is great. By convention, it’s a keystroke that gets you out of your current application (suspending TTY apps, or iconifying Emacs in a windowing system), so using it for Screen commands is a natural outgrowth. But don’t use “a” to send a literal Control-Z to the application like Bill has it. Use ^z^z. That switches the command character to Control-Z, and hitting Control-Z again sends a literal Control-Z to the application. Why is this better?
- Hitting the same key twice is faster than switching to a different key.
- Once you suspend a TTY app, your shell eats the rest of the Control-Z keystrokes.
This latter means that you don’t have to worry about the exact number of times you hit Control-Z. If you might have hit too many and you don’t know what the context is, just hit RET (which is a null-op for the shell, and reprints the last message for Screen).