5 The ultimate goal of this branch is to implement support for opening
6 multiple, different tty devices and simultaneous X and tty frames from
7 a single Emacs session.
12 I'm Károly Lőrentey. My address: lorentey@elte.hu.
14 Patches or suggestions are welcome!
20 We can create frames on new tty devices, but there are problems with
21 refresh (only the (single) selected frame is refreshed), and input is
22 read only from the initial terminal. At the moment, the type of the
23 new terminals must be the same as the initial terminal.
25 To try it out, start up emacs, and evaluate the following:
27 (make-terminal-frame '((tty . "/dev/pts/5") (tty-type . "xterm")))
29 (With your own values, of course.) If you switch to the new frame
30 with M-x other-frame, the new tty is refreshed with the frame
31 contents. The result of input from the original terminal appears on
32 the new. If you exit emacs, both terminals are restored to their
35 X, Mac, Windows and DOS support is broken.
42 ** Support for multiple terminal devices has been added. You can
43 specify a terminal device (`tty' parameter) and a terminal type
44 (`tty-type' parameter) to `make-terminal-frame'.
56 -- Introduce a new abstraction for terminal devices.
58 (Done, see struct tty_output. The abstraction is not yet
62 -- Change the bootstrap procedure to initialize tty_list.
64 (Done, but needs review.)
67 -- Change make-terminal-frame to support specifying another tty.
69 (Done, new frame parameters: `tty' and `tty-type'.)
75 ** Make make-terminal-frame look up the tty and tty-type parameters
76 from the currently selected terminal before the global default.
78 ** Move optimalization parameters (costs) from union output_data to
81 ** Implement terminal deletion, i.e., closing the tty device and
82 restoring its previous state without exiting Emacs. This should be
83 exported to the Lisp interpreter.
85 ** Implement automatic deletion of terminals, when the last frame on
86 that terminal is closed.
88 ** Put all cached terminal escape sequences into struct tty_output.
89 Currently, they are still stored in global variables, so we don't
90 really support multiple terminal types.
92 ** Support different terminal sizes. (Should be solved by the
95 ** Make sure terminal resizes are handled gracefully. (Could be
98 ** Implement support for reading from multiple terminals.
100 ** other-frame should cycle through the frames on the `current'
101 terminal. This means that Emacs must know from which terminal the
102 last keyboard event came from. (Multikeyboard support may help
105 ** Redisplay must refresh the topmost on all terminals, not just
106 the initial terminal.
108 ** Make struct tty_output available from Lisp.
110 ** Extend emacsclient to automatically open a new tty when it connects
113 ** Implement support for starting an interactive Emacs session without
114 an initial frame. (The user would connect to it and open frames
115 later, with emacsclient.) Not necessary a good idea.
119 ** Allow simultaneous X and tty frames.
121 ** Fix Mac support (I can't do this myself).
123 ** Fix W32 support (I can't do this myself).
125 ** Fix DOS support (I can't do this myself).
129 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d