summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Jennings <mej@kainx.org>2002-05-22 15:38:35 +0000
committerMichael Jennings <mej@kainx.org>2002-05-22 15:38:35 +0000
commit9ce5b286eb67b2a8a9431f1aa8a3ee4c2d543085 (patch)
treedeac047a954b5da8e7270a4ed35b6dbcd01e3bf7 /doc
parentd185cd525ccead491607e5616277941af404378d (diff)
downloadeterm-9ce5b286eb67b2a8a9431f1aa8a3ee4c2d543085.tar.gz
Wed May 22 11:37:19 2002 Michael Jennings (mej)
Latest Escreen work from Azundris <scream@azundris.com>. SVN revision: 6270
Diffstat (limited to 'doc')
-rw-r--r--doc/README.Escreen190
-rw-r--r--doc/escreen.cfg132
2 files changed, 322 insertions, 0 deletions
diff --git a/doc/README.Escreen b/doc/README.Escreen
new file mode 100644
index 0000000..62a2d60
--- /dev/null
+++ b/doc/README.Escreen
@@ -0,0 +1,190 @@
+
+ESCREEN
+
+1 - What is it?
+
+Eterm now offers you to compile in experimental support for the
+"screen" program. "screen" is a terminal multiplexer (one window,
+several shells). Yes, it's like konsole or multi-gnome-terminal,
+only that your shells won't die just because X or the Window Manager
+do. Oh, and you can pick up your home session from work, and vice
+versa. And several people can connect to the same session at once,
+and...
+
+You get this picture -- if you're a power-user, this is for you.
+
+Also, if you're not a power-user, this is *not* for you. It's alpha.
+It's experimental. Reported bugs will get fixed where possible, but
+there can be no newbie support at this time.
+
+
+
+2 - How do I get it?
+
+You already have it. ./configure --enable-escreen && make && make install
+Oh, and you also need the screen program. In our tests, we used
+Screen version 3.09.11 (FAU) 14-Feb-02.
+
+
+
+3 - How do I start it?
+
+If you call it an Eterm, it will behave like one. Same for an Escreen.
+(you'd have to symlink from Escreen to Eterm first, of course).
+Additionally, when called with a command-line (-e "/some/program"), the
+suite will *always* behave like an Eterm, even if invoked as Escreen.
+Likewise, when called with an URL (-U "screen://user@some.host.gov/"),
+it will behave like an Escreen, even if invoked under another name.
+
+
+
+4 - What should I expect from it? (subject to change)
+
+An Eterm should open with a screen (without a status-line) running
+inside of it. There should be a button-bar in the Eterm enumerating
+the multiplexed terminal (you usually start with one), and button with
+a menu of screen-related actions. If you normally don't use a button-bar,
+Escreen will create one for you. Otherwise, it will add buttons to your
+existing bar.
+
+* .screenrc, $SCREENRC, [/usr/local]/etc/screenrc and $SYSSCREENRC are
+ supported.
+
+* Eterm-buttons are supported (left click on display-name to activate
+ the display, middle to close it, right to rename it).
+
+* Sending statements to screen (^A: in the default setup) with
+ tab-completion
+
+* support for screen command-line options:
+ Eterm -U screen://localhost/-xRR+-c~/.screenrc.testing
+
+* menu for "screen"-functions (if you add your own, use ^A as the
+ escape-character in the ECHO action; Escreen will remap it to
+ whatever is actually used in the session)
+
+* alert boxes for messages from screen
+
+* support for SSH-tunneling through firewalls
+
+
+
+5 - What's new?
+
+* Entering and exiting copy mode no longer produces a dialog box.
+ Just too bloody annoying, that.
+
+* SCREENRC, SYSSCREENRC, .../etc/screenrc support (thanks mej)
+
+* Easy-to-remember key-layout (optional, see below)
+
+* Comes up much faster
+
+* You can pass arbitrary paramters to screen/scream now
+
+
+
+6 - What should I expect in the future? (TODO)
+
+* Limited support for scrolling. screen doesn't give us all the info
+ we'd need to make this really sexy. There will likely be limited
+ support for screen (we need to keep this, it will be what we'll find
+ on remote machine), and possibly support for enhanced screen-clones
+ (like the perchance forthcoming "scream").
+
+
+
+9 - FAQ
+
+Q ^A does funny things!
+
+A Well, yes. ^A talks to the screen program. Put a line
+ like "escape ^Aa" in "~/.screenrc". The example declares
+ Control-A (^A) to be the magic key (and ^A-a what you need
+ to press to send the escape (^A in the example) to the application
+ instead); you'll want to put something else to move it around.
+ See "man screen" for details.
+ 2002/05/13 note that ^A: opens a buffer where you can directly enter
+ statements like "escape ^Uu"; trying things out will be
+ easier that way. yes, it will be ^U: afterwards. ; )
+
+Q I typed ^A and it *doesn't do* funny things!
+
+A You probably already have changed the magic escape key to something
+ other than ^A (on the command-line, within Escreen, or in .screenrc).
+ Er, you *did* hold Control, then press A, rather then typing a ^ and
+ an A, right?
+
+Q But I don't like all this control-whatever stuff, can I have easier
+ to remember bindings?
+
+A Sure. Eterm is The Configurable Terminal, after all. A pret-a-porter
+ example that you can simply add to your theme.cfg file (or %include
+ from it) lives in escreen.cfg -- enjoy.
+
+Q Escreen changes the escape on the remote box to the same thing as on
+ the local box, does it have to?
+
+A You can always override the escapes like so:
+
+ Eterm -U user@host.com/-e^Xy
+
+ Where ^X is the escape and y the literal (man screen).
+
+Q I don't see any buttons when I connect to a remote screen!
+
+A Some Debian-users reported this before, and it is presumed to be a
+ problem with the terminfo-data. Call up Eterm (or xterm, or whatnot).
+ *Then* call up "screen" from inside that terminal. Is the last line
+ inverted? If it isn't, something is seriously weird with your setup,
+ and it's not a problem in Escreen. Sorry. : (
+ 2002/05/13 rewritten code should handle most of these cases
+ 2002/05/18 rewritten code should handle even more of these cases : )
+
+Q Escreen opens, then closes again.
+
+A Escreen cannot run "screen". If you do have "screen", and it is in
+ the search path, screen apparently terminates right away. Normally
+ this means that your screen-sessions are messed up; "screen -ls" will
+ give you a list of them; "screen -wipe" will do the cleaning up.
+ If this happens with a remote session, the remote end might just find
+ your terminal type confusing. The "--term-name" option with something
+ vanilla (--term-name vt100) should remedy this.
+
+Q Escreen works, except when I use -Z to tunnel through a firewall?
+
+A Try to manually ssh to the firewall, see how long that takes. Then,
+ tune the -Z option accordingly (cf man Eterm).
+
+Q I'd like for the button labels to be in a different colour.
+
+A At this time, the labels follow the general (text) colours.
+ You will be able to define colours for (foreground|background|active|bell)
+ windows' labels in later releases.
+
+Q "screen" support rocks! Can we have it in konsole/multi-gnome-terminal?
+
+A I will not attempt anything like that before I am happy with Escreen.
+ The code, however, is LGPL'd, and its use is documented by example of
+ Eterm (grep for ESCREEN). If you can work with that, do.
+
+Q What's with the licence changing?
+
+A I wrongly assumed that Eterm was GPL'd rather than BSD'd, so I stuck
+ a GPL on the first alpha. To correct this mistake, the licence was
+ changed. In an attempt to honour both the convictions of the authors
+ of Eterm (BSD licence) and those of screen (GPL) which Escreen tries
+ to bring together, it appears that the licensing of Escreen should
+ land somewhere in the middle; therefore, I nominally chose LGPL.
+ This may be softened to BSD at a later date.
+
+Q Who's responsible for this?
+
+A Escreen is an Eterm extension conceived and written by Azundris.
+ Do not complain to KainX (who courteously added the patch for the
+ enjoyment of the hardy) if you break your Eterm by compiling this
+ in (or by trying to use the alpha-functionality). By using this,
+ you agree that anything happening while or because of using it is
+ your fault, and your fault only.
+
+-- Azundris 2002/05/13 <scream@azundris.com> http://www.azundris.com/
diff --git a/doc/escreen.cfg b/doc/escreen.cfg
new file mode 100644
index 0000000..ec6b43b
--- /dev/null
+++ b/doc/escreen.cfg
@@ -0,0 +1,132 @@
+<Eterm-0.9.1>
+
+ # key-bindings for Escreen.
+ # for those who don't like the traditional ones (as used by the "screen"
+ # program). you may use the control variety, the alt variety, or both.
+ # you can copy the statements you like into the "action" context of your
+ # Eterm theme, or you could include this file via %include "escreen.cfg"
+ # See "man Eterm" for more information.
+ # 2002/05/19 Azundris <scream@azundris.com>
+
+ # CONTROL VARIETY #########################################################
+
+ # ctrl-left -> previous display, ctrl-right -> next display
+ bind ctrl Left to echo ^Ap
+ bind ctrl Right to echo ^An
+
+ # ctl-pg_up -> previous display, ctl-pg_dn -> next display (Galeon-like)
+ bind ctrl Prior to echo ^Ap
+ bind ctrl Next to echo ^An
+
+ # no ctrl-up/down; we shouldn't steal that from the app.
+
+ # ctl-space -> toggle between last two displays
+ bind ctrl space to echo ^A^A
+
+ # ctrl-1..ctrl-0 -> display_0..display_9
+ bind ctrl 0x31 to echo ^A0
+ bind ctrl 0x32 to echo ^A1
+ bind ctrl 0x33 to echo ^A2
+ bind ctrl 0x34 to echo ^A3
+ bind ctrl 0x35 to echo ^A4
+ bind ctrl 0x36 to echo ^A5
+ bind ctrl 0x37 to echo ^A6
+ bind ctrl 0x38 to echo ^A7
+ bind ctrl 0x39 to echo ^A8
+ bind ctrl 0x30 to echo ^A9
+
+ # ALT VARIETY #############################################################
+
+ # alt-left -> previous display, alt-right -> next display
+ bind alt Left to echo ^Ap
+ bind alt Right to echo ^An
+
+ # alt-up -> previous region, alt-down -> next region
+ bind alt Down to echo ^A\t
+
+ # alt-pg_up -> previous display, alt-pg_dn -> next display
+ bind alt Prior to echo ^Ap
+ bind alt Next to echo ^An
+
+ # alt-space -> toggle between last two displays
+ bind alt space to echo ^A^A
+
+ # alt-1..alt-0 -> display_0..display_9
+ bind alt 0x31 to echo ^A0
+ bind alt 0x32 to echo ^A1
+ bind alt 0x33 to echo ^A2
+ bind alt 0x34 to echo ^A3
+ bind alt 0x35 to echo ^A4
+ bind alt 0x36 to echo ^A5
+ bind alt 0x37 to echo ^A6
+ bind alt 0x38 to echo ^A7
+ bind alt 0x39 to echo ^A8
+ bind alt 0x30 to echo ^A9
+
+ # FUNCTION KEYS ###########################################################
+
+ # F1..F10 -> display_0..display_9
+ bind F1 to echo ^A0
+ bind F2 to echo ^A1
+ bind F3 to echo ^A2
+ bind F4 to echo ^A3
+ bind F5 to echo ^A4
+ bind F6 to echo ^A5
+ bind F7 to echo ^A6
+ bind F8 to echo ^A7
+ bind F9 to echo ^A8
+ bind F10 to echo ^A9
+
+ # alt F4 -> close display
+ bind alt F4 to echo ^Ak
+
+ # MISC STUFF ##############################################################
+
+ # DISPLAY
+
+ # alt-n -> new display
+ bind alt n to echo ^Ac
+
+ # alt-r -> rename display
+ bind alt r to echo ^AA
+
+ # alt-c -> close display
+ bind alt c to echo ^Ak
+
+ # alt-m -> monitor display
+ bind alt m to echo ^AM
+
+ # alt-b -> backlog
+ bind alt b to echo ^A^[
+
+
+ # REGION
+
+ # alt-s -> split
+ bind alt s to echo ^AS
+
+ # alt-u -> unsplit
+ bind alt u to echo ^AQ
+
+ # alt-o -> other region
+ bind alt o to echo ^A^I
+
+ # alt-k -> kill region
+ bind alt k to echo ^AX
+
+ # ^Tab -> next region
+ bind ctrl Tab to echo ^A^I
+
+
+
+ # OTHER
+
+ # alt-S -> statement
+ bind alt shift S to echo ^A:
+
+ # alt-R -> reset
+ bind alt shift R to echo ^AZ
+
+
+
+ # ENDS ####################################################################