Mercurial > emacs
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 |
| 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 |
