1TERMINOLOGY(1) Terminology man page TERMINOLOGY(1)
2
3
4
6 Terminology - Terminal Emulator written with EFL (Enlightenment Founda‐
7 tion Libraries).
8
10 terminology [options]
11
13 This is an EFL terminal emulator with some extra bells and whistles.
14 It has many features including split terminal support, support for
15 tabs, preview icons for files and so on...
16
18 -e, --exec <cmnd>
19 Specify command to execute. Defaults to $SHELL (or passwd shell
20 or /bin/sh) When used along with -S/--split, each argument is
21 used as a command for a split, leaving away the extra arguments.
22 With 3 splits, one vertical, a command on the right, an horizon‐
23 tal split on the left with only a command on the bottom, the
24 following arguments should be used: --split v-h-- -e command1
25 $SHELL command2
26
27 -d=CURRENT-DIRECTORY, --current-directory=CURRENT-DIRECTORY
28 Change to directory for execution of terminal command. Type:
29 STR.
30
31 -t=THEME, --theme=THEME
32 Use the named edje theme or path to theme file. Type: STR.
33
34 -b=BACKGROUND, --background=BACKGROUND
35 Use the named file as a background wallpaper for terminology.
36 Type: STR.
37
38 -g=GEOMETRY, --geometry=GEOMETRY
39 Terminal geometry to use (eg 80x24 or 80x24+50+20 etc.). Type:
40 STR.
41
42 -n=NAME, --name=NAME
43 Set window name. Type: STR.
44
45 -r=ROLE, --role=ROLE
46 Set window role. Type: STR.
47
48 -S=vh-, --split=vh-
49 Terminology can start with splits opened as described below.
50 The arguments are a string with the following characters:
51 -S v splits terminal vertically
52 -S h splits horizontally
53 - defines a placeholder for a shell or a command when used with
54 --exec/-e
55 Examples:
56 ______
57 | | |
58 $ terminology -S v |__|__|
59
60 ______
61 |_____|
62 $ terminology -S h |_____|
63
64 ______
65 |__| |
66 $ terminology -S vh |__|__|
67
68 ______
69 | |__|
70 $ terminology -S v-h |__|__|
71
72 ______
73 $ terminology -S vh--h |__|__|
74 hv--v |__|__|
75 Type: STR.
76
77 -T=TITLE, --title=TITLE
78 Set window title. Type: STR.
79
80 -i=ICON-NAME, --icon-name=ICON-NAME
81 Set icon name. Type: STR.
82
83 -f=FONT, --font=FONT
84 Set font (NAME/SIZE for scalable, NAME for bitmap. Type: STR.
85
86 -l=LOGIN, --login=LOGIN
87 Run the shell as a login shell. Type: BOOL.
88
89 -m=VIDEO-MUTE, --video-mute=VIDEO-MUTE
90 Set mute mode for video playback. Type: BOOL.
91
92 -c=CURSOR-BLINK, --cursor-blink=CURSOR-BLINK
93 Set cursor blink mode. Type: BOOL.
94
95 -G=VISUAL-BELL, --visual-bell=VISUAL-BELL
96 Set visual bell mode. Type: BOOL.
97
98 -F, --fullscreen
99 Go into the fullscreen mode from start.
100
101 -I, --iconic
102 Go into an iconic state from the start.
103
104 -B, --borderless
105 Become a borderless managed window.
106
107 -O, --override
108 Become an override-redirect window.
109
110 -M, --maximized
111 Become maximized from the start.
112
113 -W, --nowm
114 Terminology is run without a wm.
115
116 -H, --hold
117 Don't exit when the command process exits.
118
119 -s, --single
120 Force single executable if multi-instance is enabled..
121
122 -2, --256color
123 Set TERM to xterm-256color instead of xterm.
124
125 --active-links=ACTIVATE-LINKS
126 Whether to highlight links. Type: BOOL.
127
128 --no-wizard
129 Do not display the wizard on start up. Type: BOOL.
130
131 --scale=SCALE
132 Scaling factor to use on the UI. Type: DOUBLE.
133
134 -V, --version
135 Show program version.
136
137 -C, --copyright
138 Show copyright.
139
140 -L, --license
141 Show license.
142
143 -h, --help
144 Show this message.
145
146
148 Shift+PgUp
149 Scroll terminology one page up.
150
151 Shift+PgDn
152 Scroll terminology one page down.
153
154 Shift+Up
155 Scroll terminology one line up.
156
157 Shift+Down
158 Scroll terminology one line down.
159
160 Shift+Home
161 Scroll terminology to the top of the backlog.
162
163 Shift+End
164 Reset scroll in terminology.
165
166 Shift+Left
167 Switch focus to previous terminal inside a window when using
168 splits, or the previous tab.
169
170 Shift+Right
171 Switch focus to next terminal inside a window when using splits,
172 or the next tab.
173
174 Shift+Insert
175 Paste Clipboard (ctrl+v/c) selection.
176
177 Shift+Ctrl+Insert
178 Paste Primary (highlight) selection.
179
180 Shift+Keypad-Plus
181 Font size up by one unit.
182
183 Shift+Keypad-Minus
184 Font size down by one unit.
185
186 Shift+Keypad-Multiply
187 Reset font size.
188
189 Shift+Keypad-Divide
190 Copy highlight to Clipboard (same as ctrl+c in gui apps).
191
192 Ctrl+PgUp
193 Switch focus to previous terminal inside a window when using
194 splits, or the previous tab.
195
196 Ctrl+PgDn
197 Switch focus to next terminal inside a window when using splits,
198 or the next tab.
199
200 Ctrl+Shift+h
201 Toggle displaying the miniview of the history.
202
203 Ctrl+Alt+t
204 Set tab's title.
205
206 Ctrl+Shift+t
207 Create a new terminal on top of current inside window (tabs).
208
209 Ctrl+Shift+n
210 Launch new terminology.
211
212 Ctrl+Shift+End
213 Close the current terminal.
214
215 Ctrl+Shift+Home
216 Bring up "tab" switcher.
217
218 Ctrl+Shift+PgUp
219 Split terminal horizontally (one terminal above the other).
220
221 Ctrl+Shift+PgDn
222 Split terminal vertically (one terminal to the left of the
223 other).
224
225 Alt+Home
226 Enter command mode (enter commands to control terminology
227 itself).
228
229 Alt+Return
230 Paste primary selection.
231
232 Alt+g Group input: send input to all visible terminals in the window
233
234 Alt+Shift+g
235 Group input: send input to all terminals in the window
236
237 Alt+w Copy selection to primary.
238
239 Alt+Up Focus the terminal above
240
241 Alt+Down
242 Focus the terminal down
243
244 Alt+Left
245 Focus the terminal on the left
246
247 Alt+Right
248 Focus the terminal on the right
249
250 Ctrl+Shift+c
251 Copy current selection to clipboard.
252
253 Ctrl+Shift+v
254 Paste current clipboard selection.
255
256 Ctrl+1 through Ctrl+0
257 Switch to terminal tab 1 through 10.
258
259 Ctrl+Alt+Equal
260 Increase font size. Note that it works on scalable fonts only.
261
262 Ctrl+Alt+Minus
263 Decrease font size. Note that it works on scalable fonts only.
264
265 Ctrl+Alt+0
266 Reset font to default setting saved in config.
267
268 Ctrl+Alt+9
269 Display big font size (10x20 bitmap, or size 20 with scalable).
270
271
273 Right mouse click
274 Bring up controls menus.
275
276 Middle mouse click
277 Paste highlight selection.
278
279 Left mouse click/drag
280 Make a selection highlight.
281
282 Ctrl + Left mouse click/drag
283 Make a block selection.
284
285 Wheel Scroll up or down in history.
286
287 Ctrl + Wheel
288 Zoom font size up/down.
289
290
292 To enter command mode in terminology press Alt+Home. Currently command
293 mode understands the following commands:
294
295 f Reset font to default setting saved in config.
296
297 f+ Increase font size. Note that it works on scalable fonts only.
298
299 f- Decrease font size. Note that it works on scalable fonts only.
300
301 fb Display big font size (10x20 bitmap, or size 20 with scalable).
302
303 gNxM Make terminal NxM chars in size (if possible). e.g. g80x48
304 g40x20. If just one number is provided, it will use the follow‐
305 ing shortcuts: g0=80x24; g1=80x40; g2=80x60; g3=80x80;
306 g4=120x24; g5=120x40; g6=120x60; g7=120x80; g8=120x120
307
308 b Reset the background (no media).
309
310 bPATH Set the background media to an absolute file PATH.
311
312
314 Apart from the ones shipped with Terminology, themes can be stored in
315 ~/.config/terminology/themes/.
316
317
319 tyls List directory contents with bells and whistles
320
321 tyalpha
322 Set transparency level of the background
323
324 tybg Change the background image
325
326 tycat Display inline a media file or a URI
327
328 typop Display in a popup a media file or a URI
329
330 tyq Queue media files or URI to be popped up
331
332 tysend Send files to the terminal (useful through ssh)
333
334
336 [\033][}][COMMAND][\000]
337 i.e.
338 1. ESC char (\033 or 0x1b)
339 2. } char
340 3... sequence of UTF8 chars other than nul (\000 or 0x00).
341 4 \000 char (nul byte or 0x00 to indicate end of sequence)
342 e.g.
343 echo -n '\033}Hello world\000'
344
345 Commands:
346
347 any values inside square brackets [] are to be replaced by some
348 content (numbers, strings, paths, url's etc.). example:
349
350 aa[PATH-OF-FILE] should be come something like:
351 aa/tmp/file.png or aa[true/false] should become something
352 like:
353 aatrue or
354 aafalse
355
356 ---
357
358 pn[FULL-PATH-OR-URL]
359 popup the given media file/url now.
360
361 pq[FULL-PATH-OR-URL]
362 queue a popup for the given media file/url.
363
364 bt[FULL-PATH-OR-URL]
365 set the terminal background media file/url temporarily.
366
367 bp[FULL-PATH-OR-URL]
368 set the terminal background media file/url permanently.
369
370 at[on/true/yes/off/false/no]
371 set the terminal alpha state to be on, or off temporarily.
372
373 ap[on/true/yes/off/false/no]
374 set the terminal alpha state to be on, or off permanently.
375
376 qs
377 query grid and font size. stdin will have written to it:
378 W;H;FW;FH
379 where W is the width of the terminal grid in characters
380 where H is the height of the terminal grid in characters
381 where FW is the width of 1 character cell in pixels
382 where FH is the height of 1 character cell in pixels
383
384 is[CW;H;FULL-PATH-OR-URL]
385 insert STRETCHED media (where image will stretch to fill the
386 cell area) and define expected cell area to be W cells
387 wide and H cells high, with the image/media/url.
388 where C is the replace character to be identified in later
389 text where W is the width in character cells (up to 511).
390 where H is the height in character cells (up to 511).
391
392 note that this escape alone has no effect. It indicates a
393 future intention of inserting media into the terminal. the ter‐
394 minal will EXPECT a grid of WxH "replace characters" to follow,
395 with each sequence of such replace characters bebung with a ib
396 escape command and ending with an ie escape command.
397
398 the FULL-PATH-OR-URL for all the i commands (is,
399 ic, if, it) may be of the form:
400
401 /full/path/to/file.png
402
403 OR
404
405 /full/path/to/link0full/path/to/file.png
406
407 where a newline character separates a URI for a link and
408 a full path to a file to display in the region. the link
409 is the destination URI when a user may click on the given
410 media image.
411
412 example:
413
414 printf("\ 33}is#5;3;%s 00"
415 "\ 33}ib#####\ 33}ie\0
416 "\ 33}ib#####\ 33}ie\0
417 "\ 33}ib#####\ 33}ie\0, "/tmp/icon.png");
418
419 note that # is the replace character, and later # chars if
420 inside begin/end escapes, will be replaced by the given media
421 indicated in the insert media escape.
422
423 ic[CW;H;FULL-PATH-OR-URL]
424 insert CENTERED media (centered in cell area). Otherwise
425 parameters are identical to the is command, but
426 retains aspect and is padded by blank space.
427
428 if[CW;H;FULL-PATH-OR-URL]
429 insert FILLED media (fill in cell area). Otherwise parameters
430 are identical to the is command but ensures the entire
431 area is filled like a background even if media goes beyond
432 cell bounds and is clipped.
433
434 it[CW;H;FULL-PATH-OR-URL]
435 insert THUMB media (thumbnail cell area). Otherwise parameters
436 are identical to the is command, but uses thumbnail
437 generation to make a fast to load but low resolution version
438 (cached) of the media.
439
440 it[CW;H;LINK\nFULL-PATH-OR-URL]
441 insert THUMB media with link (thumbnail cell area). Other‐
442 wise parameters
443 are identical to the is command, but uses thumbnail genera‐
444 tion to
445 make a fast to load but low resolution version (cached) of
446 the media.
447 LINK is a path (or url) to open _when_ the thumb is clicked
448 on by the
449 user.
450
451 ij[CW;H;FULL-PATH\nGROUP][\n][cmd1][\r\n][cmd2]...
452 insert EDJE object with file path given, and the group name
453 given.
454 The command list (and the \n whitespace delimiter before the
455 list)
456 is optional, but is executed/parsed before display of the
457 actual
458 object to do things like initialize its initial state. See
459 `iC`
460 command for more details on the command list.
461
462 Be aware that once you have an object with an assigned chan‐
463 nel id,
464 it can send back signals and messages via escapes on stdin.
465 These
466 escapes will follow terminology extended escape format
467 (ESC + } ... 00), and the content will be one of:
468
469 ;CHID\ndrag\nPART NAME\nVAL1\nVAL2
470 ;CHID\ndrag,start\nPART NAME\nVAL1\nVAL2
471 ;CHID\ndrag,stop\nPART NAME\nVAL1\nVAL2
472 ;CHID\ndrag,step\nPART NAME\nVAL1\nVAL2
473 ;CHID\drag,set\nPART NAME\nVAL1\nVAL2
474 signal;CHID\nSIGNAL STRING\nSOURCE STRING
475 message;CHID\nOPCODE ID\nstring\nSTRING1
476 message;CHID\nOPCODE ID\nint\nINT1
477 message;CHID\nOPCODE ID\nfloat\nFLOAT1
478 message;CHID\nOPCODE
479 ID\nstring_set\nSTRING1\nSTRING2\nSTRING3...
480 message;CHID\nOPCODE ID\nint_set\nINT1\nINT2\nINT3...
481 message;CHID\nOPCODE
482 ID\nfloat_set\nFLOAT1\nFLOAT2\nFLOAT3...
483 message;CHID\nOPCODE ID\nstring_int\nSTRING1\nINT1
484 message;CHID\nOPCODE ID\nstring_float\nSTRING1\nFLOAT1
485 message;CHID\nOPCODE
486 ID\nstring_int_set\nSTRING1\nINT1\nINT2\nINT3...
487 message;CHID\nOPCODE
488 ID\nstring_float_set\nSTRING1\nFLOAT1\nFLOAT2\nFLOAT3...
489
490 iC[CHID]\n[cmd1][\r\n][cmd2][\r\n][cmd3]...
491 send a COMMAND (cmd1, cmd2, cmd3 etc.) to an existing named
492 channel id CHID. this can be a list of 1 or more command
493 strings,
494 with each string broken by a continuous sequence of 1 or
495 more \r
496 and/or \n characters. e.g. "\n", "\r", "\r\n",
497 "\n\r", "\n\r\n\n\n", etc.
498
499 commands understood are:
500
501 text\nPART NAME\nTEXT STRING
502 set the text of "PART NAME" to string "TEXT STRING"
503
504 emit\nSIGNAL STRING\nSOURCE STRING
505 emit signal "SIGNAL STRING" "SOURCE STRING"
506
507 drag\nPART NAME\n[value|size|step|page]\nVAL1\nVAL2
508 manipulate dragable of name "PART NAME" and either set
509 "value", "size", "step" or "page" properties
510 to "VAL1" and "VAL2" for x and y, where
511 VAL1 and VAL2 are floating point values
512
513 chid\nCHANNEL ID
514 set the channel id of a given edje object (only valid in
515 setup
516 commands for the inline edje object) to "CHANNEL ID" so
517 it can
518 be addressed later.
519
520 message\nOPCODE
521 ID\n[string|int|float|string_set|int_set|...
522 float_set|string|int|string_float|string_int_set|...
523 string_float_set]\n[message data]
524 send a message with opcode (integer) id "OPCODE ID" of
525 one of
526 the given types supported ("string", "int", "float",
527 etc.) and then with the given "message data" at the end.
528 message data format depends on message type:
529 string: STRING1
530 int: INT1
531 float: FLOAT1
532 string_set: STRING1\nSTRING2\nSTRING3...
533 int_set: INT1\nINT2\nINT3...
534 float_set: FLOAT1\nFLOAT2\nFLOAT3...
535 string_int: STRING1\nINT1
536 string_float: STRING1\nFLOAT1
537 string_int_set: STRING1\nINT1\nINT2\nINT3...
538 string_float_set: STRING1\nFLOAT1\nFLOAT2\nFLOAT3...
539
540 ib
541 begin media replace sequence run.
542
543 ie
544 end media replace sequence run.
545
546 fr[PATH/FILE]
547 begin file send for a file named PATH / FILE
548
549 fs[SIZE_BYTES]
550 set the size in bytes of a file send started with the above fr
551 escape
552
553 fd[CHECKSUM DATA]
554 block of data for the current file transfer with checksum as a
555 string decimal which is the sum of every byte when taken as an
556 unsigned char per byte. the checksum is a signed 32bit inte‐
557 ger.
558 the checksum is the sum of the data after escaping. 4 bits at
559 a
560 time per data byte, encoded with high bits in one byte then
561 low
562 bits, with the bits encoded as 4 bit value being 0x40 + 4 bit
563 value
564 per byte. (@ == 0x0, A == 0x1, B == 0x2, ... N == 0xe, O ==
565 0xf).
566 so to rebuild a byte will be (((bytes[0] - 0x40) & 0xf) << 4)
567 |
568 ((bytes[1] - 0x40) & 0xf) per byte pair in the data block.
569
570 fx
571 exit file send mode (normally at the end of the file or when
572 it's
573 complete)
574
575
577 If you find a bug or for known issues/bugs/feature requests please
578 email enlightenment-devel@lists.sourceforge.net or visit the place
579 where all the hard work is done http://phab.enlightenment.org/
580
581
583 Terminology was written by Carsten Haitzler <raster@rasterman.com> and
584 others. It is maintained by Boris Faure <boris@fau.re> and others. See
585 AUTHORS file for other contributors.
586
587
588
5891.8.1 Aug 11, 2020 TERMINOLOGY(1)