1TERMINOLOGY(1)               Terminology man page               TERMINOLOGY(1)
2
3
4

NAME

6       Terminology - Terminal Emulator written with EFL (Enlightenment Founda‐
7       tion Libraries).
8

SYNOPSIS

10       terminology [options]
11

DESCRIPTION

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

OPTIONS

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

CONTROLS / SHORTCUTS

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

MOUSE CONTROLS

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

COMMAND MODE COMMANDS

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

THEMES:

317       Apart from the ones shipped with Terminology, themes can be  stored  in
318       ~/.config/terminology/themes/.
319
320

COMPANION TOOLS:

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

EXTENDED ESCAPES FOR TERMINOLOGY:

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

BUGS

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

AUTHOR

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)
Impressum