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

..03-May-2022-

English.lproj/H02-Aug-2017-276238

French.lproj/H22-Sep-2016-314244

German.lproj/H16-Jan-2016-263212

Hungarian.lproj/H16-Jan-2016-226201

Italian.lproj/H10-Jun-2016-280241

Norwegian.lproj/H16-Jan-2016-224199

Russian.lproj/H16-Jan-2016-226199

Spanish.lproj/H16-Jan-2016-285193

Swedish.lproj/H16-Jan-2016-233204

Turkish.lproj/H16-Jan-2016-225200

COPYINGH A D16-Jan-201617.6 KiB341281

ChangeLogH A D19-Dec-20165.6 KiB220144

DefaultTerminalServices.svcsH A D16-Jan-20162 KiB117117

GNUmakefileH A D02-Aug-20172.3 KiB9057

Label.hH A D16-Jan-2016474 175

Label.mH A D16-Jan-2016650 2723

PrefBox.hH A D16-Jan-20161.1 KiB4312

PreferencesWindowController.hH A D16-Jan-2016772 3613

PreferencesWindowController.mH A D16-Jan-20165.7 KiB270211

READMEH A D16-Jan-20167.1 KiB173129

Services.hH A D16-Jan-2016893 4323

Services.mH A D25-May-20169.5 KiB395325

ServicesParameterWindowController.hH A D16-Jan-2016727 3013

ServicesParameterWindowController.mH A D16-Jan-20163.6 KiB167131

ServicesPrefs.hH A D16-Jan-2016904 3919

ServicesPrefs.mH A D16-Jan-201615.8 KiB723589

Terminal.hH A D16-Jan-20161.8 KiB7231

TerminalInfo.plistH A D02-Aug-2017584 1412

TerminalParser_Linux.hH A D25-May-20161.6 KiB7443

TerminalParser_Linux.mH A D19-May-201628.9 KiB1,4641,322

TerminalParser_LinuxPrefs.hH A D25-May-2016687 3113

TerminalParser_LinuxPrefs.mH A D16-Jan-20163.4 KiB176136

TerminalView.hH A D25-May-20162.5 KiB12773

TerminalView.mH A D03-May-202247.2 KiB2,4102,022

TerminalViewPrefs.hH A D25-May-20161.7 KiB8752

TerminalViewPrefs.mH A D16-Jan-201616.9 KiB783618

TerminalWindow.hH A D03-May-20221.3 KiB5830

TerminalWindow.mH A D10-Jun-201614.6 KiB593474

TerminalWindowPrefs.hH A D16-Jan-2016746 3817

TerminalWindowPrefs.mH A D16-Jan-20165 KiB235180

autokeyviewchain.hH A D16-Jan-2016576 239

autokeyviewchain.mH A D16-Jan-20161.8 KiB8965

charmaps.hH A D16-Jan-20168.9 KiB149142

main.mH A D19-May-201613.8 KiB591467

README

1Terminal.app - copyright (c) 2002 Alexander Malmberg <alexander@malmberg.org>
2
3OpenPty and ForkPty replacements written by Riccardo Mottola, 2005-2008
4
5a terminal emulator for GNUstep
6
7This file is a part of Terminal.app. Terminal.app is free software; you
8can redistribute it and/or modify it under the terms of the GNU General
9Public License as published by the Free Software Foundation; version 2
10of the License. See COPYING or main.m for more information.
11
12
13Installing
14----------
15
16You'll need gnustep-base and gnustep-gui (or possibly some other
17openstep-like system).
18The pty code is known to work on GNU/Linux and FreeBSD and NetBSD.
19Pty code replacement is provided and used by default on Solaris, where
20it is known to work. On other operating systems you might want to
21define USE_FORKPTY_REPLACEMENT in TerminalView.m
22
23Reports
24and/or patches for other systems are welcome.
25
26To build, run 'make'.
27To install, run 'make install'.
28
29(All the usual gnustep-make options apply.)
30
31
32Running
33-------
34
35Run it just like you'd run any other GNUstep application, eg.:
36  openapp Terminal.app
37
38An empty window with a shell will be opened when the program starts, unless
39you gave it a command on the command line, in which case that command will
40be run in the opened window.
41
42
43Fonts
44-----
45
46You can change the fonts used for normal and bold text in the preferences
47panel. Terminal.app will get the metrics for the character cells from the
48normal font, so this font really should be a fixed pitch font or things
49will look messed up. The bold font should closely match the normal font.
50
51(Terminal.app assumes that all characters, bold and normal, stay inside
52the normal font's bounding box. If they don't, there will be visual
53glitches. However, it is more common that a non-fixed pitch font's bounding
54box is very large (since it needs to enclose _all_ characters in the font),
55so that the terminal window will be very wide.)
56
57
58Keys
59----
60
61By default, the command key is used to access key equivalents for menu
62entries, and thus can't be used as a meta key in the terminal. If you
63have command mapped to the key you want to use as meta, you can enable
64'Treat the command key as meta' in the preferences panel. However, this
65will disable all key equivalents in Terminal.app. The 'proper' solution
66to this problem is to remap the command key (and possibly alternate key).
67The alternate key will always be treated as meta.
68
69Often, the escape key can be used to emulate a meta key. This means that
70in some programs, you might have to press escape twice to get a 'real'
71escape, or there will be a delay before it is handled. The 'Send a double
72escape...' option causes Terminal.app to send a double escape when you hit
73the escape key (ie. "\e\e"), which should work better (but you can no
74longer use the escape key as meta).
75
76
77Terminal services
78-----------------
79
80Terminal.app can provide services for other applications by piping the
81selection through arbitrary commands. Services are configured in one of
82the preferences panel's tabs. The first time you open this tab, a default
83set of services will be loaded. They are automatically added the first time
84so that they appear in the services menu. This will also run
85make_services to update the services list, but it may take up to 30
86seconds for running applications to notice the change.
87
88The 'Add' and 'Remove' buttons add and remove services. Using the 'Export'
89button it is possible to save a set of services to a file. These files
90can be imported using the 'Import' button, so it is possible for users to
91share terminal services definitions. The extension of the file should be
92'.svcs'. The default set of services is such a file located in the
93application wrapper's resource directory. If you import a service with
94the same name as an existing service, and they aren't identical, the new
95one will be renamed to avoid a conflict.
96
97Name
98  This is the name of the service as it appears in the services menu. By
99  default, terminal services will be placed in a 'Terminal' submenu
100  of the Services menu, but you can override this by giving the name a
101  leading '/'. In this case, you can also use a second '/' to create your
102  own submenus. (gnustep-gui doesn't support submenus of submenus, though.)
103  Names must be unique.
104
105Key
106  The key equivalent for this command, if any. Note that if an application
107  uses this key for some other menu entry, the key will activate that menu
108  entry, not the service.
109
110Command line
111  The command line. It is passed to /bin/sh, so any shell commands will
112  work, and arguments may have to be quoted. A '%p' in the command line
113  will cause a prompt to be brought up when the service is run. If input
114  is to be placed on the command line, you can mark the place to put it
115  at with '%s' (otherwise it will be appended to the command line). You
116  can use '%%' to get a real '%'.
117
118Run in background/new window/idle window
119  If a service is set to run in the background, the command will have to
120  complete before the service will return, and the service can return
121  output. Otherwise, the command's output will appear in a window. 'new
122  window' causes a completely new window to be opened (and it will close
123  automatically when the command is completed if that option is set).
124  'idle window' causes Terminal.app to try to reuse an existing idle
125  window. If there is no such window it will open a new window (and that
126  window won't close automatically).
127
128Ignore/return output (only applies to background services)
129  If set to ignore, the output of the command will be discarded. Otherwise,
130  it will be parsed to a string or a bunch of filenames, depending on the
131  acceptable types. The output is assumed to be utf8 encoded.
132
133No input/Input in stdin/Input on command line
134  If set to 'No input', the service won't accept any input. Otherwise it
135  is necessary to select something to run it, and the selection will be
136  either piped to the command ('in stdin') or placed on the service's
137  command line (either at the '%s' or at the end, see above). Input will
138  be sent to the command utf8 encoded.
139
140Accept types
141  Plain text will be sent verbatim to the command. A list of filenames
142  (possibly just one) will be sent separated by ' ':s (if on the command
143  line), or newlines (if in stdin).
144
145
146Terminal emulation
147------------------
148
149The terminal emulation code is based on Linux's console code, and nearly
150all parts of it are handled. Thus, the TERM environment variable is set
151to 'linux'. Additionally, 'vt100', 'vt220', 'xterm', and others similar
152to these should mostly work. To distinguish Terminal.app from a 'real'
153linux console, the environment variable TERM_PROGRAM is set to
154'GNUstep_Terminal'.
155
156
157The xterm extensions for setting the window's title are also supported.
158You set the title using:
159
160'\033]'+0, 1, or 2+';'+the title+'\007'
161
1621 sets the miniwindow title, 2 sets the window title, and 0 sets both.
163
164Example (from Jeff Teunissen):
165 export PROMPT_COMMAND='echo -ne "\033]2;Terminal - ${HOSTNAME}:${PWD}\007"'
166
167
168(The terminal emulation code is fairly modular. If you want to write a
169terminal emulation class for some other terminal, contact me and I'll
170do the remaining cleanups necessary to load terminal emulation classes
171from bundles.)
172
173