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 --colorscheme=COLORSCHEME
135 Use the named color scheme. Type: STR.
136
137 -V, --version
138 Show program version.
139
140 -C, --copyright
141 Show copyright.
142
143 -L, --license
144 Show license.
145
146 -h, --help
147 Show this message.
148
149
151 Shift+PgUp
152 Scroll terminology one page up.
153
154 Shift+PgDn
155 Scroll terminology one page down.
156
157 Shift+Up
158 Scroll terminology one line up.
159
160 Shift+Down
161 Scroll terminology one line down.
162
163 Shift+Home
164 Scroll terminology to the top of the backlog.
165
166 Shift+End
167 Reset scroll in terminology.
168
169 Shift+Left
170 Switch focus to previous terminal inside a window when using
171 splits, or the previous tab.
172
173 Shift+Right
174 Switch focus to next terminal inside a window when using splits,
175 or the next tab.
176
177 Shift+Insert
178 Paste Clipboard (ctrl+v/c) selection.
179
180 Shift+Ctrl+Insert
181 Paste Primary (highlight) selection.
182
183 Shift+Keypad-Plus
184 Font size up by one unit.
185
186 Shift+Keypad-Minus
187 Font size down by one unit.
188
189 Shift+Keypad-Multiply
190 Reset font size.
191
192 Shift+Keypad-Divide
193 Copy highlight to Clipboard (same as ctrl+c in gui apps).
194
195 Ctrl+PgUp
196 Switch focus to previous terminal inside a window when using
197 splits, or the previous tab.
198
199 Ctrl+PgDn
200 Switch focus to next terminal inside a window when using splits,
201 or the next tab.
202
203 Ctrl+Shift+h
204 Toggle displaying the miniview of the history.
205
206 Ctrl+Alt+t
207 Set tab's title.
208
209 Ctrl+Shift+t
210 Create a new terminal on top of current inside window (tabs).
211
212 Ctrl+Shift+n
213 Launch new terminology.
214
215 Ctrl+Shift+End
216 Close the current terminal.
217
218 Ctrl+Shift+Home
219 Bring up "tab" switcher.
220
221 Ctrl+Shift+PgUp
222 Split terminal horizontally (one terminal above the other).
223
224 Ctrl+Shift+PgDn
225 Split terminal vertically (one terminal to the left of the
226 other).
227
228 Alt+Home
229 Enter command mode (enter commands to control terminology it‐
230 self).
231
232 Alt+Return
233 Paste primary selection.
234
235 Alt+g Group input: send input to all visible terminals in the window
236
237 Alt+Shift+g
238 Group input: send input to all terminals in the window
239
240 Alt+w Copy selection to primary.
241
242 Alt+Up Focus the terminal above
243
244 Alt+Down
245 Focus the terminal down
246
247 Alt+Left
248 Focus the terminal on the left
249
250 Alt+Right
251 Focus the terminal on the right
252
253 Ctrl+Shift+c
254 Copy current selection to clipboard.
255
256 Ctrl+Shift+v
257 Paste current clipboard selection.
258
259 Ctrl+1 through Ctrl+0
260 Switch to terminal tab 1 through 10.
261
262 Ctrl+Alt+Equal
263 Increase font size. Note that it works on scalable fonts only.
264
265 Ctrl+Alt+Minus
266 Decrease font size. Note that it works on scalable fonts only.
267
268 Ctrl+Alt+0
269 Reset font to default setting saved in config.
270
271 Ctrl+Alt+9
272 Display big font size (10x20 bitmap, or size 20 with scalable).
273
274
276 Right mouse click
277 Bring up controls menus.
278
279 Middle mouse click
280 Paste highlight selection.
281
282 Left mouse click/drag
283 Make a selection highlight.
284
285 Ctrl + Left mouse click/drag
286 Make a block selection.
287
288 Wheel Scroll up or down in history.
289
290 Ctrl + Wheel
291 Zoom font size up/down.
292
293
295 To enter command mode in terminology press Alt+Home. Currently command
296 mode understands the following commands:
297
298 f Reset font to default setting saved in config.
299
300 f+ Increase font size. Note that it works on scalable fonts only.
301
302 f- Decrease font size. Note that it works on scalable fonts only.
303
304 fb Display big font size (10x20 bitmap, or size 20 with scalable).
305
306 gNxM Make terminal NxM chars in size (if possible). e.g. g80x48
307 g40x20. If just one number is provided, it will use the follow‐
308 ing shortcuts: g0=80x24; g1=80x40; g2=80x60; g3=80x80;
309 g4=120x24; g5=120x40; g6=120x60; g7=120x80; g8=120x120
310
311 b Reset the background (no media).
312
313 bPATH Set the background media to an absolute file PATH.
314
315
317 Apart from the ones shipped with Terminology, themes can be stored in
318 ~/.config/terminology/themes/.
319
320
322 tyls List directory contents with bells and whistles
323
324 tyalpha
325 Set transparency level of the background
326
327 tybg Change the background image
328
329 tycat Display inline a media file or a URI
330
331 typop Display in a popup a media file or a URI
332
333 tyq Queue media files or URI to be popped up
334
335 tysend Send files to the terminal (useful through ssh)
336
337
339 [\033][}][COMMAND][\000]
340 i.e.
341 1. ESC char (\033 or 0x1b)
342 2. } char
343 3... sequence of UTF8 chars other than nul (\000 or 0x00).
344 4 \000 char (nul byte or 0x00 to indicate end of sequence)
345 e.g.
346 echo -n '\033}Hello world\000'
347
348 Commands:
349
350 any values inside square brackets [] are to be replaced by some
351 content (numbers, strings, paths, url's etc.). example:
352
353 aa[PATH-OF-FILE] should be come something like:
354 aa/tmp/file.png or aa[true/false] should become something
355 like:
356 aatrue or
357 aafalse
358
359 ---
360
361 pn[FULL-PATH-OR-URL]
362 popup the given media file/url now.
363
364 pq[FULL-PATH-OR-URL]
365 queue a popup for the given media file/url.
366
367 bt[FULL-PATH-OR-URL]
368 set the terminal background media file/url temporarily.
369
370 bp[FULL-PATH-OR-URL]
371 set the terminal background media file/url permanently.
372
373 at[on/true/yes/off/false/no]
374 set the terminal alpha state to be on, or off temporarily.
375
376 ap[on/true/yes/off/false/no]
377 set the terminal alpha state to be on, or off permanently.
378
379 qs
380 query grid and font size. stdin will have written to it:
381 W;H;FW;FH
382 where W is the width of the terminal grid in characters
383 where H is the height of the terminal grid in characters
384 where FW is the width of 1 character cell in pixels
385 where FH is the height of 1 character cell in pixels
386
387 is[CW;H;FULL-PATH-OR-URL]
388 insert STRETCHED media (where image will stretch to fill the
389 cell area) and define expected cell area to be W cells
390 wide and H cells high, with the image/media/url.
391 where C is the replace character to be identified in later
392 text where W is the width in character cells (up to 511).
393 where H is the height in character cells (up to 511).
394
395 note that this escape alone has no effect. It indicates a fu‐
396 ture intention of inserting media into the terminal. the termi‐
397 nal will EXPECT a grid of WxH "replace characters" to follow,
398 with each sequence of such replace characters bebung with a ib
399 escape command and ending with an ie escape command.
400
401 the FULL-PATH-OR-URL for all the i commands (is,
402 ic, if, it) may be of the form:
403
404 /full/path/to/file.png
405
406 OR
407
408 /full/path/to/link0full/path/to/file.png
409
410 where a newline character separates a URI for a link and
411 a full path to a file to display in the region. the link
412 is the destination URI when a user may click on the given
413 media image.
414
415 example:
416
417 printf("\ 33}is#5;3;%s 00"
418 "\ 33}ib#####\ 33}ie\0
419 "\ 33}ib#####\ 33}ie\0
420 "\ 33}ib#####\ 33}ie\0, "/tmp/icon.png");
421
422 note that # is the replace character, and later # chars if
423 inside begin/end escapes, will be replaced by the given media
424 indicated in the insert media escape.
425
426 ic[CW;H;FULL-PATH-OR-URL]
427 insert CENTERED media (centered in cell area). Otherwise
428 parameters are identical to the is command, but
429 retains aspect and is padded by blank space.
430
431 if[CW;H;FULL-PATH-OR-URL]
432 insert FILLED media (fill in cell area). Otherwise parameters
433 are identical to the is command but ensures the entire
434 area is filled like a background even if media goes beyond
435 cell bounds and is clipped.
436
437 it[CW;H;FULL-PATH-OR-URL]
438 insert THUMB media (thumbnail cell area). Otherwise parameters
439 are identical to the is command, but uses thumbnail
440 generation to make a fast to load but low resolution version
441 (cached) of the media.
442
443 it[CW;H;LINK\nFULL-PATH-OR-URL]
444 insert THUMB media with link (thumbnail cell area). Other‐
445 wise parameters
446 are identical to the is command, but uses thumbnail genera‐
447 tion to
448 make a fast to load but low resolution version (cached) of
449 the media.
450 LINK is a path (or url) to open _when_ the thumb is clicked
451 on by the
452 user.
453
454 ij[CW;H;FULL-PATH\nGROUP][\n][cmd1][\r\n][cmd2]...
455 insert EDJE object with file path given, and the group name
456 given.
457 The command list (and the \n whitespace delimiter before the
458 list)
459 is optional, but is executed/parsed before display of the
460 actual
461 object to do things like initialize its initial state. See
462 `iC`
463 command for more details on the command list.
464
465 Be aware that once you have an object with an assigned chan‐
466 nel id,
467 it can send back signals and messages via escapes on stdin.
468 These
469 escapes will follow terminology extended escape format
470 (ESC + } ... 00), and the content will be one of:
471
472 ;CHID\ndrag\nPART NAME\nVAL1\nVAL2
473 ;CHID\ndrag,start\nPART NAME\nVAL1\nVAL2
474 ;CHID\ndrag,stop\nPART NAME\nVAL1\nVAL2
475 ;CHID\ndrag,step\nPART NAME\nVAL1\nVAL2
476 ;CHID\drag,set\nPART NAME\nVAL1\nVAL2
477 signal;CHID\nSIGNAL STRING\nSOURCE STRING
478 message;CHID\nOPCODE ID\nstring\nSTRING1
479 message;CHID\nOPCODE ID\nint\nINT1
480 message;CHID\nOPCODE ID\nfloat\nFLOAT1
481 message;CHID\nOPCODE
482 ID\nstring_set\nSTRING1\nSTRING2\nSTRING3...
483 message;CHID\nOPCODE ID\nint_set\nINT1\nINT2\nINT3...
484 message;CHID\nOPCODE
485 ID\nfloat_set\nFLOAT1\nFLOAT2\nFLOAT3...
486 message;CHID\nOPCODE ID\nstring_int\nSTRING1\nINT1
487 message;CHID\nOPCODE ID\nstring_float\nSTRING1\nFLOAT1
488 message;CHID\nOPCODE
489 ID\nstring_int_set\nSTRING1\nINT1\nINT2\nINT3...
490 message;CHID\nOPCODE
491 ID\nstring_float_set\nSTRING1\nFLOAT1\nFLOAT2\nFLOAT3...
492
493 iC[CHID]\n[cmd1][\r\n][cmd2][\r\n][cmd3]...
494 send a COMMAND (cmd1, cmd2, cmd3 etc.) to an existing named
495 channel id CHID. this can be a list of 1 or more command
496 strings,
497 with each string broken by a continuous sequence of 1 or
498 more \r
499 and/or \n characters. e.g. "\n", "\r", "\r\n",
500 "\n\r", "\n\r\n\n\n", etc.
501
502 commands understood are:
503
504 text\nPART NAME\nTEXT STRING
505 set the text of "PART NAME" to string "TEXT STRING"
506
507 emit\nSIGNAL STRING\nSOURCE STRING
508 emit signal "SIGNAL STRING" "SOURCE STRING"
509
510 drag\nPART NAME\n[value|size|step|page]\nVAL1\nVAL2
511 manipulate dragable of name "PART NAME" and either set
512 "value", "size", "step" or "page" properties
513 to "VAL1" and "VAL2" for x and y, where
514 VAL1 and VAL2 are floating point values
515
516 chid\nCHANNEL ID
517 set the channel id of a given edje object (only valid in
518 setup
519 commands for the inline edje object) to "CHANNEL ID" so
520 it can
521 be addressed later.
522
523 message\nOPCODE
524 ID\n[string|int|float|string_set|int_set|...
525 float_set|string|int|string_float|string_int_set|...
526 string_float_set]\n[message data]
527 send a message with opcode (integer) id "OPCODE ID" of
528 one of
529 the given types supported ("string", "int", "float",
530 etc.) and then with the given "message data" at the end.
531 message data format depends on message type:
532 string: STRING1
533 int: INT1
534 float: FLOAT1
535 string_set: STRING1\nSTRING2\nSTRING3...
536 int_set: INT1\nINT2\nINT3...
537 float_set: FLOAT1\nFLOAT2\nFLOAT3...
538 string_int: STRING1\nINT1
539 string_float: STRING1\nFLOAT1
540 string_int_set: STRING1\nINT1\nINT2\nINT3...
541 string_float_set: STRING1\nFLOAT1\nFLOAT2\nFLOAT3...
542
543 ib
544 begin media replace sequence run.
545
546 ie
547 end media replace sequence run.
548
549 fr[PATH/FILE]
550 begin file send for a file named PATH / FILE
551
552 fs[SIZE_BYTES]
553 set the size in bytes of a file send started with the above fr
554 escape
555
556 fd[CHECKSUM DATA]
557 block of data for the current file transfer with checksum as a
558 string decimal which is the sum of every byte when taken as an
559 unsigned char per byte. the checksum is a signed 32bit inte‐
560 ger.
561 the checksum is the sum of the data after escaping. 4 bits at
562 a
563 time per data byte, encoded with high bits in one byte then
564 low
565 bits, with the bits encoded as 4 bit value being 0x40 + 4 bit
566 value
567 per byte. (@ == 0x0, A == 0x1, B == 0x2, ... N == 0xe, O ==
568 0xf).
569 so to rebuild a byte will be (((bytes[0] - 0x40) & 0xf) << 4)
570 |
571 ((bytes[1] - 0x40) & 0xf) per byte pair in the data block.
572
573 fx
574 exit file send mode (normally at the end of the file or when
575 it's
576 complete)
577
578
580 If you find a bug or for known issues/bugs/feature requests please
581 email enlightenment-devel@lists.sourceforge.net or visit the place
582 where all the hard work is done http://phab.enlightenment.org/
583
584
586 Terminology was written by Carsten Haitzler <raster@rasterman.com> and
587 others. It is maintained by Boris Faure <boris@fau.re> and others. See
588 AUTHORS file for other contributors.
589
590
591
5921.13.0 Dec 01, 2022 TERMINOLOGY(1)