ConceptsΒΆ

See also server concepts.

active server
In each application window, the server associated with the active terminal. The active server normally tracks the active terminal, although it can be directly changed using the NextServer and PreviousServer actions.
active terminal
In each application window, the terminal shown in the active viewport. It is the terminal which currently has input focus or which last received input focus. The active terminal is the default target for many actions that take a TerminalId parameter.
active task
A task that is expected to finish in a finite time, such as a DownloadFile task. The progress of the most recently started active task is shown in the status bar where the home page link is normally displayed. When the Tasks tool autoraises itself, it will not autohide until all active tasks have finished. Tasks that are not active are referred to as "long-running" and generally will not finish until they are explicitly canceled. See Tasks.
active tool
See Tools.
active viewport
In each application window, the split window pane which currently has input focus or which last received input focus. The terminal displayed in the active viewport is the active terminal. In the case where an application window is not split into multiple panes, the active viewport is simply the window's sole viewport. When the application window has focus, the terminal within the active viewport will be resized to fit the viewport if it is owned by the client. Otherwise, the size of the viewport and the size of the terminal screen may differ.
annotation

A region defined by the user to note a point of interest in the terminal scrollback. Annotation regions are created using the Create Annotation dialog, which can be shown from various context menus and by certain actions such as AnnotateSelection. Annotations are managed from the Annotations tool and are shown within the terminal viewport, Marks and Minimap widgets in prominent colors.

An annotation carries several predefined attributes, including user-defined descriptive text and the username of its creator. Annotation regions are stored by termy-server and are visible to all connected clients, not just the creating client.

attribute
A UTF-8 key/value pair attached to a server, terminal, or region. These are tracked by termy-server and visible to all connected clients. Attributes are an integral part of the TermySequence protocol and are used for many purposes. Server and terminal attributes can be directly examined using the View Information window.
current job
The first job from the bottom of the viewport which is either running or finished. In the common case (viewport at bottom of terminal, prompt shown in terminal or foreground job active), the current job is the most recent command that was run.
default launcher
The launcher which is currently marked as the global default in the Manage Launchers window. This may or may not be the launcher with the name "Default." It is used by the OpenFile action in the absence of a specified LauncherName parameter. The default launcher is saved in the State settings.
emoji

In terminals with the UseEmoji profile setting enabled, qtermy displays emoji as SVG images loaded from $HOME/.local/share/qtermy/images/emoji and prefix/share/qtermy/images/emoji in that order. Image filenames are generated by printing the code points that make up the emoji character in lower-case hexadecimal with multiple code points joined by dashes. An emoji selector (U+FE0F) immediately following the first code point is omitted from the name.

qtermy also treats code points in the private-use range U+F5000 to U+F50FF as emoji. You can define custom emoji by setting image files for these code points (for example, f5000.svg) and then using the corresponding code points in the terminal.

global default profile
The profile which is currently marked as the global default in the Manage Profiles window. This may or may not be the profile with the name "Default." Each server has its own default profile, which may or may not defer to the global default. Default profiles are used by the NewTerminal action in the absence of a specified ProfileName parameter. The default profile is saved in the State settings.
input multiplexing
A feature of qtermy whereby input sent to a particular terminal designated as the input multiplexing leader is copied to all terminals which are designated as input multiplexing followers. This feature can be used to run commands in multiple terminals at once. Refer to InputSetLeader, InputSetFollower, and related actions.
job
A region which encompasses a shell prompt, the command typed at the prompt, and the output printed by the command. Job regions and prompt, command, and output sub-regions are reported by termy-server, but only if shell integration is installed. In addition to demarcating jobs with the terminal, job regions also carry attributes which report the start time, duration, and exit status code of the associated commands. Job regions are used to populate the History tool and Suggestions tool and are shown within the Marks and Minimap widgets. Each viewport has a selected job whose prompt is highlighted, and the ScrollPromptPrevious and ScrollPromptNext actions can be used to move directly from prompt to prompt. Actions such as CopyJob, SelectOutput, and WriteCommand can be used to copy, select, write, and annotate the text of jobs, commands, and output regions.
local server
An instance of termy-server which is running on the same machine and as the same user as qtermy. This is the server used to create local terminals and to run local tasks. It is either the transient local server or persistent user server, depending on which of the two servers are connected and the value of the PreferTransient global setting. All servers other than the transient local server and persistent user server are considered "remote" servers, even if they are running on the same machine.
persistent user server

The local server which is not part of the current desktop or login session and which will keep running after the user logs out. Terminals on the persistent user server and the commands run within them are thus long lived and not subject to loss upon logout. This is the traditional use case for terminal emulator multiplexers such as tmux(1) and screen(1).

Important

Because the persistent user server is not run within a desktop or login session, session-specific environment variables such as DISPLAY, XAUTHORITY, and XDG_SESSION_ID will not be set within its terminals. This means that graphical applications and session management commands such as loginctl(1) cannot be run from the persistent user server's terminals. Run these commands from the transient local server instead.

On a machine that employs systemd-logind to manage user login sessions, some account-specific setup is necessary to make the persistent user server actually persist. Refer to Systemd Setup.

region
A region of text within the terminal scrollback defined by starting and ending line and column positions, to which one or more attributes is attached. Regions are used for a variety of purposes, including jobs, annotations, inline images, and semantic content such as hyperlinks. Each region has a unique identifier consisting of an unsigned integer number. Some regions are managed by termy-server, including the job regions created by shell integration. Other regions referred to as semantic regions are created and managed privately by qtermy.
selected job

The job within a terminal viewport that has been selected from the History tool, by clicking on a mark or minimap item, or by calling an action that navigates to or operates on a specified job. The prompt associated with this job is the selected prompt.

The selected job must be entirely contained within the terminal scrollback; if it scrolls off the top of the scrollback, the associated region will be removed by the server.

selected prompt
The prompt associated with the selected job. It will be displayed in prominent colors.
semantic region
A region which attaches an icon, action, context menu, and other fields to text within the terminal viewport. Semantic regions are used to implement hyperlinks as well as arbitrary semantic content created by semantic parsers and smart hyperlinks. Some actions such as CopySemantic, ScrollSemantic, and HighlightSemanticRegions operate only on semantic regions.
stylesheet

Qt Style Sheets can be used to customize the appearance of qtermy. The following color properties on the MainWindow class can be redefined:

  • minorBg: Background color for messages of minor importance
  • minorFg: Foreground color for messages of minor importance
  • majorBg: Background color for messages of major importance
  • majorFg: Foreground color for messages of major importance
  • startFg: Status color for tasks that have been started
  • errorFg: Status color for tasks that finished unsuccessfully
  • finishFg: Status color for tasks that finished successfully
  • cancelFg: Status color for tasks that were canceled
  • connFg: Status color for connected or active items
  • disconnFg: Status color for disconnected or inactive items
  • bellFg: Flash animation color for bell in the Manage Terminals window.
transient local server
The local server which is launched directly by qtermy as a private child process using the --standalone argument to termy-server. Unlike the persistent user server, this server and all of its terminals will exit immediately when qtermy exits. However, because the transient local server is run within the desktop session, all of the session's environment variables will be set within its terminals, allowing graphical applications and session management commands to be run from them.