The qtdomterm terminal emulator

The plan is to simplify qtdomterm so it just handles display. It will be invoked by the domterm command to handle display, while the domterm command manages jobs and sessions.

You start and use qtdomterm just like other terminal emulators such as xterm. In addition to the regular DomTerm features (colors, stylesheets, mouse-handling, embedded graphics, etc) it also supports multiple tabs and windows, convenient text zooming, and remote debugging,

qtdomterm [options] [[-ecommand argument ...]

This runs the command, with the specified arguments, in a sub-process using a pty. The command defaults to the value of the SHELL environment variable.

The options include:

--connect host:port

This does not start an inferior command. Instead it connects to an already-running WebSocket server, as you might start with domterm --port port [command].

This is one way to run commands on a remote server.

--help

Print a help message with options, and then exits.

--version

Print the version number, and then exits.

--stylesheet file
-S file

Specify the name of a CSS stylesheet file. This file is used to style both the DomTerm elements and the Qt user interface “chrome”. See below.

--remote-debugging-port=debug-port

Allow remote debugging (using a Chromium-based browser, such as Google Chrome). This is useful for debugging DomTerm itself, as well as any inspecting any unusual HTML, CSS, or JavaScript you might throw at it.

Changing styles

If you select Edit / Preferences / Appearance you can select a CSS stylesheet file, as well as additional style rules. This can be used to customize the appears of the terminal window. These preferences are saved. If the file changes, it is automatically reloaded.

The command-line option --stylesheet overrides the preferences (both the stylesheet file and the additional rules), which are ignored. The specified stylesheet is also used for Qt widget “chrome” - i.e. not the contents of the terminal window, but everything else.

Suppose we start qtdomterm with the option --stylesheet=mystyles.css abd the file mystyles.css contains:

div.domterm { background-color: #FEE }
div.domterm span[std="input"] { background-color: #DDF }
QMenu { color: green; }

The two div.domterm rules apply to the DomTerm window. The first rule sets the general background to a light pink, while the second rule sets to that to input lines to a link blue. The third line line applies to QMenu widgets used in the user interfaces: It specifies to use green for menu text. See more examples.