annotate README.multi-tty @ 53228:c5b253fd2504

Added a pointer to my archive to README.multi-tty git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-4
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 25 Dec 2003 07:36:05 +0000
parents dd3018b4785b
children 33c3c7c16e13
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
1 -*- coding: utf-8; -*-
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
2 GOAL
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
3 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
4
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
5 The ultimate goal of this branch is to implement support for opening
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
6 multiple, different tty devices and simultaneous X and tty frames from
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
7 a single Emacs session.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
8
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
9 WHO IS DOING IT
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
10 ---------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
11
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
12 I'm Károly Lőrentey. My address: lorentey@elte.hu.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
13
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
14 Patches or suggestions are welcome!
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
15
53228
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
16 Retrieving the branch:
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
17
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
18 tla register-archive lorentey@elte.hu--2004 http://lorentey.web.elte.hu/arch/2004/
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
19 tla get lorentey@elte.hu--2004/emacs--multi-tty--0 <directory>
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
20
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
21 (I use tla 1.1.)
c5b253fd2504 Added a pointer to my archive to README.multi-tty
Karoly Lorentey <lorentey@elte.hu>
parents: 53226
diff changeset
22
53226
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
23
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
24 STATUS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
25 ------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
26
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
27 We can create frames on new tty devices, but there are problems with
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
28 refresh (only the (single) selected frame is refreshed), and input is
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
29 read only from the initial terminal. At the moment, the type of the
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
30 new terminals must be the same as the initial terminal.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
31
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
32 To try it out, start up emacs, and evaluate the following:
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
33
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
34 (make-terminal-frame '((tty . "/dev/pts/5") (tty-type . "xterm")))
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
35
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
36 (With your own values, of course.) If you switch to the new frame
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
37 with M-x other-frame, the new tty is refreshed with the frame
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
38 contents. The result of input from the original terminal appears on
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
39 the new. If you exit emacs, both terminals are restored to their
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
40 previous states.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
41
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
42 X, Mac, Windows and DOS support is broken.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
43
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
44 NEWS
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
45 ----
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
46
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
47 For the NEWS file:
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
48
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
49 ** Support for multiple terminal devices has been added. You can
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
50 specify a terminal device (`tty' parameter) and a terminal type
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
51 (`tty-type' parameter) to `make-terminal-frame'.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
52
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
53
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
54 CHANGELOG
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
55 ---------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
56
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
57 See arch logs.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
58
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
59
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
60 THINGS THAT ARE DONE
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
61 --------------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
62
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
63 -- Introduce a new abstraction for terminal devices.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
64
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
65 (Done, see struct tty_output. The abstraction is not yet
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
66 complete.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
67
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
68
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
69 -- Change the bootstrap procedure to initialize tty_list.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
70
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
71 (Done, but needs review.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
72
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
73
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
74 -- Change make-terminal-frame to support specifying another tty.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
75
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
76 (Done, new frame parameters: `tty' and `tty-type'.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
77
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
78
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
79 THINGS TO DO
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
80 ------------
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
81
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
82 ** Make make-terminal-frame look up the tty and tty-type parameters
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
83 from the currently selected terminal before the global default.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
84
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
85 ** Move optimalization parameters (costs) from union output_data to
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
86 struct frame.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
87
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
88 ** Implement terminal deletion, i.e., closing the tty device and
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
89 restoring its previous state without exiting Emacs. This should be
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
90 exported to the Lisp interpreter.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
91
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
92 ** Implement automatic deletion of terminals, when the last frame on
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
93 that terminal is closed.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
94
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
95 ** Put all cached terminal escape sequences into struct tty_output.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
96 Currently, they are still stored in global variables, so we don't
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
97 really support multiple terminal types.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
98
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
99 ** Support different terminal sizes. (Should be solved by the
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
100 previous entry.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
101
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
102 ** Make sure terminal resizes are handled gracefully. (Could be
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
103 problematic.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
104
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
105 ** Implement support for reading from multiple terminals.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
106
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
107 ** other-frame should cycle through the frames on the `current'
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
108 terminal. This means that Emacs must know from which terminal the
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
109 last keyboard event came from. (Multikeyboard support may help
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
110 with this.)
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
111
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
112 ** Redisplay must refresh the topmost on all terminals, not just
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
113 the initial terminal.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
114
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
115 ** Make struct tty_output available from Lisp.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
116
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
117 ** Extend emacsclient to automatically open a new tty when it connects
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
118 to Emacs.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
119
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
120 ** Implement support for starting an interactive Emacs session without
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
121 an initial frame. (The user would connect to it and open frames
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
122 later, with emacsclient.) Not necessary a good idea.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
123
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
124 ** Fix X support.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
125
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
126 ** Allow simultaneous X and tty frames.
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
127
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
128 ** Fix Mac support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
129
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
130 ** Fix W32 support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
131
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
132 ** Fix DOS support (I can't do this myself).
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
133
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
134
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
135
dd3018b4785b Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
diff changeset
136 ;;; arch-tag: 8da1619e-2e79-41a8-9ac9-a0485daad17d