NAME
xtermcontrol - dynamic control of XFree86 xterm properties.

SYNOPSIS
xtermcontrol [OPTIONS]...

DESCRIPTION
xtermcontrol makes it easy to change colors, title, font and geometry of a running XFree86 xterm(1), as well as to report the current settings of the aforementioned properties. Window manipulations de-/iconify, raise/lower, maximize/restore and reset are also supported. To complete the feature set; xtermcontrol lets advanced users issue any xterm control sequence of their choosing.

OPTIONS

--fg=COLOR
    Set foreground color (see also COLOR NAMES).

--bg=COLOR
    Set background color.

--colorN=COLOR
    Set N'th [0-255] color to COLOR, e.g. --color88=COLOR.

--highlight=COLOR
    Set highlight color.

--cursor=COLOR
    Set cursor color.

--mouse-fg=COLOR
    Set mouse pointer foreground color.

--mouse-bg=COLOR
    Set mouse pointer background color.

--font=FONT
    Set font name (see also FONT NAMES). Alternatively it is possible to specify a fontmenu index as '#[0-6]' or navigate the fontmenu by relative sizes as '#+N' or '#-N', where N is an optional integer.

--title=STRING
    Set window title. Note that mechanisms like the bash(1) PROMPT_COMMAND may overwrite the title.

--geometry=WIDTHxHEIGHT+XOFF+YOFF
    Set size and/or position. Through its control sequences the xterm only recognize positive XOFF and YOFF offsets, which are pixels relative to the upper left hand corner of the display. xtermcontrol is therefore unable to handle negative offsets as described in the X(7x) GEOMETRY SPECIFICATIONS and therefore truncates negative values to zero.

--get-fg
    Report foreground color.

--get-bg
    Report background color.

--get-colorN
    Report N'th [0-255] color, e.g. --get-color88.

--get-highlight
    Report highlight color.

--get-cursor
    Report cursor color.

--get-mouse-fg
    Report mouse pointer foreground color.

--get-mouse-bg
    Report mouse pointer background color.

--get-font
    Report font.

--get-title
    Report window title.

--get-geometry
    Report size and position. The size of the text area is reported in characters and the position is reported in pixels relative to the upper left hand corner of the display.

--maximize
    Maximize window.

--restore
    Restore maximized window.

--iconify
    Iconify window.

--de-iconify
    De-iconify window.

--raise
    Raise window.

--lower
    Lower window.

--reset
    Full reset.

--raw=CTLSEQS
    Issue raw control sequence (see also XTERM CONTROL SEQUENCES).

--file=FILE
    Source a configuration FILE (see also CONFIGURATION).

--force, -f
    Skip TERM environment variable check.

--verbose, -v
    Print verbose reports.

--help, -h
    Print help message and exit.

--version
    Print the version number and exit.

CONFIGURATION
The default configuration file ~/.xtermcontrol is sourced if xtermcontrol is run without options or if specifically requested, e.g. 'xtermcontrol --file=~/.xtermcontrol'. Each line in a configuration file is either a comment or contains an attribute. Attributes consist of a keyword and an associated value:

      keyword = value # comment

The valid keyword/value combinations are:

      foreground="COLOR"
      background="COLOR"
      highlight="COLOR"
      cursor="COLOR"
      mouse-foreground="COLOR"
      mouse-background="COLOR"
      geometry="WIDTHxHEIGHT+XOFF+YOFF"
      font="FONT"
      color0="COLOR"
      color1="COLOR"
      color2="COLOR"
      color3="COLOR"
      color4="COLOR"
      color5="COLOR"
      color6="COLOR"
      color7="COLOR"
      color8="COLOR"
      color9="COLOR"
      color10="COLOR"
      color11="COLOR"
      color12="COLOR"
      color13="COLOR"
      color14="COLOR"
      color15="COLOR"

Whitespace is ignored in attributes unless within a quoted value. The character '#' is taken to begin a comment. Each '#' and all remaining characters on that line is ignored.

FONT NAMES
xtermcontrol accepts any X(7x) FONT NAMES. Font names like '-adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1' are very cumbersome to write, so it is convenient to make use of aliases, e.g. 'fixed' or '8x13', if present in fonts.alias files of the font directories.

COLOR NAMES
xtermcontrol accepts any X(7x) COLOR NAMES. Basically this means that colors are specified by name or rgb value, e.g. 'blue', 'rgb:0000/0000/FFFF' or '#00F'. Colors are typically reported by the xterm in a device-dependent numerical form, e.g. 'rgb:0000/0000/FFFF'. Note that old syntax rgb values should always be quoted to avoid '#' being interpreted as the beginning of a comment by the shell (see also FILES).

XTERM CONTROL SEQUENCES
The secret behind xtermcontrol is xterm control sequences. All the possible (there are a plethora of them) control sequences are documented in ctlseqs.txt, found in the xterm(1) distribution (see also FILES).

MACOS TERMINAL.APP
The macOS Terminal.app emulates an extended set of the VTxxx series commands, closely resembling dtterm. Therefore the following subset of xtermcontrol options works as expected:

      --title
      --geometry
      --get-geometry
      --maximize
      --restore
      --iconify
      --de-iconify
      --raise
      --lower
      --reset

Color names are ignored, but device-dependent numerical form and rgb values works as expected for the following subset of xtermcontrol options (see also COLOR NAMES):

      --fg
      --get-fg
      --bg
      --get-bg
      --cursor
      --get-cursor
      --mouse-fg
      --get-mouse-fg
      --mouse-bg
      --get-mouse-bg

TROUBLESHOOTING
If read/write permissions on the tty's are changed so that special group membership is required to be able to write to the pseudo terminal, the easiest workaround is to install xtermcontrol setuid root. Xterm(1) has three resources, allowWindowOps, allowTitleOps, and allowFontOps, that enables or disables special operations which xtermcontrol relies on. If any of these resources are set (or defaults) to 'false' xtermcontrol may hang. The resources corresponds to xtermcontrol options as:

   allowWindowOps:
      --raise
      --lower
      --restore
      --maximize
      --iconify
      --de-iconify
      --get-title
      --geometry
      --get-geometry
   allowTitleOps:
      --title
   allowFontOps:
      --font
      --get-font

All three resources can usually be enabled for the current xterm session via a menu; ctrl+rightclick and look for menu item names like 'Allow Window Ops'. To set these resource values persistently you can add the following to either your local ~/.Xdefaults file, or to a system-wide resource file like /etc/X11/app-defaults/XTerm:

   *VT100.allowWindowOps: true
   *VT100.allowTitleOps: true
   *VT100.allowFontOps: true

FILES

<XRoot>/X11/rgb.txt
    Default rgb color name file location.

ctlseqs.txt
    Xterm control sequences documentation. Distributed with xterm from http://dickey.his.com/xterm/

SEE ALSO
xterm(1), X(7x)

COPYRIGHT