• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..16-Mar-2011-

Eterm.1.inH A D17-Aug-200864.6 KiB2,3292,129

Eterm.tcapH A D16-Mar-20111,018 2019

Eterm.tiH A D17-Aug-20085.6 KiB151126

Makefile.amH A D17-Aug-20081.2 KiB2920

Makefile.inH A D03-May-202211.9 KiB433373

README.EscreenH A D17-Aug-200812 KiB354208

README.Escreen

1
2
3 _____ _    ___          _____
4|  ___/ \  / _ \   _ _  | ____|___  ___ _ __ ___  ___ _ __
5| |_ / _ \| | | | (_|_) |  _| / __|/ __| '__/ _ \/ _ \ '_ \
6|  _/ ___ \ |_| |  _ _  | |___\__ \ (__| | |  __/  __/ | | |
7|_|/_/   \_\__\_\ (_|_) |_____|___/\___|_|  \___|\___|_| |_|
8
9Frequently Asked Questions about the "Escreen/Etwin" extension
10
11
12
13------------------------------------------------------------------------------
14
15
16
17   BEFORE INSTALLING IT
18
19
20
21Q  What is it?
22
23A  Eterm now offers you to compile in experimental support for the
24   "screen" program.  "screen" is a terminal multiplexer (one window,
25   several shells).  Yes, it's like konsole or multi-gnome-terminal,
26   only that your shells won't die just because X or the Window Manager
27   do.  Oh, and you can pick up your home session from work, and vice
28   versa.  And several people can connect to the same session at once,
29   and...
30
31     You get this picture -- if you're a power-user, this is for you.
32
33   Also, if you're not a power-user, this is *not* for you.  It's alpha.
34   It's experimental.  Reported bugs will get fixed where possible, but
35   there can be no newbie support at this time.
36
37
38
39Q  How do I get it?
40
41A  You already have it.
42
43     ./configure --enable-escreen && make && make install
44
45   Oh, and you also need the screen program.  In our tests, we used
46   Screen version 3.09.11 (FAU) 14-Feb-02.
47
48
49
50Q  What should I expect from it?  (subject to change)
51
52A  An Eterm should open with a screen (without a status-line) running
53   inside of it.  There should be a button-bar in the Eterm enumerating
54   the multiplexed terminal (you usually start with one), and button with
55   a menu of screen-related actions.  If you normally don't use a button-bar,
56   Escreen will create one for you.  Otherwise, it will add buttons to your
57   existing bar.
58
59*  .screenrc, $SCREENRC, [/usr/local]/etc/screenrc and $SYSSCREENRC are
60   supported.  To a point.  If something doesn't work, try things without
61   the screenrc.  If it works then, find the offending line in the screenrc
62   and send it to me if you'd like a fix.  Thankyou.
63
64*  Eterm-buttons are supported (left click on display-name to activate
65   the display, middle to close it, right to rename it).
66
67*  Sending statements to screen (^A: in the default setup) with
68   tab-completion
69
70*  support for screen command-line options:
71   Eterm -U screen://localhost/-xRR+-c~/.screenrc.testing
72
73*  menu for "screen"-functions (if you add your own, use ^A as the
74   escape-character in the ECHO action; Escreen will remap it to
75   whatever is actually used in the session)
76
77*  alert boxes for messages from screen
78
79*  support for SSH-tunneling through firewalls
80
81*  Easy-to-remember key-layout (optional, see below)
82
83*  You can pass arbitrary paramters to screen/scream
84
85
86
87Q  What's new?
88
89*  Should work with Debian Unstable now (2002/10/03)
90
91*  libscream's functions are available through Eterm's scripting
92   facility.  See escreen.cfg for an example.
93
94*  Preliminary Twin support. For now, Twin-URLs (Eterm -U twin://)
95   and Twin's mouse-protocol are supported, allowing you start twin
96   within Eterm (making it the only terminal emulator to support Twin,
97   AFAIK).  Next release should feature Twin support through libscream
98   (thus exposing Twin to button- and key-bindings through Eterm's
99   scripting interface).
100
101   For more information on Twin see
102   http://freshmeat.net/projects/twin/?topic_id=158
103
104*  Tear-off tabs.  You can select the button-representation of a
105   display and drag-and-drop it [currently under reconstruction]
106
107   - to another button:
108
109     The display is moved to that position; the dragged-to display
110     and all displays following it each move one slot to the right.
111     (Yes, a swap may occur rather than an insert, cause that's what
112     screen does.  We'll provide a work-around with the next version.)
113
114   - to the desktop:
115
116     This opens another Escreen window (selecting the dragged session
117     where possible).  This is very alpha and not intended for productive
118     use (yet).
119
120
121
122Q  What should I expect in the future?  (TODO)
123
124*  Limited support for scrolling.  screen doesn't give us all the info
125   we'd need to make this really sexy.
126
127
128
129------------------------------------------------------------------------------
130
131
132
133   AFTER INSTALLING IT
134
135
136
137Q  How do I start it?
138
139A  If you call it an Eterm, it will behave like one.  Same for an Escreen.
140   (you'd have to symlink from Escreen to Eterm first, of course).
141   Additionally, when called with a command-line (-e "/some/program"), the
142   suite will *always* behave like an Eterm, even if invoked as Escreen.
143   Likewise, when called with an URL (-U screen://user@some.host.gov/),
144   it will behave like an Escreen, even if invoked under another name.
145
146
147
148Q  Something is amiss!  Moan, moan, complain, complain!
149
150A  Before you complain:
151
152*  Take a deep breath, remember you didn't pay for this.
153
154*  Check whether you are using the latest version.  Support for each
155   version ceases with the release of a new one!
156
157*  Read all of the FAQ, your question may be answered in there.
158   Remember that the FAQ grows with almost each release, so re-reading
159   it with each release is a good idea.  Gives you something to do while
160   compiling, too.  Also see the manual page for Eterm, and that for screen.
161
162*  Check whether the problem only occurs when using your screenrc
163   (see below).
164
165*  If remote sessions break, check whether terminfo isn't broken on the
166   remote machine.
167
168*  Send a detailed bug-report.  Often, it will not be possible to reproduce
169   the bug on my set, so I'll need the info from yours.  This includes your
170   screenrc.  Sometimes tracing the problem will only be possible if you send
171   me Escreen's debug output.  To get it, #define NS_DEBUG in screamcfg.h
172   and recompile.
173
174*  If you send a usable bug-report, you will normally receive a free fix,
175   or at least an explanation why there will be no fix.  If on the other
176   hand you asked something that's explained in this FAQ, we will laugh
177   at you and THEN be rude.  Sorry, but you already got free code, a free
178   FAQ, and, in many cases, free support.  Wasting my time with questions
179   I already answered is not a welcome response to this generosity.
180
181
182
183Q  Creating a new screen takes forever!?  (While connecting to an
184   existing one doesn't?)
185
186A  It's the price of making things compatible with stupid screen.  To
187   disable compatibility mode for local connections, pass -z 0 to Eterm
188   on the command line.  (This has no effect on remote sessions!)
189   Depending on your setup, -z 0 will either make creating new screens
190   much faster, or not work at all for you.  Good luck.
191
192
193
194Q  ^A does funny things!
195
196A  Well, yes.  ^A talks to the screen program.  Put a line
197   like "escape ^Aa" in "~/.screenrc".  The example declares
198   Control-A (^A) to be the magic key (and ^A-a what you need
199   to press to send the escape (^A in the example) to the application
200   instead); you'll want to put something else to move it around.
201   See "man screen" for details.
202
203   Note that ^A: opens a buffer where you can directly enter
204   statements like "escape ^Uu"; trying things out will be
205   easier that way.  Yes, it the magic key will be ^U: afterwards. ; )
206
207
208
209Q  I typed ^A and it *doesn't do* funny things!
210
211A  You probably already  have changed the magic escape key to something
212   other than ^A (on the command-line, within Escreen, or in .screenrc).
213   Er, you *did* hold Control, then press A, rather then typing a ^ and
214   an A, right?
215
216
217
218Q  But I don't like all this control-whatever stuff, can I have easier
219   to remember key-bindings?
220
221A  Sure.  Eterm is The Configurable Terminal, after all.  A pret-a-porter
222   example that you can simply add to the action context of your theme.cfg
223   file (or %include from it) lives in escreen.cfg -- enjoy.
224
225
226
227Q  Escreen changes the escape on the remote box to the same thing as on
228   the local box, does it have to?
229
230A  You can always override the escapes like so:
231
232     Eterm -U screen://user@host.com/-e^Xy
233
234   Where ^X is the escape and y the literal (man screen).
235
236
237
238Q  Escreen only creates a new session when there is none; otherwise,
239   it connects to the existing one!
240
241A  It's not a bug, it's a feature. : )  The default parameters for
242   the screen Escreen starts are "-RDD".  You can override those by
243   putting your own parameters in the URL
244
245     Eterm -U "protocol://user@host:port/screen_parameters"
246
247   like so:
248
249     Eterm -U "screen://foo@bar.com/-xRR"
250
251   or, for a local screen with no parameters:
252
253     Eterm -U "localhost/ "   # which is the same as
254     Eterm -U "/ "            # which is the same as
255     Eterm -U /+
256
257
258
259Q  Escreen complains about stuff in my .screenrc!
260
261A  If it works aside from that, ignore the machine.  If it doesn't, try
262   things without the screenrc.  If it works then, find the offending
263   line in the screenrc and send it to me if you'd like a fix.  Thankyou.
264
265
266
267Q  When Escreen connects to an existing session, things don't work.
268   They do otherwise.
269
270A  In all likelihood you're not using the same .screenrc when picking
271   up the session that you used when creating it.  If it's just a matter
272   of the escapes being different, you can tell the front-end which ones
273   the backend uses either by providing the right screenrc, or by setting
274   them on the command-line:
275
276     Eterm -U "/-e^Xy"
277
278   Where ^X is the escape-character, and y the literal.  Replace as needed.
279   See "man screen" for more info on escapes.
280
281
282
283Q  I don't see any buttons when I run Escreen (Eterm -U "")!
284
285A  Escreen could not set up screen in a decent way.  Don't use -z 0.
286   Try it without the screenrc interfering.  If this only happens when
287   picking up a session, see above.
288
289
290
291Q  Escreen opens, then closes again (with a local session).
292
293A  Escreen cannot run "screen".  If you do have "screen", and it is in the
294   search path, screen apparently terminates right away.  Normally
295   this is a session-problem:  there are several sessions, and Escreen
296   doesn't know which one to pick up, or all sessions are "dead"
297   (unreachable).
298
299   screen -ls                   will give you a list of the sessions;
300   screen -wipe                 will remove dead sessions;
301   Eterm -U "/-r session_name"  will pick up the session named session_name.
302
303
304
305Q  Escreen opens, then closes again (with a remote session).
306
307   If it's not one of the problems described above, the remote end might
308   just find your terminal type confusing.  The "--term-name" option with
309   something vanilla (--term-name vt100) should remedy this.
310
311
312
313Q  Escreen works, except when I use -Z to tunnel through a firewall?
314
315A  Try to manually ssh to the firewall, see how long that takes.  Then,
316   tune the delay in the -Z option accordingly (cf man Eterm):
317
318     Eterm -U ... -Z "localport:firewall:remoteport,delay"
319
320
321
322Q  I'd like for the button labels to be in a different colour.
323
324A  At this time, the labels follow the general (text) colours.
325   You will be able to define colours for (foreground|background|active|bell)
326   windows' labels in later releases.
327
328
329
330Q "screen" support rocks!  Can we have it in konsole/multi-gnome-terminal?
331
332A  I will not attempt anything like that before I am happy with Escreen.
333   The code, however, is LGPL'd, and its use is documented by example of
334   Eterm (grep for ESCREEN).  If you can work with that, do.
335
336
337
338Q  Who's responsible for this?
339
340A  Escreen is an Eterm extension conceived and written by Azundris.
341   Do not complain to KainX (who courteously added the patch for the
342   enjoyment of the hardy) if you break your Eterm by compiling this
343   in (or by trying to use the alpha-functionality).  By using this,
344   you agree that anything happening while or because of using it is
345   your fault, and your fault only.
346   Unfortunately, screen is poorly coded, and a bummer to support.
347
348   Someone (perhaps this kitty) may at some point provide a better
349   backend, but since we cannot expect that backend on our every
350   client's machine, we'll still need to support GNU screen, much
351   as we may hate its protocol (or lack thereof, really).
352
353-- Azundris 2002/05/23  <scream@azundris.com>  http://www.azundris.com/
354