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