ETERM(1)
๐ ETERM(1) from X Tools ๐
okay bestie, part 1 of 7 is here ๐ let's get into it
โจ NAME โจ
Eterm โ the Enlightened terminal emulator for the X Window System ๐
โจ SYNOPSIS โจ
Eterm [options]
โจ DESCRIPTION โจ
okay so Eterm โ version 0.9.6 โ is a color vt102 terminal emulator and it's built to be an xterm(1) replacement ๐
. The whole vibe is Freedom of Choice, which means it hands as much power, flexibility, and freedom as possible over to you, the user ๐.
It's designed to look good and work well ๐ฆ, but it goes the feature-rich route instead of minimalism โจ. Eterm uses Imlib for its advanced graphic abilities ๐ง. Keep scrolling for all the deets ๐.
โจ OPTIONS โจ
ok this part is important bestie ๐ซถ The Eterm options are listed below. Because of the freedom-of-choice thing, options can get eliminated or default values can be picked at compile-time ๐ ๏ธ, so the options and defaults I list might not match the version actually installed on your system ๐.
Options that don't take a parameter (besides -h and --help) are boolean ๐ธ. If you use the POSIX (short) option, you're forcing the parameter to "true". If you go with the long option, you can use any accepted boolean value: "yes", "on", "1", or "true" turns it on, and "no", "off", "0", or "false" turns it off. Same goes for boolean values in the configuration file ๐ง.
-t theme,--theme themeโ Load the theme you name ๐จ. Check the FAQ if you want the full tea on what counts as an Eterm theme.-X conffile,--config-file conffileโ Use your own user config file name ๐. If you don't, Eterm falls back to the default,user.cfg. The theme config file is alwaystheme.cfg, no exceptions ๐ โโ๏ธ.-d displayname,--display displaynameโ Try to open a window on the X display you name ๐ฅ๏ธ. If you skip this option, Eterm uses whatever theDISPLAYenvironment variable says.--debug levelโ Show debugging output ๐.levelis an integer from0to5that controls how chatty the debugging output gets.--installโ Tells Eterm to install its own colormap instead of using the default one ๐.-h,--helpโ Prints a message describing the available options ๐.--versionโ Prints the Eterm version and its compile-time configuration ๐.-r,--reverse-videoโ Reverse video! It swaps the foreground and background colors ๐.-b color,--background-color colorโ Sets color as the background color ๐ค. Heads up: if reverse video is also on, this one actually becomes the foreground color ๐.-f color,--foreground-color colorโ Sets color as the foreground (text) color ๐ค. Same catch: if reverse video is also selected, it actually becomes the background color ๐.--color0 color,...,--color15 colorโ Use color as color X ๐, where X is the number from0through15.--colorBD colorโ Use color as the bold color ๐ช.--colorUL colorโ Use color as the underline color ใฐ๏ธ.--pointer-color colorโ Use color as the pointer color ๐.-c color,--cursor-color colorโ Use color as the cursor color ๐ซ.--cursor-text-color colorโ Use color as the cursor text color ๐.-g geom,--geometry geomโ Sets the window geometry, written asWidth x Height+X coord+Y coord, i.e.100x200+0+100๐.-i,--iconicโ Starts in an iconified state ๐ช. This only works if your window manager supports iconification, so no promises otherwise ๐คทโโ๏ธ.-n name,--name nameโ Sets the name of the current instance to name ๐ท๏ธ. This also affects the icon title and the window title string, unless you've explicitly set those yourself.-T title,--title titleโ Sets the window's title text to title ๐.--icon-name textโ Sets the icon title text to text ๐ผ๏ธ.-B type,--scrollbar-type typeโ Picks the scrollbar style ๐ข. type can bemotif,xterm, ornext.--scrollbar-width widthโ Sets the scrollbar width to width, in pixels ๐. Eterm doesn't put any restrictions on this number, but keep it reasonable, bestie ๐.-D desktop,--desktop desktopโ Starts Eterm on the desktop you pick ๐ฅ๏ธ. desktop should be an integer between0and your highest-numbered desktop.- > NOTE: You need a GNOME-compliant window manager for this one to work ๐จ. For more on the
_WIN_WORKSPACEproperty and how to support it, checkhttp://www.gnome.org/devel/gnomewm/.
- > NOTE: You need a GNOME-compliant window manager for this one to work ๐จ. For more on the
--line-space numโ Adds an extra gap, in pixels, between the lines in the terminal window ๐.--bold-font fontโ Sets the bold text font to font ๐ ฑ๏ธ.-F font,--font fontโ Sets the normal text font to font ๐ค.--default-font-index numโ Specifies the index of the default (normal) text font ๐ข.--font1 font,...,--font4 fontโ Sets the font at the specified index (1-4) to font ๐๏ธ.--proportionalโ Okay, this one is a whole thing ๐. It says the font in use is proportional and asks for standard deviation-based character cell spacing ๐.- Terminals need fixed-width character cells to keep columnar alignment, even when proportionally spaced fonts are in use ๐. Some proportional fonts have a huge gap between their minimum and maximum character widths ๐ต.
- This option picks a cell size up to two standard deviations above the average character width, but it won't go past the maximum width of the largest glyph ๐ฏ.
- Characters bigger than the chosen cell width will overwrite (or get overwritten by) other characters, and they may leave pixel droppings ๐ซ . That's an expected side-effect of an imperfect scenario, so if you object to it, just don't use this option ๐ โโ๏ธ.
--font-fx effectsโ Applies effects to the terminal window font โจ. The value of effects is one single string with a series of corner/color pairs ๐จ.- Each pair says which corner a character's drop shadow should go toward, plus what color that shadow will be ๐ค. The corner keyword comes first:
top_leftortl,top_rightortr,bottom_leftorbl, orbottom_rightorbr. Each corner gets a color right after it. - There are shortcuts for the common looks ๐
:
outlinefollowed by a color gives you a single-color outline.shadowgives you a single-color drop shadow. You can add an optional corner (defaultbottom_right) and then the color.emboss dark_color light_colorgives a 3-D embossed look.carved dark_color light_colorgives a carved-out look.- (Of course, with the last two, the 3-D look only works if you choose the light and dark colors wisely ๐ง .)
- For no font effects at all, just use
none๐. - The default is
bottom_right black, a black drop shadow ๐ค. It greatly improves the visibility of lightly colored fonts sitting on light spots in a background image ๐. - Font effects are not active in solid color mode ๐.
- Each pair says which corner a character's drop shadow should go toward, plus what color that shadow will be ๐ค. The corner keyword comes first:
-P pic,--background-pixmap picโ Uses pic as the background image ๐. pic can be in any format Imlib understands, which basically means just about anything: JPG, PNG, GIF, TIFF, PPM, and more ๐ธ. The image gets tiled by default.- To set an alternate geometry, follow the filename with an
@sign and a geometry string ๐. The format is@wxh+x+y:ops:wandhare the horizontal and vertical scaling percentages.xandyare the horizontal and vertical alignment percentages.opsis a colon-delimited list of operations:tiled(tiles the image) andpropscaled(proportional scaling) ๐งฉ.
- You can combine these operations for different effects ๐ช.
- To set an alternate geometry, follow the filename with an
-I pic,--icon picโ Sets the icon pixmap file to pic ๐ผ๏ธ. It works similarly to-Pabove.--up-arrow-pixmap picโ Same idea as above, but this one sets the scrollbar's up-arrow โฌ๏ธ.--down-arrow-pixmap picโ Same idea again, this time for the scrollbar's down-arrow โฌ๏ธ.--trough-pixmap picโ Sets the scrollbar's background, the trough ๐.--anchor-pixmap picโ Sets the scrollbar's anchor image โ.--menu-pixmap picโ Sets the menu background image ๐.-O,--transโ Gives you a pseudo-transparent Eterm ๐ป. The image is taken straight from the root window, so any requests to change the pixmap get ignored ๐ซ.- If you're not using Enlightenment as your window manager (
http://www.enlightenment.org/), you'll need something else. Another compliant window manager works too, and someone told the author that WindowMaker works as well ๐ช. Otherwise, you'll need theEsetrootprogram (found in theutils/directory) to set your root background image ๐ ๏ธ.
- If you're not using Enlightenment as your window manager (
-0,--itransโ Activates the immotile transparency optimization for transparent Eterm windows ๐ง.- > NOTE: This does not turn on transparency. You still have to include
-Oor--trans๐จ. - Use it on transparent windows that are shaded or tinted and that don't move around the desktop much ๐. For a more detailed explanation, check the
Mon Mar 6 21:11:13 PST 2000ChangeLog entry ๐.
- > NOTE: This does not turn on transparency. You still have to include
--viewport-modeโ This activates a special Eterm mode that's kinda hard to describe in words ๐ฎ. Picture pseudo-transparency, where the desktop background moves through the Eterm window as you drag it, so it always lines up with the desktop image ๐ผ๏ธ.- Now picture the same effect, but the image is any pixmap you choose instead of the desktop image ๐จ. It gets scaled or tiled up to the size of the desktop, and dragging Eterm around reveals different parts of the image as you move, like a small viewport window on a ship or submarine ๐ข.
- It's especially keen if you open several Eterms in this mode with the same image ๐คฉ.
--shade percentageโ Shades the background image or transparency by the percentage you set ๐.--tint mask--tint colorโ okay so this one tints the background pixmap, and you can shade either the image file or the see-through bits ๐โจ. The mask is an integer, usually written in hex as0xRRGGBB, where RR, GG, and BB are hex numbers from00toff(that's 0 to 255 in decimal) showing how bright the image's red, green, and blue are ๐.00masks that color out entirely, whileffleaves it totally alone ๐ซถ. You can also skip the mask and use an X color likegrey75,MidnightBlue, or#babb7f๐ฆ.--cmod brightness [ contrast [ gamma ] ]โ this is a color modifier for the whole image ๐ . Each of the three values is a number greater than or equal to0. You can write them in decimal, in octal (if they start with0), or in hex (if they start with0x) ๐ข.256(0x100) means 100%, or "leave that value unchanged,"0means 0%, and512(0x200) is 200%, and so on ๐ธ. Heads up, though: overflow can happen with excessively high values ๐. Only brightness is required, but if you want contrast you need to include brightness, and if you want gamma you need both of the others too ๐.--cmod-red brightness [ contrast [ gamma ] ]โ same vibe as--cmod, but it only touches the red values ๐ด.--cmod-green brightness [ contrast [ gamma ] ]โ same as above, but for the green values ๐.--cmod-blue brightness [ contrast [ gamma ] ]โ same as above, but for the blue values ๐.-p newpath,--path newpathโ sets the pic search path ๐ง. When--background-pixmapor any other pixmap option is used, Eterm looks in this path to find the image.--cache sizeโ sets the size, in bytes, of the Imlib2 cache ๐ง .-N list,--anim listโ this is an animation list for cycling the background pixmap ๐๏ธ. It needs two or more words. The first word is the delay in seconds between background updates, so pick something reasonable to make sure Eterm doesn't spend its whole life rendering backgrounds ๐ญ. Every remaining word is a background image and uses the same syntax as the-Poption above, geometry string included.-M font,--mfont fontโ sets the normal multibyte text font tofont๐.--mfont1 font,...,--mfont4 fontโ sets multibyte font X tofont๐ท.--mencoding encodingโ sets the multichar encoding mode toeucj,sjis, oreuckr๐ฏ๐ต๐ฐ๐ท.--input-method methodโ sets the XIM input method โจ๏ธ.--preedit-type typeโ sets the XIM preedit type โ๏ธ.-l,--login-shellโ makes the new shell a login shell ๐.-s,--scrollbarโ enables the scrollbar. This is the default ๐.-u,--utmp-loggingโ tries to turn on proper utmp logging. For this to work, Eterm probably needs to run setuid or setgid, usually setuid root ๐.-v,--visual-bellโ turns on the "visual bell," so the window flashes or blinks instead of beeping โจ.-H,--home-on-outputโ jumps to the bottom whenever there's output ๐ .--home-on-inputโ jumps to the bottom whenever there's input โฌ๏ธ.-q,--no-inputโ stops Eterm from accepting keyboard input and keeps the window manager from focusing it. Super useful for log tailers and stuff like that ๐.--scrollbar-rightโ puts the scrollbar on the right-hand side ๐.--scrollbar-floatingโ shows the scrollbar without a trough ๐ซง.--scrollbar-popupโ only shows the scrollbar when the Eterm window is focused ๐ช.-x,--borderlessโ forces Eterm to have no borders ๐ผ๏ธ.-S,--stickyโ starts Eterm as a sticky window, so it shows up on all desktops ๐.-m,--map-alertโ un-iconifies the window on beep ๐.-8,--meta8โ makes the Meta key set the 8th bit in the char ๐.--double-bufferโ instead of drawing text straight onto the window, Eterm allocates an extra pixmap the size of the terminal window. The background and the text get rendered into that pixmap, and then it's set as the window background ๐๏ธ. It uses extra memory in the X server, but Eterm can ignore expose events, so redraws are faster ๐.--no-cursorโ disables the text cursor ๐ซฅ.--pauseโ after the child process ends, Eterm waits for a keypress before it exits โธ๏ธ.--xterm-selectโ copies xterm's treatment of cutchars. The only real difference is what happens when you double-click a single cutchar sitting between two words. When this is on, only that single character gets selected. When it's off, that character gets selected along with the two words. The off behavior is handy for double-clicking the space between someone's first and last names, or the @ sign in an e-mail address, etc. ๐--select-lineโ when this is on, a triple-click selects the entire line from beginning to end. When it's off, a triple-click only selects from the current word to the end of the line ๐.--select-trailing-spacesโ decides whether trailing spaces in a selection are kept (on) or thrown out (off) โ๏ธ.--report-as-keysymsโ reports certain keystrokes as keysyms and modifiers instead of escape sequences ๐๏ธ.
๐ NOTE: this one is only for programs that support this special Eterm mode. Don't turn it on unless you're running a program that actually uses this mode!
--buttonbarโ toggles the display of all buttonbars ๐.--resize-gravityโ if true, Eterm automatically detects the nearest corner, and font-change resizes make the window gravitate toward that corner ๐งฒ.--overstrike-boldโ if true (the default), Eterm fakes a bold font by printing each character twice, with the second pass offset by one pixel. This makes characters look thicker without needing a special font ๐ค. You might want to turn this off if you use a specific color for bold.--bold-brightens-foregroundโ if true (the default), Eterm uses the "bold" ANSI color attribute to brighten the foreground color by using the high-intensity colors (8 through 15) instead of the low-intensity colors (0 through 7) โจ. Heads up that picking a specific color for bold will override this.--blink-brightens-backgroundโ if true (the default), Eterm uses the "blink" ANSI color attribute to brighten the background color by using the high-intensity colors (8 through 15) instead of the low-intensity colors (0 through 7) ๐.--colors-suppress-boldโ if true (the default), any colored text (so anything not drawn in the default foreground color) doesn't get any other special bold treatment, like a bold font or bold overstrike ๐จ.--big-font-key keysymโ sets the keysym that makes the font bigger. The default is Shift plus the + key on the keypad.Ctrl->orMeta->may also work, if you#defineone of the hotkeys insrc/feature.h๐.--small-font-key keysymโ sets the keysym that makes the font smaller. The default is Shift plus the - key on the keypad.Ctrl-<orMeta-<may also work, if you#defineone of the hotkeys insrc/feature.h๐.--meta-mod numโ picks which X modifier (1-5) gets treated as the Meta key. Check out xmodmap(1) and the output ofxmodmap -pmfor more deets ๐งช.--alt-mod numโ same as--meta-mod, but for the Alt key ๐.--numlock-mod numโ same as--meta-mod, but for the NumLock key ๐ข.--greek-keyboard modeโ uses the Greek keyboard mapping, eitherisooribm๐๏ธ.--app-keypadโ starts Eterm in application keypad mode, as opposed to normal keypad mode ๐น.--app-cursorโ starts Eterm in application cursor key mode, as opposed to normal cursor key mode โก๏ธ.-L num,--save-lines numโ sets how many lines go in the scrollback buffer ๐.-a size,--min-anchor-size sizeโ sets the minimum height, in pixels, of the scrollbar anchor ๐.
๐ NOTE: this causes abnormal scrolling behavior when you combine it with large scrollback buffers! Be careful with this one, bestie.
-w width,--border-width widthโ sets the window's border width towidth๐ช. This controls the gap between the edge of the X window and the edge of the terminal window. It has nothing to do with the window border your window manager supplies, so don't mix them up ๐.--print-pipe pipeโ the pipe used for the PrintScreen function ๐จ๏ธ.--cut-chars separatorsโ sets the separators for double-click selection โ๏ธ.--finished-title titleโ the string Eterm adds to its title bar if--pauseis specified and the child process finishes ๐.--finished-text textโ same as above, but the text shows up in the terminal window itself ๐ฌ.--term-name TERMโ usesTERMas the value of$TERM๐ท๏ธ.--pipe-name pipeโ specifies a named pipe to display output from. This is handy on systems where syslog output goes to a named pipe, like/dev/xconsoleon Debian ๐ง.-a line,--attribute lineโ this one passes config file attributes on the command line ๐งฉ.lineshould be a single string, so you'll almost certainly need to quote it. The first word oflinehas to be the context (see the config file section below), which parses the rest of the line. For example, you can set the foreground color with-a 'color foreground blue', or add a binding with-a 'actions bind anymod button1 to script exit'๐. This option only works with config file attributes that aren't context-sensitive. In other words, menus and imageclasses can't be specified with it ๐ .-C,--consoleโ grabs console messages ๐. Depending on your system, Eterm may need to be setuid root to do this.-e command,--exec commandโ runscommandinstead of a shell, and forces Eterm mode ๐.-U URL,--url URLโ okay so this one lets you pick up a "screen" session at a URL instead of a local one (the local one is-U "") ๐ URLs look likescreen://user@host.dom:port/screen_options, and every part is optional. If you leave stuff out, it defaults toscreen://current_user@localhost:22/-RDD๐ธ Using this forces Escreen mode and overrides--execโจ
Only screen-options are allowed here (seeman screenfor those). Do NOT pass a command here, with or without arguments ๐ If you want to send a command to the screen-session, usescreen [<options>] <command> [<args>]instead.
-Z lclport:fw:fwport,delay,--fw lclport:fw:fwport,delayโ this one is giving tunnel energy ๐ฆ If the URL you gave to-Uis hiding in an intranet behind firewallfw, Eterm builds an SSH-tunnel to that firewall (to port22/SSH, orfwportif you give one) from your local machine. It'll use any available port number, orlclportif you pick one. Then, afterdelayseconds (or a sensible default if you skip it), it tries to open a screen session on the host behind the firewall usingssh -p localport ... localhost screen(cf.ssh -L) ๐ง
โจ THEMES โจ
Okay, Eterm is built on the philosophy of Freedom of Choice ๐ Every user should get to pick the environment they want to live in, and the tools should totally support that. So Eterm is extremely configurable, and it's giving main character energy ๐
Eterm supports something called "themes", which should feel familiar if you've used Enlightenment, icewm, or Microsoft Windows 95/98/NT ๐ A theme is basically a collection of resources that change as many aspects of a program's look and feel as possible. For example, an Enlightenment theme lets you customize menus, window borders, desktops, icons, iconbars, and literally everything else about how E looks and feels ๐
An Eterm theme is made of a primary configuration file, always called theme.cfg, sitting in a directory that has the same name as the theme. That directory has to be a child of one of the directories listed in CONFIG_SEARCH_PATH in src/feature.h ๐ซถ The theme can also include extra config files that the primary theme.cfg references, plus pixmaps, menu files, documentation, etc. Those are all allowed as extras on top of the minimum requirement โจ
By convention and default, themes should live in ~/.Eterm/themes/<theme_name>/ or /usr/share/Eterm/themes/<theme_name> ๐ธ
Eterm also supports a user configuration file as a supplement to the theme config file ๐ The default name is user.cfg, and it follows the exact same syntax as any other config file. It gets searched for using the same algorithm as theme.cfg, and any settings in user.cfg override previous values for those settings defined by the theme. So it's recommended that your user.cfg files aren't complete config files. Just keep the values you actually want to override ๐
NOTE: If you have auser.cfgfile in the Eterm theme directory or in~/.Eterm/, it will override any previous settings, even if you're running a different theme ๐ For example, say you run thetranstheme, but~/.Eterm/themes/Eterm/user.cfghas a mode line that sets the image mode to "image" rather than "trans". Then you will NOT get transparency. This is whyuser.cfgfiles should be kept small and only override settings you know you want to enforce. On the flip side, if you were running thetranstheme and had auser.cfgin thetranstheme (or in~/.Eterm/themes/trans/), that one would be found before the one in the Eterm theme.
Almost all command line options can be enabled or disabled in the theme's configuration file (the default is /usr/share/Eterm/themes/Eterm/theme.cfg). The next section has all the details on the format and usage of that file ๐
โจ CONFIGURATION โจ
Since Eterm 0.9.6 is based on the concept of themes, it is vital that you have a thorough understanding of the previous section before taking on this one ๐ง The previous section and this one were written by the same person who wrote the Eterm code that handles options, config files, and themes, so it's probably the most authoritative documentation on the subject you're going to find ๐
From here on out, I'm going to assume you've read the stuff above and know how to change the default value for the theme. It's highly recommended that you keep a copy of the Eterm theme config file that comes with Eterm handy while you read this ๐
Okay, first the general idea ๐
The theme.cfg file is made of comments and non-comments. Comments begin with a pound sign and continue to the end of the line. Lines of whitespace are also ignored. The rest of the file is the config stuff, which is divided into sections (called "contexts") and variables (called "attributes"). There are several contexts listed below in sections. Each attribute has to be inside a certain context to be valid. For instance, foreground is perfectly acceptable in the color context, but it would get rejected if it showed up in, say, the toggles context. This keeps the config file organized and lets multiple contexts have attributes with the same name (like the scrollbar attributes in the color and toggles sections) ๐
Each context has to be enclosed in a begin...end pair that specifies the type of section. The statement begin toggles starts the toggles context, and the next end statement terminates it. (You'll notice some end statements have the context name after them. That's just for readability; any text after the word end gets ignored ๐ฆ)
The rest of this section is a step-by-step breakdown of the config file, including what can go in each section. Heads up: some attributes (and even entire contexts) might not be available depending on what support was compiled into Eterm by whoever built it โ ๏ธ
๐ธ MAGIC NUMBER
The first line of the config file must contain a "magic number" type line. This lets Eterm verify that it's reading an Eterm config file and not something else, like an Enlightenment 0.13 and earlier config file ๐ The line should look like this:
<Eterm-VERSION>
where VERSION is the Eterm version the config file is intended for. For example, config files written for Eterm 0.9 should have <Eterm-0.9> as their first line, followed immediately by a newline โจ
๐จ COLOR CONTEXT
This context contains color specs ๐ With the exception of the terminal colors 0-15, all colors should be either a valid color name or an RGB string as outlined in the X11(7) man page.
foreground colorโ sets the foreground (text) color ๐background colorโ sets the background color ๐คcursor colorโ sets the cursor color ๐cursor_text colorโ sets the cursor text color ๐pointer colorโ sets the mouse pointer color ๐ฑ๏ธvideo { normal | reverse }โnormalwon't reverse the foreground and background colors.reverse(aka reverse video) will ๐color num colorโ sets terminal colornum(0-15) to the color name, color string, or set of 3 decimal/hex/octal RGB values specified bycolor๐color { bd | ul } colorโ sets the terminal bold (bd) or underline (ul) color to the color name, color string, or set of 3 decimal/hex/octal RGB values specified bycolor๐
๐ช ATTRIBUTES CONTEXT
This context contains X11 attributes ๐ช Most of these depend on the cooperation of the window manager, so keep that in mind ๐ซถ
geometry geomโ sets the startup geometry using the geometry stringgeom. It should be in the formatWxH+X+Y, whereWis the width,His the height, and+Xand+Yare the X and Y offsets. If the signs on X and Y are positive, the coordinates are offsets (in pixels) from the left and top of the screen, respectively. If the signs are negative, the offsets are relative to the right and bottom of the screen, respectively ๐title titleโ usestitleas the text in the title bar of the Eterm window ๐ท๏ธname nameโ usesnameas the resource name of the Eterm window ๐งiconname nameโ usesnameas the icon name of the Eterm window icon ๐ผ๏ธdesktop numโ starts Eterm on desktopnum. NOTE: This requires a GNOME-compliant Window Manager. Check outhttp://www.gnome.org/devel/gnomewm/for more info on the_WIN_WORKSPACEproperty and how to support it ๐ฅ๏ธscrollbar_type typeโ uses a scrollbar with thetypestyle.typecan be any ofmotif,xterm, ornext๐scrollbar_width numโ uses a scrollbar that isnumpixels wide ๐font num fontandfont bold fontโ sets thenumth font, or the bold font, tofont๐คfont default numโ specifies that thenumth font should be considered the "default" font โญfont proportional booleanโ specifies that the font in use is proportional and requests standard deviation-based character cell spacing. Terminals must use fixed-width character cells to maintain proper columnal alignment, even when proportionally-spaced fonts are in use. Some proportionally-spaced fonts vary greatly between the minimum and maximum character widths. This option picks a character cell size that's up to two standard deviations above the average character width, but it won't exceed the maximum width of the largest glyph. Heads up: characters larger than the chosen cell width will overwrite (or be overwritten by) other characters and may tend to leave pixel droppings ๐ This behavior is an expected side-effect of an imperfect scenario. If you object to this behavior, don't use this option ๐ซfont fx effectsโ specifies the effects to apply to the terminal window font ๐ซ The value ofeffectsis a single string containing a series of corner/color pairs. These pairs define toward which corner a drop shadow of each character should be made, and what color that shadow will be. The corner is specified first using these keywords:top_leftortl,top_rightortr,bottom_leftorbl, andbottom_rightorbr. Each corner specifier is then followed by a color ๐
There are also a few shortcut keywords for common font effects, and they're so satisfying ๐
โจ You can get a single-color outline with the keyword outline followed by a color. For a drop shadow, use shadow, then an optional corner specifier (bottom_right is the default), then a color. For a 3-D embossed look, go with emboss dark_color light_color. The opposite vibe, a carved-out look, comes from carved dark_color light_color. ๐ฆ Heads up: with those last two, the 3-D effect only works if you pick your light and dark colors wisely, so choose carefully, bestie ๐
If you want zero font effects, just use the keyword none ๐ซถ
The default is bottom_right black, which gives a black drop shadow. This is a total lifesaver for lightly colored fonts sitting on light spots in a background image ๐ญ Also, font effects are not active in solid color mode, so don't be shocked when nothing shows up there ๐
๐ธ IMAGECLASSES CONTEXT ๐ธ
This context holds the global image attributes. It's also the parent context for defining images through the image context, so it's basically the main character of the whole setup ๐
icon filenameโ Uses filename as the icon image for the Eterm window. filename can be an absolute path, relative to the current theme, or relative to one of the directories in thepathattribute below โจcache numโ Sets the Imlib2 cache size to num bytes. The default is0๐งpath directory_listโ Gives a colon-delimited list of directories that Eterm searches when it's looking for image and menu files. The syntax for directory_list is exactly the same as the$PATHenvironment variable in UNIX shells ๐anim interval images ...โ Sets up an animation list for cycling the background pixmap. The interval is the delay, in seconds, between background updates. Pick a reasonable value so Eterm doesn't spend all its time rendering backgrounds ๐ Every image here is a background image and uses the same syntax as the-Poption above, including the optional geometry string ๐
๐ฆ IMAGE CONTEXT ๐ฆ
This context defines every attribute of one particular image. There can be, and usually are, several image contexts per theme, one for each class of image ๐
type classโ Sets the type, or class, of the image you're defining in this context. This MUST be the first attribute in the image context, no exceptions ๐ Valid classes arebackground,trough,anchor,up_arrow,down_arrow,left_arrow,right_arrow,menu,menuitem,submenu,button, andbuttonbar. The left and right arrows are valid, but they don't do anything just yet ๐ฅฒ Every attribute after this one, up until the nexttypedefinition, applies to that image class.mode initial_mode [ allow allowed_modes ]โ Sets the starting mode for this image class, plus the modes it's allowed to switch into. initial_mode is the mode the image starts in (unless command-line options override it. allowed_modes is a list of one or more modes, and the image can't switch to any mode that isn't in theallowlist. If you leave out theallowsection entirely, the image can never change from initial_mode. If you don't give a mode line at all for an image class, the default is the same asmode solid allow solid. Valid mode names areimage(use an image),trans(transparency),viewport(viewport mode),auto(auto mode, which needs Enlightenment 0.16 or better), andsolid(solid color only) ๐ฅstate { normal | selected | clicked | disabled }โ Sets the state of the image you're about to define. Everything until the nextstateattribute (or until you change types) applies to that particular state. You should at minimum define thenormalstate, since it's the default when the other states don't have their own attributes. BUT each state has self-contained options, so if you define multiple states, you have to define ALL the attributes that state needs ๐ญ The sample themes that ship with Eterm show how to build 1-, 2-, 3-, and 4-state images, so go peek at those if you're stuck โจ
The attributes above affect the image class as a whole. Everything else in this context only affects the current state of the image class ๐
color fg bgโ Sets the foreground and background colors for this image class. The foreground color is for text, and the background color is for the object itself. If you specify an invalid color,fgdefaults to white andbgdefaults to black ๐คfile filenameโ Sets the file the image gets loaded from. This is used for the image mode, so if you allow image mode, don't forget to supply an image file! ๐ You can also tack on an image geometry string by adding an@and the geometry string to the end of the filename. The geometry string syntax is covered below. filename has to be an absolute path or a path relative to one of the directories in thepathattribute. The image gets verified and loaded as soon as this attribute is parsed ๐งgeom image_geometryโ Sets the geometry and geometry-related operations you want applied to the image. This only applies to image classes using image mode ๐ผ๏ธ The geometry is written aswxh+x+y:ops, wherewandhare the horizontal and vertical scaling percentages,xandyare the horizontal and vertical alignment percentages, andopsis a colon-delimited list of operations. The operations aretiled(tiles the image) andpropscaled(proportional scaling). You can combine these for different effects ๐cmod { image | red | green | blue } brightness [ contrast [ gamma ] ]andcolormod { image | red | green | blue } brightness [ contrast [ gamma ] ]โ Both of these do the exact same thing ๐ They apply a color modifier to the image. The second keyword decides what gets modified: the whole image, the red values, the green values, or the blue values. Each of the three parameters is a number that's greater than or equal to 0. You can write numbers in decimal, octal (if they start with0), or hexadecimal (if they start with0x). A value of256(0x100) means 100%, or "leave that value unchanged."0is 0%,512(0x200) is 200%, and so on. Just be warned that overflow can happen with really high values ๐ฌ Only brightness is required. But you have to give brightness before contrast, and both of those before gamma ๐border left right top bottomโ Says the image has borders that shouldn't get scaled along with the rest of the image. This is mostly for images with a beveled look, so the bevel doesn't get scaled and lose its effect โจ All four values are in pixels, same as the equivalent options for E themes and Gtk+ pixmap themes ๐bevel { up | down } left right top bottomโ Adds a bevel to an image class. You can do this to any image class usingimageortransmode. The parameters are pixel values for the width of each edge of the bevel. This is especially handy if you're using tiled images or transparency for the arrow or anchor scrollbar widgets, or for menus ๐ธpadding left right top bottomโ Only used for thesubmenuimage class. It reserves the given number of pixels on each side so the text doesn't overwrite part of the image. It works just like the same option in Enlightenment themes ๐ซถ
๐ MENU CONTEXT ๐
This context creates a menu. There's one instance of this context per menu, and menus have to be defined in submenu-menu order, meaning any menu that refers to another menu as its submenu must be defined after that submenu ๐ง Inside the menu context, each menu item gets a menuitem subcontext, with the exception of the shorthand for separators ๐
title menu_titleโ Sets the title for the menu. This MUST be the first attribute afterbegin menu. Titles have to be unique across all menus. A title can have spaces, but wrap it in single or double quotes if it does. Any future references to the menu use the title ๐font font_nameโ Tells Eterm to use font_name for this menu. If you don't give one, the default terminal font gets used ๐คsepor-โ Either symbol works as shorthand to insert a separator into the menu โ
๐ง MENUITEM CONTEXT ๐ง
This is a subcontext of the menu context, and it creates a single item for a menu. There can be, and usually are, several menuitem contexts per menu ๐ฆ
text labelโ The text shown for this menu item. It's left-justified in the menu window. It can have spaces, but wrap label in quotes if it does โจrtext labelโ Text that's right-justified next to the menu item text. This is usually used to show which keystrokes go with a menu item, like"C-x C-c"for the "Exit" item in an Emacs menu ๐
okay so this is where you tell a menuitem what to actually do when someone clicks it ๐
action { string | echo | submenu | script } param
action separator
bestie, if you pick separator you don't need anything else ๐ The other action types all need a param. string sends a string over to Eterm to handle itself (think escape codes ๐ธ). echo sends a string to the client program instead, which is perfect for typing commands into a shell or keystrokes into something like emacs or mutt ๐ป. If you use string or echo, the param gets parsed for escape codes (\a, C-, and the like) before it's sent off โจ. submenu pops open a submenu when the item is picked, and param is the title of that submenu. The submenu has to already be defined, no cap ๐
. Last one, script runs the Eterm-builtin script inside param. Check the section below for the builtin Eterm functions that are allowed with this action type ๐.
โจ ACTION CONTEXT โจ
Okay, actions are the key and mouse button bindings that make things happen ๐ฅ Literally any action you can trigger with an escape code can be bound to a key or mouse button, with or without modifiers. You can even bind menus to keystrokes or mouse buttons ๐
bind [ modifiers ] { keysym | button } to { string | echo | menu | script } param
This one binds a keysym or a mouse button to an action ๐ฆ The action part comes after the word to and is exactly the same syntax as menus (see above). You can stack as many modifiers as you want, as long as the combo is reasonable ๐, but you only get one keysym or button. Valid modifiers are ctrl, shift, lock, mod1 through mod5, alt, meta, and anymod (which allows any modifier). If you don't list any modifiers, the keypress has to have NO modifier keys in use or the action just won't trigger ๐. Use anymod if you want any arbitrary modifier key to be allowed. The keysym can be written out in text (case-sensitive!) or as a hex number. Buttons go button1 through button5. Also, alt and meta are equivalent to one or more of mod1 through mod5, and maybe to each other too, depending on your modifier settings ๐ง. You can check yours with xmodmap -pm. See also the alt_mod and meta_mod options below ๐.
๐ธ BUTTON_BAR CONTEXT ๐ธ
The buttonbar is a newer addition, showing up in Eterm 0.9.1 ๐ It gives you a fully customizable bar at the top or bottom of each terminal window. Buttons work just like menuitems: they can pop open menus like a menubar, or trigger any other action a menuitem can ๐ .
font fontโ picks the font that button labels get displayed in ๐คdock { top | bottom | no }โ decides whether to dock the buttonbar, and if so, whether it goes at the top or bottom of the Eterm window ๐ฆ Heads up: onlytopandbottomare currently enabled ๐visible booleanโ toggles whether this particular buttonbar is visible on startup ๐
For buttons, this is the syntax:
button [ text ] [ icon filename ] action { string | echo | menu | script } param
This binds an action to a button ๐ param and the action types work exactly the same as they do for menuitems. You can add some text, an icon, or both, but you can't leave out both at once ๐.
๐ง MULTICHAR CONTEXT ๐ง
This is where behavior for multi-byte fonts and encodings gets defined ๐ Heads up, this context doesn't exist by default ๐
encoding { eucj | sjis | euckr | big5 | gb | iso-10646 }โ specifies the encoding method. Patches to support other encoding methods are very much encouraged ๐ซถfont num fontโ sets the numth multichar font tofontโจ
๐ฎ XIM CONTEXT ๐ฎ
This context controls locale-based behavior ๐
input_method input_methodโ your input method program of choice ๐preedit_type { OverTheSpot | OffTheSpot | Root }โ your preedit type of choice โจ
๐ ESCREEN CONTEXT ๐
This context has customizations specific to Escreen mode ๐ง Check the Escreen section below for more details ๐
url protocol://user@host:port/paramsโ connects to (or creates) a particular screen session through a URL-type construct ๐ Standard URL rules apply. The protocol should be eitherscreen(the default) ortwin. Ifuser,host, and/orportare specified, an ssh connection gets made to the remote server with that login info. By default it creates or attaches to a local session ๐
Any params you give get passed straight to the underlying protocol, and they're separated from each other by a plus sign (+) โ
firewall localport:firewall:remoteportโ bounces the connection through a firewall via ssh ๐ฆdelay secsโ how long to wait before sending the screen/twin initialization sequence. This is needed to make sure the remote session is established before the init sequence goes out ๐ซถbbar_font fontโ the font for the Escreen buttonbar. The default is-*-helvetica-medium-r-normal--10-*-*-*-p-*-iso8859-1โจbbar_dock { top | bottom | no }โ docks the Escreen buttonbar as specified. Only top and bottom are currently enabled ๐
๐ TOGGLES CONTEXT ๐
This context is full of boolean variables you can flip on or off ๐ For these attributes, "yes", "on", "1", and "true" turn the option on, and "no", "off", "0", or "false" turn it off. That's what boolean means everywhere in this section. They all default to false unless otherwise noted ๐
map_alert booleanโ if true, Eterm un-iconifies itself when it gets a beep (ASCII 0x07) ๐visual_bell booleanโ if true, Eterm flashes instead of sending a beep ๐กlogin_shell booleanโ if true, Eterm prepends-to the shell name when it calls the shell. Depending on your shell, this might change its startup behavior ๐scrollbar booleanโ turns the scrollbar display on or off. Default is on ๐utmp_logging booleanโ if true, Eterm tries to make an entry in the utmp file to record login info. Eterm may need to run privileged to pull this off ๐meta8 booleanโ toggles whether the Meta key sets the 8th bit in a character ๐ขiconic booleanโ if true, Eterm launches as an icon ๐home_on_output booleanโ zooms to the bottom of the scrollback buffer on output ๐home_on_input booleanโ zooms to the bottom of the scrollback buffer on input โจ๏ธno_input booleanโ if true, Eterm won't accept any keyboard input and asks the window manager not to let it be focused ๐scrollbar_floating booleanโ if true, the scrollbar has no trough ๐ซงscrollbar_right booleanโ if true, Eterm puts the scrollbar on the right side of the window (default is left) โก๏ธscrollbar_popup booleanโ if true, Eterm hides the scrollbar when the window loses focus and restores it when focus comes back. Default is to not change the scrollbar state based on focus ๐borderless booleanโ if true, Eterm runs with no window borders. That also means the window can't be moved or resized, so you'll want to specify a geometry with this one ๐ชdouble_buffer booleanโ instead of drawing text directly onto the window, Eterm allocates an extra pixmap the size of the terminal window. The background and the text get rendered into it, and then that pixmap is set as the window background. Double-buffering uses extra memory in the X server, but it lets Eterm ignore expose events so redraws are faster ๐๏ธno_cursor booleanโ if true, Eterm won't display a text cursor ๐ซฅpause booleanโ after the child process terminates, Eterm waits for a keypress before exiting โธ๏ธxterm_select booleanโ duplicates xterm's treatment of cutchars ๐ฏ The only real difference is what happens when you double-click a single cutchar between two words. If this is on, only that single character gets selected. If it's off, that character gets selected along with the two words. The latter is handy for double-clicking the space between someone's first and last names, or the@sign in an e-mail address, etc ๐งselect_line booleanโ if true, a triple click selects the entire line from beginning to end. If false (default), a triple-click selects from the current word to the end of the line ๐ฑ๏ธselect_trailing_spaces booleanโ if true, spaces at the end of a line get included in the selection text when selecting. The default is to strip these trailing spaces โ๏ธreport_as_keysyms booleanโ reports certain keystrokes as keysyms and modifiers instead of escape sequences. NOTE: this is intended only for programs that support this special Eterm mode. Do not enable it unless you're running a program that uses this mode ๐จ
Only flip this on if the program you're running actually speaks Eterm's special mode, bestie ๐จ
itrans booleanandimmotile_trans booleanโ toggles the immotile transparency optimization for transparent Eterm windows ๐ช Note that this does NOT activate transparency. You still have to activatetransmode for the background image. Use this on transparent windows that are shaded or tinted and don't move around the desktop much ๐ง See theMon Mar 6 21:11:13 PST 2000ChangeLog entry for a more detailed explanation ๐buttonbarbooleanโ okay so this one toggles the display of all the buttonbars at once ๐resize_gravitybooleanโ bestie, if this is true, Eterm finds the nearest corner on its own ๐ง and when you change the font size, the window gravitates toward that corner ๐ฆoverstrike_boldbooleanโ this one is on by default โจ Eterm fakes bold by printing each character twice, with the second pass shifted over by one pixel. The letters look thicker without needing a special bold font ๐ You might want to turn it off if you've picked a specific color for bold ๐bold_brightens_foregroundbooleanโ also on by default ๐ธ the "bold" ANSI attribute brightens the text color by using the high-intensity colors (8through15) instead of the low-intensity ones (0through7). Heads up: if you've set a specific color for bold, that color wins and this gets overridden ๐blink_brightens_backgroundbooleanโ on by default ๐ the "blink" ANSI attribute brightens the background color using the high-intensity colors (8through15) instead of the low-intensity ones (0through7) ๐colors_suppress_boldbooleanโ on by default ๐ any colored text (so anything that isn't using the default foreground color) gets no extra bold treatment at all, no bold font and no bold overstrike. Iconic restraint ๐stickybooleanโ if true, Eterm makes its window sticky, which means it shows up on all desktops โญ
โจ๏ธ KEYBOARD CONTEXT
This context is all about the keyboard-related config options ๐
smallfont_keykeysymโ pick a keysym to shrink the font size ๐ซถ The default is Shift plus the-key on the keypad.Ctrl-<orMeta-<might work too, if you#defineone of the hotkeys insrc/feature.hโจbigfont_keykeysymโ pick a keysym to grow the font size ๐ The default is Shift plus the+key on the keypad.Ctrl->orMeta->might work too, if you#defineone of the hotkeys insrc/feature.h๐ฅkeysymkeysymstringโ make keysym send string instead of whatever it normally does ๐ฆ The keysym has to be between0xff00and0xffff, or Eterm will absolutely complain ๐ญmeta_modnumโ tell Eterm which X modifier (1-5) counts as the Meta key ๐ Check outxmodmap(1)and the output ofxmodmap -pmfor the full scoopalt_modnumโ same deal asmeta_mod, but for the Alt key ๐ธnumlock_modnumโ same deal asmeta_mod, but for the NumLock key ๐greekboolean { iso | ibm }โ turn greek keyboard support on or off, and pick which greek mode you want ๐ฌ๐ท ๐งapp_keypadbooleanโ turn application keypad mode on or off when Eterm starts up ๐app_cursorbooleanโ turn application cursor key mode on or off when Eterm starts up ๐
๐ MISC CONTEXT
This context holds the misc attributes that really didn't have a cute home anywhere else ๐งธ
print_pipecommandโ set the command that print requests (printscreen) get piped into โจsave_linesnumโ set how many lines the scrollback buffer holds ๐cut_charsstringโ set the characters that count as word delimiters to whatever characters are instringโ๏ธmin_anchor_sizenumโ set the minimum size, in pixels, of the scrollbar anchor ๐ฑ๏ธ (that's the part your mouse grabs onto and drags around) ๐border_widthnumโ set how wide the border is between the text window and the X window, innum๐ฆline_spacenumโ addnumpixels' worth of space between each row of the terminal window ๐ธfinished_titletitleโ when the child process finishes and the Eterm is paused,titleshows up in the title bar ๐finished_texttextโ when the child process finishes and the Eterm is paused,textshows up in the terminal window ๐term_namenameโ usenameas the$TERMenvironment variable, which decides which termcap/terminfo entry gets used ๐ง The default isEterm๐execcommandโ instead of running a shell, Eterm spawnscommandas its child process ๐
Only one exec allowed, bestie! You can only have one of these ๐
โจ BUILT-IN FUNCTIONS โจ
Eterm has a whole set of built-in functions you can use in config files ๐ฆ Each one takes zero or more parameters and spits out a series of zero or more words. "Words" follow shell rules, so words are separated by whitespace, and single or double quotes can wrap words that have whitespace inside them ๐ซถ You can also use backquotes to run a command, and its output can either become part of the config file itself or get handed to a built-in function as its parameter list ๐ Built-in functions and backquotes can go anywhere their output would be valid. Built-in functions always start with the % character ๐
%appname()โ returns the application name, a hyphen, and the version number. Right now that's the stringEterm-0.9.6โจ%exec(command)โ runscommandand returns the result. Basically it's exactly like using backquotes ๐ง%get(variable)โ retrieves the value of a config file variable. Check out%put()below for the deets ๐%put(variable value)โ creates a config variable namedvariableand assigns it the value ofvalue. You can grab that value later with%get(variable)๐%random(params)โ randomly picks one of the words that make upparamsand returns it ๐ฒ The default themes that ship with Eterm use this to choose random backgrounds, but backgrounds aren't the only thing you can randomize! You can randomize anything: colors, toggles, fonts, tinting, etc. ๐ฅ%version()โ returns the version number. Right now that's the string0.9.6๐
๐ธ PREPROCESSING ๐ธ
Eterm supports the %include file directive, so you can split your config info into multiple files ๐ซถ Eterm loads and parses file just like any other config file, but it treats the contents as if they replaced the directive itself ๐
You can also ask for a config file to be run through an external preprocessor (like m4 or cpp) before Eterm reads it ๐ง You do this with the %preproc command directive. You can use whatever you like for command, as long as it accepts input on STDIN and sends output to STDOUT ๐ If you want an example, check out the menus.cfg file in the default chooser theme ๐
๐ SCRIPT FUNCTIONS ๐
One of the action types you can bind to keypresses, mouse buttons, menuitems, or buttonbar buttons is a script ๐ฆ The script has to be a single word (so no spaces, or wrapped in quotes), and it's made up of one or more calls to the script functions below ๐ Each call is separated from the next by a semicolon (;). Function parameters go inside parentheses, though the parentheses are optional if there aren't any parameters to pass ๐ง Commas and/or whitespace separate parameters from each other โจ
copy(buffer)โ copies the current selection to the specified clipboard or cut buffer ๐bufferis either a number from0-7, in which case the selection goes to that cut buffer, or one of the wordsclipboard,primary, orsecondary(or any initial substring of those), in which case the selection goes to the specified clipboard. You can leavebufferout, and then the default buffer isprimary(XA_PRIMARYin Xlib-speak) ๐ซถecho(string)โ sends the specified string to the subcommand ๐ฌ Exactly equivalent to theechoactiones_display(cmd, params)โ Aliases:es_disp๐ช This is a master function for messing with Escreen displays through a series of subcommands. Thecmdyou pick decides what, if any,paramsare allowed. Here are the available subcommands:gotoโ switch to the specified display (0-9) ๐ฏprevโ switch to the previous display โฌ ๏ธnextโ switch to the next display โก๏ธtoggleโ toggle display ๐newโ create a new display. You can pass a name for the new display as a parameter, or ask to prompt the user for the name ๐renameโ change the name of the current display. You can pass a name for the new display as a parameter, or ask to prompt the user for the name โ๏ธkillโ terminate the current (or specified) display ๐watchโ toggle monitoring of the current/specified display for activity ๐scrollbackโ view the scrollback for the current/specified display ๐
๐ es_region(cmd, params)
Aliases: es_reg, es_win, es_window
okay so this is the master function for bossing around Escreen display regions ๐. You pick a subcommand with cmd, and that decides whether params are allowed. Here are the subcommands:
gotoโ switch to the specified region (0-9) ๐ฆprevโ switch to the previous regionnextโ switch to the next regiontoggleโ toggle regionnewโ create a new region. You can pass a name as a parameter, or ask to prompt the user for the name โจrenameโ change the name of the current region. You can pass the new name as a parameter, or ask to prompt the user for it ๐killโ terminate the current (or specified) region ๐onlyโ maximize the current or specified region to the full display ๐ฅwatchโ toggle monitoring of the current or specified region for activity ๐scrollbackโ view the scrollback for the current or specified region ๐
๐ธ es_statement(statement)
Executes an Escreen (screen/twin) command directly. No detours, just vibes ๐ง
๐ฆ es_reset()
Aliases: es_rst
Resets the Escreen session. A fresh start, bestie ๐
๐ exec_dialog(command)
Same as exec/spawn, but this one pops up a dialog box where you can edit or confirm the command to be run and specify extra parameters if needed ๐
๐ exit(message) / exit(code)
exit(message)
exit(code)
Aliases: die, quit
Exits Eterm with an optional message or an integer return code. You can pass either parameter, but not both โ ๏ธ. If neither is specified, a code of 0 (zero) is the default ๐
๐ฅ kill(signal)
Sends the specified signal to Eterm's primary child process (either your shell, or whatever you told Eterm to execute). For the time being, signal must be numeric ๐ข. If you leave signal out, SIGTERM is the default ๐
๐ฌ msgbox(message)
Pops up a small dialog box with message and waits for a keypress before moving on โญ
๐ด nop()
Does absolutely nothing except waste time. :-) ๐
๐ paste(buffer)
Pastes the contents of the specified clipboard or cut buffer right into the terminal window ๐ซถ. buffer can be:
- a number from
0-7, which pastes the selection from that cut buffer - one of the words
clipboard,primary, orsecondary(or any starting part of those words), which pastes the contents of that clipboard
You can leave buffer out, and then the default is primary (XA_PRIMARY in Xlib-speak) ๐ฆ
๐พ save(type, filename)
Saves the current theme or user configuration ๐พ. type can be user or theme, and the default is user. filename is the file where the settings get saved. It can include a path, either absolute or relative to the theme directory ๐๏ธ. The default filename for user is user.cfg, and the default for theme is theme.cfg โจ
๐ save_buff(filename)
Dumps the whole scrollback buffer into the file you name ๐
๐ scroll(n)
Scrolls backward or forward through the scrollback buffer ๐. n is a floating point number with an optional unit specifier. The units are:
linesorlpagesorpbuffersorb
The number and the unit can be separated by whitespace or a comma, but that's optional. A positive number scrolls down (forward), and a negative number scrolls up (backward) โฌ๏ธโฌ๏ธ. For example, the key sequence Shift-PgUp is the same as scroll(-1p) ๐. You can also use fractions, like scroll(0.5p) to scroll down half a page ๐. If you don't give a unit, the default is lines.
๐ search(str)
Pops up a dialog box where you can type a search term, and the default value is set to str ๐. Every occurrence of the search string gets highlighted in the scrollback buffer, and Eterm jumps back to the most recent one โจ. Search again with the same keyword and the previous highlighting gets cleared ๐งน.
๐ spawn(command)
Aliases: exec
Spawns a secondary child process to run command, or runs Eterm if no value is passed ๐ง
๐งต string(string)
The specified string is parsed via Eterm. This is exactly identical to the string action ๐
โจ ESCREEN โจ
Escreen is a screen/twin interface layer that lets Eterm work with GNU screen and with Massimiliano Ghilardi's twin software ๐ฆ. This means Eterm can run multiple subshell sessions inside a single window ๐ช. It works kind of like the "tabbed" sessions in programs like konsole and multi-gnome-terminal, but Escreen is an interface to existing software, so you get extra perks like multiple regions per display, detach/reattach capability, seamless remote session support, firewall support, and more ๐.
Escreen support is still somewhat experimental, so it's not compiled into Eterm by default ๐งช. To turn it on, you have to compile with --enable-escreen and/or --enable-etwin, depending on whether you have screen, twin, or both. If you installed from a package, run Eterm --version and look for either +ESCREEN (enabled) or -ESCREEN (disabled) ๐.
For the best results, use Escreen mode by starting Eterm with the Escreen theme: Eterm -t Escreen ๐. This theme supplies the default key bindings, the basic Escreen menu, color definitions, and so on for the Escreen engine ๐จ. Most importantly, it supplies the required url parameter that invokes Escreen mode ๐.
For a deeper dive into Escreen mode, check out the README.Escreen file ๐.
๐ AUTHORS ๐
Michael Jennings (mej@eterm.org) ๐ซถ
๐ URL(s) ๐
Eterm Home Page -- http://www.eterm.org/ ๐
Author's Home Page -- http://www.kainx.org/ ๐ฆ
That's the whole page, bestie! ๐ โจ This one is stamped with X Version 11 and dated 17 August 2008, and it's still giving main character energy ๐๐๐
๐ฆ where this page comes from
- debian bookworm: eterm 0.9.6-7
- ubuntu jammy: eterm 0.9.6-6.1
- ubuntu noble: eterm 0.9.6-7.1ubuntu1
- ubuntu questing: eterm 0.9.6-7.2
- ubuntu resolute: eterm 0.9.6-7.3
- ubuntu stonking: eterm 0.9.6-7.3
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms