mrxvt(1) A tabbed VT102 terminal emulator for X Window System


[options] [-e cmd ]


The program is a terminal emulator for X Window System. It provides DEC VT102 compatible terminals for programs that cannot use the window system directly.

is based on rxvt(1) version 2.7.11 CVS, and features most of functionality of rxvt, with a few major enhancements (namely multiple tabs, and transparency). Like rxvt, aims to be light, fast, flexible and desktop independent, thus KDE or GNOME are not required.

The primary features of include (but are not limited to) multiple tabs, dynamically changeable tab titles, customizable command for each tab, input broadcasting, true translucent window, fast pseudo transparency with tinting, user supplied background images (XPM, JPEG, PNG), off-focus fading, text shadow, multiple style (NeXT, Rxvt, Xterm, SGI, Plain) scrollbars, XIM, multi-language support (Chinese, Korean, Japanese), freetype font, logging and (in-)activity monitoring.

The default behaviour can be set using the resource configuration file ~/.mrxvtrc For backward compatibility, if ~/.mrxvtrc is not found, tries to load configuration settings from the files ~/.Xdefaults or ~/.Xresources Alternately, you can specify which config file to load using the -cf command line option.


This section describes the commandline options accepts. To disable an option, prefix it with an `+ ' instead of a `- ' Most options can be set from your ~/.mrxvtrc file using the option name listed in brackets as [option_name ] The option name can also be used as a "long option" from the command line (i.e. by prefixing it with `-- ' or `++ ' as appropriate. For example
mrxvt -tr -shade 85 +trt

is the same as

mrxvt --transparent --shading 85 ++transparentTabbar

which is the same as putting the lines

Mrxvt.transparent:              True
Mrxvt.shading:                  85
Mrxvt.transparentTabbar:        False

in your ~/.mrxvtrc

All options are case sensitive. Some options are similar to those of other terminals, so if you find the explanation given here insufficient, we strongly recommend you look in the rxvt(1) and xterm(1) manpages.

Terminal name and display options

-display | -d displayname
X display name, the X server to contact
-geometry | -g geometry
geometry at startup [geometry ]
-ic file [; geometry ]
application icon file. [appIcon]
-iconic | +iconic
start iconic [iconic ]
-in name
Icon name for window [iconName ]
-into WinID
If given an X window identifier, will reparent its top-level shell widget to that window. This is used to embed within other applications.
-name name
Client instance, icon, and title strings [clientName ]
-title string
title name of the window [title ]
-tn termname
The type of terminal should emulate. The value of the TERM environment variable is set to this value for all child processes launched by . Note that rxvt and most rxvt clones including , have slightly different terminal capabilities than those of xterm(1). Thus will not always work properly with the terminal set to xterm and we recommend setting this value to rxvt instead. However some systems have incorrect (or even missing) terminfo(1) or termcap(1) entries for the terminal rxvt If you experience problems with this, the ideal solution would be to correct your systems termcap and terminfo entries. If you are unable to do that, then you can try setting your terminal to xterm and hope everything works properly. [termName ]

Transparency related options

-o %d
Translucent window (true transparent) background opacity degree. %d is an integer between 0 and 100. This option needs translucent support by the X server, e.g., Xorg 6.8, and overrides the pseudo-transparency. [opacity ]
-od %d
Translucent window opacity degree increase/decrease interval. %d is an integer between 0 and 100 [opacityDegree ]
-tr | +tr
Enable / disable background pseudo-transparency. To use this feature you must set your desktop wallpaper using an Esetroot compatible program ( i.e. a program that publishes the wallpaper using the _XROOTPMAP_ID atom). Some programs that will do this are Esetroot(1), feh(1), fvwm-root1 with the `--retain-pixmap ' option, or KDE. Note: To use your precious backgroundFade , tinting or shading options, you MUST set the desktop wallpaper in an Esetroot way. [transparent ]
-trf | +trf
If you choose NOT to set the background in an Esetroot compatible way, then you can still have transparency using this option. (You must also enable the transparent option). Background changes made by FvwmBacker, xsetbg (xli) or Esetroot compatible programs, will be automatically detected. However changes made by xv(1), xsetroot(1) or other non-Esetroot compatible programs will not be detected. If you're hell bent on non-Esetroot compatible programs to set your background, then do something like
xsetroot -solid "#202040" && fvwm-root -d

Note: To use your precious backgroundFade , tinting or shading options, you MUST set the desktop wallpaper in an Esetroot way. [transparentForce ]

-trm | +trm
Enable / disable pseudo-transparent menubar. Pseudo-transparency must be turned on. [transparentMenubar ]
-trs | +trs
Enable / disable pseudo-transparent scrollbar. Pseudo-transparency must be turned on. [transparentScrollbar ]
-trt | +trt
Enable / disable pseudo-transparent tabbar. Pseudo-transparency must be turned on. [transparentTabbar ]

Background image related options

-mbpixmap file [; geometry ]
Menubar background image. Pseudo-transparency must be turned off. [menubarPixmap ]
-pixmap file [; geometry ]
Background image for all terminals if not set individually. Pseudo-transparency must be turned off. [Pixmap ]
-sbpixmap file [; geometry ]
Scrollbar background image. Pseudo transparency must be turned off. [scrollbarPixmap ]
-tbpixmap file [; geometry ]
Tabbar background image. Pseudo transparency must be turned off. [tabbarPixmap ]
-tupixmap | +tupixmap
Apply tabbar background image to tabs. [tabUsePixmap ]

Scrolling related options

-mp | +mp
scroll one page when press mouse wheel button [mouseWheelScrollPage ]
-sa mode
Scrollbar alignment ( top | bottom [scrollbarAlign ]
-sb | +sb
Hide / show scrollbar [scrollBar ]
-sbt width
Scrollbar thickness/width [scrollbarThickness ]
-si | +si
Inhibit scrolling on tty output. [scrollTtyOutputInhibit ]
-sk | +sk
scroll-on-keypress [scrollTtyKeypress ]
-sl n
The number of scrolled lines to save (for all tabs) if not set individually. The maximal number of saved lines is 65535. [saveLines ]
-sr | +sr
Scrollbar on right [scrollbarRight ]
-ss mode
Scrollbar style. mode should be one of plain , xterm , rxvt , next or sgi [scrollbarStyle ]
-st | +st
Draw floating scrollbar (i.e. without a trough). [scrollbarFloating ]

Color related options

-bg color
Background color [background ]
-bd color
Border color [borderColor ]
-bgfade %d
(Obsolete) Make colors %d darker for background image or pseudo-transparent background. %d is an integer between 0 and 100. This is like tinting the background with black. This option is obsolete, and you should use the tint and shade options instead. [backgroundFade ]
-bgtype type
Transformation type for background pixmap (not implemented yet)
-cr color
color of cursor [cursorColor ]
-fade %d
Make colors %d darker when mrxvt loses focus. %d is an integer between 0 and 100 [fading ]
-fg color
Foreground color. [foreground ]
-itabbg color
Background color of inactive tabs and tabbar. [itabBackground ]
-itabfg color
Foreground color of inactive tabs. [itabForeground ]
-pr color
color of pointer [pointerColor ]
-shade %d
Shade background to %d degree when tinting the background. %d is an integer between 0 and 100. You must also define a color using the tint option. When compiled with XRender support, the tabbar, menubar and scroll bar are tinted with their respective background colors for pseudo-transparent terminals. [shading ]
-tabbg color
background color of active tab. [tabBackground ]
-tabfg color
Foreground color of tabbar [tabForeground ]
-tint color
Color tinted on background image or pseudo-transparent background. This works differently depending on the tint type: With XRender (when compiled with --enable-xrender), color is the color you want to tint your background to. The brighter the color, the less transparent it will be (regardless of the shade degree specified by -shade ) For example, if you want your background tinted black, set color to `#000000' however if you want a white tinted transparent background, set color to some level of grey (e.g. `#808080' but NOT to `#ffffff'

When compiled without XRender support, color works like a color mask. Thus if you want a black tinted background, set color to `#ffffff'

The shade degree (using -shade must be defined as well. [tintColor ]

-tinttype type
Function applied for background tinting (not implemented yet).
-ts color
color of text shadow [textShadow ]
-tsm mode
Text shadow mode, specify shadow position of text: left | right | top | bottom | topleft | topright | botleft | botright | none [textShadowMode ]
-txttype type
Function applied for text drawing (not implemented yet)
-ufbg color
Default background color when the terminal window looses focus. [ufBackground ]

Font related options

-fb fontname
bold text X11 font name [boldFont ]
-fm fontname
multichar text X11 font name [mfont ]
-fn fontname
normal text X11 font name [font ]
-xft | +xft
Use freetype font instead of X11 font. This option controls all other freetype font related options. [xft ]
-xftaa | +xftaa
Enable / disable antialiasing of freetype font. This makes font look much nicer, but significantly slows down the rendering speed. The -xft option must be enabled. [xftAntialias ]
-xftah | +xftah
Enable / disable autohint of freetype font. The -xft option must be enabled [xftAutoHint ]
-xftfm fontname
Multichar text freetype font family. The -xft option must be enabled [xftmFont ]
-xftfn fontname
Normal text freetype font family. The -xft option must be enabled [xftFont ]
-xftga | +xftga
Enable / disable global advance of freetype font. The -xft option must be enabled [xftGlobalAdvance ]
-xftht | +xftht
Enable / disable hinting of freetype font. The -xft option must be enabled [xftHinting ]
-xftmsz size
Freetype multichar font size in pixels. The -xft option must be enabled. [xftmSize ]
-xftnfm | +xftnfm
Do not load freetype mfont, but use freetype font instead. This can avoid a large line space if the size of font and mfont are very different. The -xft option must be enabled [xftNomFont ]
-xftpfn font
Specify a proportionally spaced font to use for drawing tab-titles. If set, the tab bar behaves like Firefox's tab-bar: All tabs have the same width, and the widths are shrunk / expanded to keep the number of tabs specified by minVisibleTabs visible. The active tab title is drawn in a bold font. (Your colors are still used). [xftPFont ]
-xftpsz number
Proportional freetype font size in pixels. [xftPSize ]
-xftrgb style
Freetype font sub-pixel order: rgb | bgr | vrgb | vbgr | none The -xft option must be enabled. [xftRGBA ]
-xftslow | +xftslow
Display freetype multichar string in slow mode for better display effect. The xft option must be enabled. [xftSlowOutput ]
-xftst style
Freetype font slant: roman | italic | oblique The -xft option must be enabled. [xftSlant ]
-xftsz number
Freetype font size in pixel. The -xft option must be enabled [xftSize ]
-xftbwt style
Freetype bold font weight: light | medium | demibold | bold | black The -xft option must be enabled. [xftBoldWeight ]
-xftwd style
Freetype font width: ultracondensed | condensed | normal | expanded | ultraexpanded The -xft option must be enabled. [xftWidth ]
-xftwt style
Freetype font weight: light | medium | demibold | bold | black The -xft option must be enabled. [xftWeight ]

Tabs and command related options

Automatically hide or show the tab bar depending on the number of tabs. On startup, the tabbar is shown only if there are more than one tabs present. If there is only one tab, and a new one is created, then the tabbar is shown. If there are two tabs and one is closed, then the tabbar is hidden. A keyboard shortcut used at any time to hide / show the tabbar. [autohideTabbar ]
-at | +at
Run command specified with -e on all tabs (by default the command specified by -e is only used for the first tab opened). This causes the profile option command to be ignored. However a command specified via the NewTab macro is honored. [cmdAllTabs ]
-bt | +bt
Show tabbar at bottom. [bottomTabbar ]
-e [arguments ... ]
Specifies the program (and its command line arguments) to be run in the window. By default this command is only run initially, and all tabs created after startup will run the default shell (or program supplied by -profile %d ). This behaviour can be overridden with the -at option. [command ]
-hb | +hb
Hide buttons in the tabbar. [hideButtons ]
-het string
Message to display in tabs after the child process exits. (This string is escape and percent interpolated). [holdExitText ]
-heT string
Set the title of tabs to string after the process in the tab exits. (This string is escape and percent interpolated). [holdExitTitle ]
-hold mask
Hold the tab open after the child process in it exits. mask is the mask of flags which control weather the tab will be held open based on the exit status of the child process. If the lowest bit (0x01) of mask is set, then the tab will always be held open after the child exits. If the next bit (0x02) is set, then the tab will only be held open if the child exits abnormally (e.g. via abort(1)). If the third bit (0x04) is set, then the tab will be held open if the child exits with non-zero status.

NOTE: In previous versions of this was a boolean option. For backward compatibility, the value of True , On, Yes will be treated as 1 and anything illegal will be treated as 0 The default is 0x06. [holdExit ]

-ht | +ht
Hide tabbar on initialization [hideTabbar ]
-htb | +htb
Highlight inactive tabs only when bell sounds. Default is to highlight inactive tabs whenever they produce output. [highlightTabOnBell ]
-ip profiles
profiles is a comma separated list of profiles numbers. On startup opens each of these profiles in a tab. [initProfileList ]
-ls | +ls
Indicates that the shell that is started in the window will be a login shell (i.e., the first character of argv[0] will be a dash, indicating to the shell that it should read the user's .login or .profile). [loginShell ]
-mtw width
The maximum width (in characters) of the displayed tabs. This can not be larger than 40. If you use Xft, then you might want to use the minVisibleTabs option instead. [maxTabWidth ]
-mvt n
When using xftPFont to display tabs, keep at least n tabs visible. [minVisibleTabs ]
-profile N . option value
Set option to value in profile N When a new tab is created with profile N it uses all options that are set for this profile. Currently the only options that can be set per profile are Pixmap , background , command , foreground , saveLines , holdExit , holdExitText , holdExitTitle , tabTitle , titleFormat , winTitleFormat and workingDirectory Then all the settings from that profile number are used.

N can be the special number 0 (which stores default settings that apply to all profiles where those settings are not explicitly overridden, e.g. mrxvt sets the tab title to mrxvt for all profiles where the tab title has not been set - in this case the -profile0. can be omitted entirely, i.e. is equivalent to -tt or a number between 0 and the compiled-in maximum (10 on Debian systems), exclusive.

This option is intended to replace the -vt %d .xx options from version 0.5.0. The old -vt %d .xx would set options for the %d th tab. This causes inconsistent behaviour when the user moves / closes tabs. The behaviour of the -profile option is to set options for a particular profile, and then these settings can be associated (on demand) to newly created tabs. [profile N . option ]

-ps | +ps
Protect tab from being closed if it is using the secondary screen, for example, when the user is running vim(1) or mutt(1), this can prevent the terminal from being accidentally closed. [protectSecondary ]
-sti | +sti
Synchronize icon name with tab title when switch to a new tab or the title of the active tab changes. [syncTabIcon ]
-stt | +stt
Synchronize terminal title with tab title when switch to a new tab or the title of the active tab changes. (See also the -wtf option). [syncTabTitle ]
-tnum N
OBSOLETE. Opens N tabs on startup. For backward compatibility, the tabs are opened with profile 0, 1, ... N -1 [initTermNumber ]
-tt string
Title of the tab [tabTitle ]
-tf format
If set, this controls the displayed title of each tab. format is % interpolated, and the result is displayed as the tab title.

NOTE: Currently this option requires the tab titles to be drawn with a proportionally spaced font (which is currently only possible with Xft). Also, this option only affects the displayed tab title, and thus %t will still expand to the actual tab title, as set via an escape sequence, or macro. For example, setting this option to `%n. %t ' will cause all the tabs to be numbered. [titleFormat ]

-ut | +ut
Utmp inhibit. [utmpInhibit ]
-vbf | +vbf
If unset, colored bold text will not be rendered using overstrike / bold font. See also boldColors and veryBright [veryBoldFont ]
Working directory of the child process. If non-empty, then the child process is started in this directory. If set to `.' then the child process is run in the working directory of the current tab if possible. On Linux, this is the default. (NOTE: It is not always possible to find the working directory of the current tab. This works fine on Linux, but causes problems on other systems [e.g. OpenBSD], which is why it is only enabled by default on Linux). [workingDirectory ]
-wtf format
Controls the format of the window title. If set, and the option -stt is used, then the window title is set to format (after % interpolation), instead of the tab title. [winTitleFormat ]

Multichar and multi-language support

-mcc | +mcc
Multichar cursor movement [multibyte_cursor ]
-km mode
multichar encoding mode [multichar_encoding ]
-im name
name of X Input Method (XIM) [inputMethod ]
-pt mode
XIM input style: OverTheSpot | OffTheSpot | Root [preeditType ]
-thai | +thai
Thai support [thai ]
-grk mode
Greek keyboard mapping: iso | ibm [greek_keyboard ]

Menu related options

-menu filename [; tag ]
Menubar definition file. [menu ]
-showmenu | +showmenu
show menubar [showMenu ]

Keyboard and window related options

-b number
internal border width [internalBorder ]
-bc | +bc
Display a blinking cursor. [cursorBlink ]
-bcst | +bcst
Enable / disable broadcasting input to all terminals [broadcast ]
-bci number
Cursor blink interval (ms) [cursorBlinkInterval ]
-bl | +bl
Use a borderless window. [borderLess ]
-blc cmd
Bell command instead of beeping. If cmd begins with `!' then it is passed to /bin/sh -c for execution. Otherwise it is split into words at spaces or tabs only, and executed via execvp(3). If you don't want a space or tab to cause word splitting, then precede it with a `\ ' If you want to pass `\ ' as an argument, double the `\'

Note: Only backslashes (or chains of backslashes) that precede a space or tab character are treated specially. That is `\\a' will be left untouched, however `\\ ' will expand to a `\' and the ` ' will cause a word break, and `\ ' will expand to a ` ' which does not cause a word break. [bellCommand ]

-bw | -w number
external border width [externalBorder ]
-ctvb | +ctvb
Use a visual bell only for the current tab (i.e. the active tab of a currently focused window). [currentTabVBell ]
-desktop number
Desktop to place the window (for gnome compatible window manager). The number starts from 0, NOT 1! [desktop ]
-dm | +dm
Enable / disable all keyboard macros. This functionality can be toggled at runtime via a pop-up menu, or the ToggleMacros keyboard shortcut. NOTE: When keyboard macros are disabled, the ToggleMacros keyboard macro will still work. Thus you can re-enable your keyboard macros via the keyboard using this function. [disableMacros ]
-fs | +fs
Startup fullscreen. Use in conjunction with [smoothResize] to really make it full screen. Requires an EWMH compatible window manager. [fullscreen ]
-lk | +lk
Enable Linux console style Home/End keys [linuxHomeEndKey ]
-mod mode
Meta modifier: alt | meta | hyper | super | mod1 | ... | mod5 [modifier ]
-lsp number
Line space between rows [lineSpace ]
-m | +m
Start maximized (requires an EWMH compatible window manager). [maximized ]
-m8 | +m8
Enable / disable meta8 [meta8 ]
-nsc | +nsc
Enable / disable reading the system wide configuration file. Only the default keyboard macros are defined in this file, so this option can effectively disable all default keyboard shortcuts. [noSysConfig ]
-or | +or
Override redirect [overrideRedirect ]
-pb | +pb
Pointer blank (see also pointerBlankDelay [pointerBlank ]
-rv | +rv
reverse video [reverseVideo ]
-tcw | +tcw
Triple click word selection [tripleclickwords ]
-vb | +vb
Visual bell [visualBell ]

Miscellaneous options

Intercept console messages
-dmask namelist
Print out debug message defined by a coma separated name list. Available names include: command, screen, ptytty, init, main, logging, macros, menubar, tabbar, scrollbar, images, pixmap, transparent, encoding, gkrelot, memory, session, string, resource, xftacs, misc, and all.
-dlevel verboselevel
Print out debug message defined by verboselevel. Available verboselevel are: fatal, error, warn, info, verbose, and debug. The latter, the more information is printed
-cf filename
X resource configuration file
-cfs filename
X resource configuration file to save the current configuration [confFileSave ]
-path path
Colon delimited list of directories to search for background images and menu files. first searches for the file in the current directory, then in the directories specified by path then in the directories specified by the environment variable PATH_ENV and finally tries in the user configuration directory ~/.mrxvt and the (compiled in) system wide configuration directory /etc/mrxvt [path ]
-sid string
Client identity of mrxvt for X session management [smClientID ]
-sm | +sm
enable X session management [sessionMgt ]

Long options

The following options do not have a ``short'' form. If these options are to be used on the command line, they must be prefixed with a `-- ' (or `++ ' for boolean options). They can of course be used in the configuration file.

answerBackString string
Specify the reply sends to the shell when an ENQ (control-E) character is passed through. It may contain escape values as described in the entry on keysym following.
backspaceKey string
The string to send when the backspace key is pressed. If set to DEC or unset it will send Delete (code 127) or, if shifted, Backspace (code 8) - which can be reversed with the appropriate DEC private mode escape sequence.
bgRefreshInterval delay
Specify the delay (ms) to wait before refreshing the background in pseudo-transparency. Generally tinting and refreshing the background is slow (especially with XRender), and causes lags while dragging the window. This delay causes enables the window to be dragged smoothly. If you have a fast system, you can reduce or disable this (by setting it to 0). The default value is 100ms.
boldFont N font
Specifies bold font to use along with fontset N
boldColors True | False
If false, the bold primary colors (0 -- 7) will be rendered using the brighter analogues (8--15) in a regular font. If true a bold font will be used. See also veryBright
color N color
Use the specified colour for the colour value N where 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours.
colorBD color
Color to use to display bold text. If unspecified, the text will be displayed using a bold font / overstrike.
colorRV color
Color to use to display reverse video text. If unspecified, the text will be displayed as reverse video.
colorUL color
Color to use to display underlined text. If unspecified, the text will be displayed as underlined.
cursorColor2 color
Second color of cursor.
cutChars string
String containing all characters to be treated as one word for double click selection. If you want double clicks to select URL's, then set this to a string containing all letters (both upper and lower case), digits and punctuation you find in urls.
deleteKey string
The string to send when the delete key (not the keypad delete key) is pressed. If unset it will send the sequence traditionally associated with the Execute key.
focusDelay msec
The time interval (in mili-seconds) to wait after getting / losing focus, before fading the colors and changing the background color as specified by the -fade and -ufbg options. Set it to 0 if you want your colors faded immediately on focus change events.

This option is there mainly to work around a bug in some window managers which send focus in immediately followed by focus out events when moving windows, or pressing Alt+Tab (e.g. fvwm-2.5.16).

font N font
Specify the alternative font n . n can be 1, 2, 3, 4 or 5.
greektoggle_key keysym
Key to toggle into greek keyboard mapping. See README.greek for details.
highlightColor color
Color to use for selection. If not specified, reverse video is used. (Note blinking text is also displayed with this color).
mapAlert True | False
If true, de-iconifies the window when a bell is received.
mfont n font
Specify alternative multiple character font n
pointerBlankDelay delay
Delay (ms) to blank pointer after.
printPipe cmd
Specify a command pipe for vt100 printer.
refreshLimit N
This option and skipPages are to be used to replace the `jump scroll' behaviour of other terminal emulators (and previous version of ) Generally when data is available from a tab, reads as much of it as is available (up to our buffer size), and process it. After we are done processing it (generally takes a fraction of a mili-second), we look for more data from the tab. If we obtain not more than N characters, then we request a screen refresh (which takes a while, especially if you use Xft with anti aliasing). If we obtain more than N characters from the tab, then we delay the screen refresh until the tab eventually has either N or fewer characters of output, or the tab has (cumulatively) produced at least skipPages of data.

The default value is 0. On new fast machines, this is probably the best. If you find screen refreshes laggy on on slow older machines, then increase this value a little (say to 10). Setting it to something enormous (say BUFSIZ) will cause to request screen refreshes every time the active tab has data, and effectively disable the so called `jump scrolling'

scrollColor color
Color of scrollbar (see also troughColor )
selectStyle mode
Set mouse selection style to old which is 2.20, oldword which is xterm style with 2.20 old word selection, or anything else which gives xterm style selection.
skipPages N
This option and refreshLimit are to be used to replace the `jump scroll' behaviour of other terminal emulators (and previous version of ) If the screen refresh is delayed because of the refreshLimit option, then will refresh the screen every N pages of output. The default is 25. If you set it to a very large value (say INT_MAX), then will refresh the screen only after the tab has stopped `flat out' scrolling.
smartResize True | False
Enable / disable smart resize. When the tabbar is shown, or font size is increased, the resize terminal window could be partially off screen. If smartResize is enabled, then tries to move the terminal window to stay on screen.
smoothResize True | False
Enable / disable smooth resize. If enabled, then the window is resized in pixel increments (instead of character increments). This is useful if you want a full screen / maximized window that covers the entire screen (without leaving an annoying few pixel wide strip uncovered).
Color of scrollbar trough (see also scrollColor )
useFifo True | False
If enabled, then mrxvt will create a fifo(7)Pa/tmp/.mrxvt-%pid and listen for macros on it. To execute macros, just write them to this fifo. For example
/bin/echo -e "NewTab\nRaise" >> /tmp/.mrxvt-%pid

creates a new tab and raises the window with process ID %pid NOTE: The meaning and syntax of this option might change in future versions.

vBellDuration ms
Amount of time (in milliseconds) to flash the screen if using a visual bell.
monitorTimeout ms
Amount of time (in milliseconds) to detect the type of monitoring type or tab-inactivity. Default value is 2000 ms this causes that mrxvt is waiting 2 seconds after invoking the MonitorTab macro with argument "AUTO" or "INACTIVITY" to determine if or what type a notification is needed. The detection of "ACTIVITY" does not make use of the configuration value.
monitorCommand command
Specifies a command which will be executed if a activity or inactivity event is raised by the MonitorTab macro. (This string is escape and percent interpolated)
veryBright True | False
If true, and if boldColors is false, then bold primary colors are rendered as bright colors with a bold font (this was the default behaviour in 0.5.2 and earlier versions).


A line in the config file generally looks like this
ClassName.OptionName:   Value

Blank lines, and lines beginning with `# ' are ignored (comments).

The ClassName is the name specified via the -name option (by default `mrxvt ' When starts up, it ONLY reads options with ClassName `Mrxvt ' `XTerm ' or the class specified via the -name option. See /etc/mrxvt/mrxvtrc.sample for how this feature can be used.

The OptionName is the long name of the option you want to set. It can be any long option (listed under the Sx Long Options sub section), or is specified in brackets as [option_name ] alongside regular options in this man page. Finally Value is the value of this option.


The following is an example ~/.mrxvtrc file, or in a configuration file you will load with -cf option at startup. You can consult the doc/mrxvtrc.sample in the directory for more details.
Mrxvt.profile0.tabTitle:        term1
Mrxvt.profile1.tabTitle:        term2
Mrxvt.profile2.tabTitle:        term3
Mrxvt.profile0.saveLines:       600
Mrxvt.profile1.saveLines:       600
Mrxvt.profile2.saveLines:       600
# Mrxvt.profile0.Pixmap:        /home/images/vt0bg.xpm
# Mrxvt.profile1.Pixmap:        /home/images/vt1bg.xpm
# Mrxvt.profile2.Pixmap:        /home/images/vt2bg.xpm
Mrxvt.scrollbarStyle:           next
Mrxvt.initTermNumber:           3
Mrxvt.transparent:              True
Mrxvt.transparentScrollbar:     True
Mrxvt.transparentTabbar:        False
Mrxvt.transparentMenubar:       False
Mrxvt.tintColor:                #ffffff
Mrxvt.shading:                  85
Mrxvt.foreground:               white
Mrxvt.background:               black


The menu system is similar to rxvt's menus (see the included file rxvtRef.txt with a few enhancements, and a few notable exceptions:

The menus can use a proportionally spaced font under Xft (
-xftpfn which is significantly less ugly than a mono-spaced font.
supports pop-up menus. If you create a menu named PopupButton N (where N is 1, 2, or 3) then that menu is popped up when you control click (with the appropriate mouse button) on the terminal window. Additionally if you right click on the Tab bar, then the menu PopupButton1 is popped up.
To create a menu containing a list of all open tabs, create an empty menu called
PopupButton N (which will be popped on control click's as described above). To include a list of all open tabs as a sub menu, create a sub-menu called `Switch to tab'
Menu actions are completely different in
than the original implementation in rxvt(1). The menu actions are exactly the same as macro actions, and are described in the section Sx Defining custom shortcuts .
On startup
reads the file which contains the default menu definitions. The file is searched for in your search path (specified by option -path )


You have several default keyboard shortcuts to ease the use of mrxvt. The default gnome-terminal, Konsole, rxvt shortcuts are predefined for you. You can also define your own shortcuts as described in Sx Defining custom shortcuts .

Default keyboard shortcuts

The following key combinations are defined by default. These are defined in the system configuration file /etc/mrxvt/mrxvtrc and can be disabled using the option -nsc See the next section for instructions on defining your own custom keyboard shortcuts.

Gnome-terminal style shortcuts:

create a new tab
Close all tabs and exit
Close active tab, and do not hold it open if it exits abnormally.
Ctrl+PgUp activate left tab
Ctrl+PgDn activate right tab
activate 1st tab
activate 10th tab
increase font size (next font)
increase font size by 2
decrease font size (previous font)
decrease font size by 2

Konsole style default shortcuts:

move active tab to left
active tab to right
Activate left tab (Primary only)
Activate right tab (Primary only)
Create a new tab with the same profile as the current tab.

Vi style default shortcuts:

activate left tab
activate right tab

Screen style default shortcuts:

activate previous active tab

Mrxvt default shortcuts:

Move tab to 1st position
Move tab to 10th position
activate previous active tab
Move active tab left
Move active tab right
Change opacity of terminal to make it more transparent.
Change opacity of terminal to make it less transparent.
Change shading of terminal to make it more transparent.
Change shading of terminal to make it less transparent.
Toggle pseudo-transparency
Hide/show tabbar
Hide/show scrollbar
Hide/show menubar
Hide/show tabbar buttons
Toggle very bold font
Open a console in a new tab, and enable the useFifo option if necessary. Anything typed in this console will be executed as a macro. On clean exit the useFifo option will be disabled.
Toggle input broadcasting (unbound by default)
Toggle holding exited tab
Toggle full screen mode
Save current configuration
Set title of active tab to selection.
Paste X selection into active tab.
Paste X selection into active tab.
Paste clipboard into active tab.
Shift+Up Scroll up one line (Primary screen only)
Shift+Dn scroll down one line (Primary screen only)
Shift+PgUp scroll up one page (Primary screen only)
Shift+PgDn scroll down one page (Primary screen only)
Scroll to beginning of scroll-back buffer (Primary screen only)
Scroll to end of scroll-back buffer (Primary screen only)
Increase font size
Decrease font size
Open man page in a new tab.
Enable / disable all keyboard macros (except this one of course).

Defining custom shortcuts

NOTE: The `hotkey' mechanism used in versions 0.4.2 and earlier is now obsolete. It has been replaced by the `macro' functionality (described below) as of version 0.5.0.

You can define your own keyboard shortcuts in your configuration file by using the following syntax:

Mrxvt.macro.[modifiers+]keyname:         action

Here `modifiers' is a `+' separated list of modifiers `Ctrl ' `Alt ' `Meta ' `Shift ' `Primary ' and `Add ' The first four refer to the respective modifier keys. `Primary ' tells to make the macro available ONLY when the primary screen is displayed (e.g. `Primary ' macros will not be effective when you are running vim(1), but will be effective when you are at the shell prompt). Finally `Add ' tells to add the macro action to any previous action associated to that particular key. For instance

Mrxvt.macro.Primary+Shift+Return:       Esc \ec
Mrxvt.macro.Primary+Add+Shift+Return:   Str ^M

will define the macro `Shift+Return' to first send the escape sequence `\ec' to (which has the effect of clearing the scroll back buffer) and then send `Ctrl-M' to the child process, but ONLY in the primary screen. If you're running a shell, then this effectively clears the scroll back buffer and executes the command.

If the `Add ' modifier is not specified, then the macro action replaces any previous action (if any) associated to the specified key. It is an error to add a macro to a non-existing macro. Currently one key can have at most 16 actions associated to it (this might be reduced to 8 in future).

`keyname' is the name of the key you want to bind to the specified macro. Non alpha numeric keys (e.g. punctuation, or cursor/keypad keys) are specified by using their keyname, which you can find by xev(1), or looking directly in the system header file /usr/include/X11/keysymdef.h

In case you want to unbind a default keyboard macro, just bind the appropriate key to the function `Dummy ' For example

Mrxvt.macro.Ctrl+Shift+t:       Dummy

will disable the default keyboard shortcut `Ctrl+Shift+t' If you want to disable all keyboard macros, use the option `-dm ' (which can also be accessed via a pop-up menu). The default keyboard macros are defined in the system configuration file /etc/mrxvt/mrxvtrc so if you only want to disable all default shortcuts keys, don't read the system configuration file by using the -nsc option.

Notice that keyboard shortcuts definitions are incompatible with X Windows own resource parsing API, i.e., XGetDefaults. So, to enable the keyboard shortcuts, you will need to enable resources but disable xgetdefault when you configure

Finally `action' is the action you want bound to the specified macro key. The available actions you can bind to macros are:

Clear an existing keyboard shortcut
Esc str
Send the escape sequence str to .
Str str
Send the string str to the child process.
Exec command
Executes command asynchronously. The command run without any controlling shell or TTY. This is generally used to launch X11 programs (e.g. open the selected text in firefox). If you want a command run in a new tab, see the NewTab macro).

The argument command is word split exactly as described in the -blc option (thus for instance beginning it with `!' will pass it to /bin/sh -c for word splitting and execution). However keep in mind that like all macro arguments, command is first `\ ' interpolated. Thus if on the rare occasion you want `\ ' to be part of command then you will have to do something like `\\\\\\ ' and not `\\\ ' as you would with the argument of -blc

NewTab [-N ["title" [[! command ] ] ] ]
Open a new tab. N specifies the profile number. If omitted, profile 0 is used. If only `-' (with no number) is specified, then the profile of the current active tab is used (i.e. this can be used to duplicate the current tab). title is specified (needs to be double quoted), use that for the tab title. If command is specified, execute that command in the new tab (instead of the one specified by the resource file, or the shell).

command is word split as described in the Exec macro. However if command begins with an So ! Sc then run a shell first, and execute the command in the shell as if the user had typed command at the shell prompt. If instead you want command to be passed to /bin/sh -c for word splitting and execution, then begin command with `\!'

Close [N ]
Close a tab. If no argument is specified, close all tabs and exit. If N is 0, close the active tab. Otherwise close the N th tab
GotoTab [N ]
Goto tab. If N is omitted or 0, then go to the previous active tab. Otherwise go to the N th tab. If N begins with a `+' or `-' then N is relative to the current tab.
MoveTab N
Move active tab to position N If N begins with a `+' or `-' then N is relative to the current tab.
Scroll amount
Scroll the active tab by amount lines (negative values mean scroll backward). If amount ends with `p' then scroll amount pages instead of lines.
Copy selection into clipboard (not implemented).
Paste [selection-buffer ]
Paste selection into active tab. The value selection-buffer specifies the name of the buffer to be pasted. If not specified the first used buffer in the order PRIMARY, SECONDARY and CLIPBOARD will be used.
PasteFile filename
Paste the content of the file specified by filename to the currently active tab. This can be used to input text-snippets to a shell or any other terminal based program (i.e. somthing like a bash-profile or sequence of administration commands).
Monitor the current tab-window for ACTIVITY or INACTIVITY or automatically detect the type of monitoring using the AUTO option. The amount time which is used to detect the type of monitoring or tab-inactivity can be specified by the monitorTimeout option. The detection of activity or inactivity is signaled by highlighting the tab of the event and ringing the system bell. Additionally it is possible to execute a dedicated command using the monitorCommand option.
ToggleSubwin [[+ | - [b | m | s | t ] ] ]
Toggle visibility of sub-windows. If the argument begins with a `+' the subwindow is shown. If it begins with a `-' the subwindow is hidden. Otherwise it is toggled. The letters `b ' `m ' `s ' and `t ' represent the tabbar buttons, menubar, scrollbar and tabbar respectively. NOTE: Currently you can only toggle one subwindow at a time.
ResizeFont [+ | - N ]
Resize the font. With Xft, N represents the size increment of the xft font. Without Xft, N represents the index of the X11 fonts specified by the font N resources.
Toggle use of bold font for colored text.
Toggle pseudo transparency.
ToggleBroadcast [status ]
If status is omitted or `-1' then input broadcasting to all tabs is toggled. If it is `1' input broadcasting is enabled. If it is `0' it is disabled.
ToggleHold [mask ]
If mask is not specified, then just close all tabs who's child processes have exited. (This is almost compatible with the behaviour of 0.5.1 and earlier). If mask is specified, then change the hold status of the current tab. mask must begin with `+ ' `- ' or `! ' and be followed by a bit mask (as in the holdExit option). `+ ' will add bits to the holdExit option for this tab, `- ' will subtract, and `! ' will toggle. Remember that if the lowest bit of the current tabs holdExit option is set, then the tab will always be held open and everything else will be ignored.
Toggle between full screen and regular mode. Also enable --smoothResize to get true full screen. This will only work if you are running an EWMH compatible window manager (e.g. Fvwm / OpenBox / KDE / Gnome).
Raise the window.
Set title of active tab to selection. (The selection must be owned by )
UseFifo status
Enable or disable using a fifo(1) to listen for macros on (see the useFifo option). The argument status should be 0 , 1 , -1 to disable, enable or toggle respectively.
PrintScreen [-psn [command ] ]
Dump screen to printer (or command ) If -p is specified, then the output is pretty printed (i.e. escape sequences are used to get the same color in the output as on your screen). If -s is specified, then the entire scroll back is printed (instead of just the current screen). If -n is specified, then every screen line is terminated with a newline char (by default screen lines that wrap to the next line are not terminated with a newline). Finally, if command is specified it is used as the printer pipe (if not the value of printPipe or the compiled in default is used).
SaveConfig [filename ]
Save config to file. If no filename is specified, save to ~/
Toggle the use of keyboard shortcuts. When macros are disabled (either by using this macro, or by the -dm option), then this is the only keyboard shortcut that will work. Thus you can re-enable your keyboard shortcuts via the keyboard using this function.

Additionally, the argument to any of the above macros are `\ ' and `% ' interpolated as follows:

\E , \e
Carriage return
\ ddd
Char with octal ASCII code ddd
^@ , ^A .. ^Z .. ^_ , ^?
Control-@, Control-A ...

Global (static) tab number.
PID of child process in current tab.
PID of
Tab number.
% N
Expands to `normally' if the process exited normally (e.g. by calling exit(1)) or `abnormally' otherwise. (Note this is independent of the exit status).
Text selected in the window.
If the process in this tab is dead, then it expands to the exit status of the child process. Otherwise left unchanged.
Tab title.
Total number of tabs created in lifetime.

Mouse shortcuts

Changing tab titles
This mouse shortcut can be used to dynamically change the tab title as follows: Select text in the terminal window. Then middle click on a tab to change the tab's title. If you middle click on the tabbar background, then the title of the active tab is changed.
Tab list menu
By default, if you right click on the tab bar, or control-left-click on the terminal window, a popup menu with a list of currently open tabs pops up. The actual menu popped up can be customized as described under the section Sx MENUS .
Popup menus
If you Control-click on the terminal window (with any mouse button), it pops up a menu. The actual menu popped up can be customized as described under the section Sx MENUS .
Moving tabs
Click and drag a tab to some other location on the tab-bar to move it.


You have several escape sequences to control . All default rxvt(1) escape sequences are supported by . A few extra escape sequences have been added to improve DEC compatibility, and allow interaction with extra features (e.g. tabs). The supported escape sequences are listed in the file mrxvt_seq.txt included in the distribution.

For omissions in the documentation, and a more complete reference to escape sequences you should look at the file ctlseqs.txt that comes with the xterm package, console_codes4 and the original rxvt documentation in the file rxvtRef.txt

For basic interaction with (e.g. changing the tab title etc.) you should also look at the programs share/scripts/settitle.c and share/scripts/ that are supplied with the distribution.


Set to the terminal foreground and background colors.
Sets to the terminal sub-name that indicates its color.
Used (and set) to the X display bieng used.
Path to look for menu / background files (see -path option).
Set to the terminal name in the window you have created.
Set to the initial tab title of each terminal. Notice that its value will not be altered if the user uses a shortcut or escape sequence to change the tab title. The user must modify it manually after doing that.
Set to the X window id number of the mrxvt window.


The actual pathnames given may differ on your system.
The default menu file loaded at startup (searched for in your -path )
Directory in which to look for user menu and image files.
This is the default configuration file (since 0.3.9). If present, resources read from this file override existing resources.
(OBSOLETE) This was the default configuration file (before 0.3.9). If present, resources read from this file override existing resources.
(OBSOLETE) If both .mrxvtrc and .Xdefaults are not found, try this one.
System wide directory in which to look for user menu and image files.
Default menu file read on startup.
System wide configuration file. (By default this file only defines the default keyboard macros)
System file for login records.
Color names.
(OBSOLETE) If enable xgetdefaults at compiled time, this is the first configuration file read.


Reporting bugs

Please report bugs using the sourceforge bug tracker system at

Alternately you can send your bug report to the mrxvt developer mailing list at

Mt [email protected]

Be sure you give us enough details to reproduce the bug ourselves, and check to see if your bug still exists in the current CVS version.

Known bugs

Tabs don't work properly when running under Xnest.
Transparency and tinting are global, not specific to a terminal.
The transparentForce option does not work well with all window managers (e.g. OpenBox).


An Terminator < Ns Mt [email protected] Ns > An Gautam Iyer < Ns Mt [email protected] Ns > An Marc Schoechlin < Ns Mt [email protected] Ns >