TERMINAL(1)
β¨ TERMINAL(1) β General Commands Manual β¨
Okay bestie, let's talk about Terminal, the GNUstep Terminal Emulator π It's giving colorful terminal windows with configurable fonts, and it lets you set up shell utilities as GNUstep services. Iconic π
π SYNOPSIS
openapp Terminal [program [arguments ...]]
πΈ DESCRIPTION
Okay so this manual page briefly documents the Terminal GNUstep application π¦ It was written for the Debian distribution because the original program doesn't have a manual page, which is honestly so relatable π
Terminal provides terminal emulation in a GNUstep environment. It gives you colorized terminals with configurable fonts, and it also lets you configure shell utilities as GNUstep services. Main character energy, no cap π
π€ Fonts
You can change the fonts used for normal and bold text in the preferences panel. Terminal grabs the metrics for the character cells from the normal font, so this font really should be a fixed pitch font or things will look messed up π The bold font should closely match the normal font.
Terminal assumes that all characters, bold and normal, stay inside the normal font's bounding box. If they don't, there will be visual glitches. It's more common though that a non-fixed pitch font's bounding box is very large (since it needs to enclose all characters in the font), so the terminal window ends up being very wide π
β¨οΈ Keys
By default, the command key is used to access key equivalents for menu entries, so it can't be used as a meta key in the terminal. If you have command mapped to the key you want to use as meta, you can enable Treat the command key as meta in the preferences panel. However, this disables all key equivalents in Terminal π The "proper" solution is to remap the command key (and possibly the alternate key). The alternate key will always be treated as meta π«Ά
Often, the escape key can be used to emulate a meta key. That means that in some programs you might have to press escape twice to get a "real" escape, or there will be a delay before it's handled. The Send a double escape... option makes Terminal send a double escape when you hit the escape key (ie. "\e\e"), which should work better, but you can no longer use the escape key as meta π
π§ Terminal services
Terminal can provide services for other applications by piping the selection through arbitrary commands. Services are configured in one of the preferences panel's tabs. The first time you open this tab, a default set of services gets loaded. To save these where make_services will actually find them, press Apply and save. This also runs make_services to update the services list, but it may take up to 30 seconds for running applications to notice the change β¨
The Add and Remove buttons add and remove services. Using the Export button, you can save a set of services to a file. These files can be imported with the Import button, so users can literally share terminal services definitions π The extension of the file should be .svcs. The default set of services is one of these files, located in the application wrapper's resource directory. If you import a service with the same name as an existing service, and they aren't identical, the new one gets renamed to avoid a conflict.
- Name This is the name of the service as it appears in the services menu. By default, terminal services go in a
Terminalsubmenu of the Services menu, but you can override this by giving the name a leading/. In that case, you can also use a second/to create your own submenus. (gnustep-gui doesn't support submenus of submenus, though.) Names must be unique. - Key The key equivalent for this command, if any. Note that if an application uses this key for some other menu entry, the key will activate that menu entry, not the service.
- Command line The command line. It is passed to
/bin/sh, so any shell commands will work, and arguments may have to be quoted. A%pin the command line will bring up a prompt when the service is run. If input is going to be placed on the command line, you can mark the spot with%s(otherwise it gets appended to the end). You can use%%to get a real%. - Run in background/new window/idle window If a service is set to run in the background, the command has to complete before the service returns, and the service can return output. Otherwise, the command's output appears in a window.
new windowopens a completely new window (and it closes automatically when the command completes, if that option is set).idle windowmakes Terminal try to reuse an existing idle window. If there's no such window, it opens a new one (and that window won't close automatically) π¦ - Ignore/return output (only applies to background services) If set to
ignore, the command's output gets discarded. Otherwise, it's parsed into a string or a bunch of filenames, depending on the acceptable types. The output is assumed to be utf8 encoded. - No input/Input in stdin/Input on command line If set to
No input, the service won't accept any input. Otherwise you have to select something to run it, and the selection will be either piped to the command (in stdin) or placed on the service's command line (either at the%sor at the end, see above). Input gets sent to the command utf8 encoded. - Accept types Plain text gets sent verbatim to the command. A list of filenames (possibly just one) gets sent separated by
' 's (if on the command line), or newlines (if in stdin).
π OPTIONS
Commands can be given on the command line, and they'll run in the newly opened shell window π
π EMULATION
The terminal emulation code is based on Linux's console code, and nearly all parts of it are handled. So the TERM environment variable is set to linux. Additionally, vt100, vt220, xterm, and others similar to these should mostly work. To tell Terminal apart from a "real" linux console, the environment variable TERM_PROGRAM is set to GNUstep_Terminal πΈ
The xterm extensions for setting the window's title are also supported. You set the title using:
' 33]'+0, 1, or 2+';'+the title+' 07'
1 sets the miniwindow title, 2 sets the window title, and 0 sets both.
Example (from Jeff Teunissen):
export
PROMPT_COMMAND='echo -ne "\033]2;Terminal - ${HOSTNAME}:${PWD}\007"'
π· ENVIRONMENT
Terminal sets the following environment variables:
TERMWill be set tolinux.TERM_PROGRAMWill be set toGNUstep_Terminal.
π£οΈ LANGUAGES
Terminal speaks English, French, German, Hungarian, Norwegian, Russian, Spanish, Italian, Swedish and Turkish π
π NOTES
The content of this manual page was taken from the package's README file and converted into a manual page for Debian π§Έ
π SEE ALSO
- http://gap.nongnu.org/terminal/
- http://www.gnustep.org/
GNUstep(7)openapp(1)open(1)make_services(1)
December 17, 2004 Β· TERMINAL(1) β bye bestie, go be iconic π¦π
π¦ where this page comes from
- debian bookworm: terminal.app 0.9.9-3+b2 Β· GPL-2.0-only
- debian trixie: terminal.app 0.9.9-5+b2 Β· GPL-2.0-only
- ubuntu jammy: terminal.app 0.9.9-3build2 Β· GPL-2.0-only
- ubuntu noble: terminal.app 0.9.9-3build3 Β· GPL-2.0-only
- ubuntu resolute: terminal.app 0.9.9-5build2 Β· GPL-2.0-only
- ubuntu stonking: terminal.app 0.9.9-5build2 Β· GPL-2.0-only
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms