mrxvt - A tabbed VT102 terminal emulator for X Window System



mrxvt — A tabbed VT102 terminal emulator for X Window System


mrxvt [options] [−e cmd]


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

mrxvt 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, mrxvt aims to be light, fast, flexible and desktop independent, thus KDE or GNOME are not required.

The primary features of mrxvt 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 mrxvt behaviour can be set using the resource configuration file ˜/.mrxvtrc. For backward compatibility, if ˜/.mrxvtrc is not found, mrxvt 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 mrxvt 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







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]


start iconic [iconic]

−in name

Icon name for window [iconName]

−into WinID

If given an X window identifier, mrxvt will reparent its top-level shell widget to that window. This is used to embed mrxvt 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 mrxvt should emulate. The value of the TERM environment variable is set to this value for all child processes launched by mrxvt. Note that rxvt and most rxvt clones including mrxvt, have slightly different terminal capabilities than those of xterm(1). Thus mrxvt 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]


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-root(1) 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]


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]


Enable / disable pseudo-transparent menubar. Pseudo-transparency must be turned on. [transparentMenubar]


Enable / disable pseudo-transparent scrollbar. Pseudo-transparency must be turned on. [transparentScrollbar]


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]


Apply tabbar background image to tabs. [tabUsePixmap]

Scrolling related options


scroll one page when press mouse wheel button [mouseWheelScrollPage]

−sa mode

Scrollbar alignment ( top | bottom) [scrollbarAlign]


Hide / show scrollbar [scrollBar]

−sbt width

Scrollbar thickness/width [scrollbarThickness]


Inhibit scrolling on tty output. [scrollTtyOutputInhibit]


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]


Scrollbar on right [scrollbarRight]

−ss mode

Scrollbar style. mode should be one of plain, xterm, rxvt, next or sgi. [scrollbarStyle]


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 looses 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]


Use freetype font instead of X11 font. This option controls all other freetype font related options. [xft]


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]


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]


Enable / disable global advance of freetype font. The −xft option must be enabled [xftGlobalAdvance]


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]


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]

−xftrgb style

Freetype font sub-pixel order: rgb | bgr | vrgb | vbgr | none. The −xft option must be enabled. [xftRGBA]


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]


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]


Show tabbar at bottom. [bottomTabbar]

−e [arguments ...]

Specifies the program (and its command line arguments) to be run in the mrxvt 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]


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 mrxvt 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]


Hide tabbar on initialization [hideTabbar]


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 mrxvt opens each of these profiles in a tab. [initProfileList]


Indicates that the shell that is started in the mrxvt 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]

−profileN.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 any integer between 0 and the compiled in maximum (default 5). The profile number 0 is special, and contains default settings which are used for all profiles where this option is not set (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).

This option is intended to replace the −vt%d.xx options from mrxvt version 0.5.0. The old −vt%d.xx would set options for the %dth 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. [profileN.option]


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]


Synchronize icon name with tab title when switch to a new tab or the title of the active tab changes. [syncTabIcon]


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]


Utmp inhibit. [utmpInhibit]


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


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 support [thai]

−grk mode

Greek keyboard mapping: iso|ibm [greek_keyboard]

Menu related options

−menu filename[;tag]

Menubar definition file. [menu]


show menubar [showMenu]

Keyboard and window related options

−b number

internal border width [internalBorder]


Display a blinking cursor. [cursorBlink]


Enable / disable broadcasting input to all terminals [broadcast]

−bci number

Cursor blink interval (ms) [cursorBlinkInterval]


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]


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]


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]


Startup fullscreen. Use in conjunction with [smoothResize] to really make it full screen. Requires an EWMH compatible window manager. [fullscreen]


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]


Start maximized (requires an EWMH compatible window manager). [maximized]


Enable / disable meta8 [meta8]


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]


Override redirect [overrideRedirect]


Pointer blank (see also pointerBlankDelay). [pointerBlank]


reverse video [reverseVideo]


Triple click word selection [tripleclickwords]


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. mrxvt 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]


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 mrxvt configuration file.

answerBackString string

Specify the reply mrxvt 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.

boldFontN 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.

colorN 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).

fontN 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.

mfontn 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 mrxvt). Generally when data is available from a tab, mrxvt 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 mrxvt 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 mrxvt). If the screen refresh is delayed because of the refreshLimit option, then mrxvt 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 mrxvt 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 mrxvt tries to move the terminal window to stay on screen.

smoothResize True|False

Enable / disable smooth resize. If enabled, then the mrxvt window is resized in pixel increments (instead of character increments). This is useful if you want a full screen / maximized mrxvt 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) /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 mrxvt 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 mrxvt 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 “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.

mrxvt supports pop-up menus. If you create a menu named PopupButtonN (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 PopupButtonN (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 mrxvt than the original implementation in rxvt(1). The menu actions are exactly the same as macro actions, and are described in the section “Defining custom shortcuts”.

On startup mrxvt 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 “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.


activate left tab


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 psdudo-transparency


Hide/show tabbar


Hide/show scrollbar


Hide/show menubar


Hide/show tabbar buttons


Toggle very bold font


Open a mrxvt 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.


Scroll up one line (Primary screen only)


scroll down one line (Primary screen only)


scroll up one page (Primary screen only)


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 mrxvt 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 mrxvt 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 mrxvt to add the macro action to any previous action associated to that particular key. For instance

Mrxvt.macro.Primary+Shift+Return: Esc \ec


Str ˆM

will define the macro ‘Shift+Return’ to first send the escape sequence ‘\ec’ to mrxvt (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



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 mrxvt.

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 mrxvt.

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 [
] [
] [[

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 ‘

! ’ 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 Nth tab.

GotoTab [N]

Goto tab. If N is ommited or 0, then goto the previous active tab. Otherwise goto the Nth 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 [[

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 [

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 fontN 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 mrxvt 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 mrxvt window.


Set title of active tab to selection. (The selection must be owned by mrxvt)

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 [
] [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




Char with octal ASCII code ddd.

ˆ@, ˆA .. ˆZ .. ˆ_, ˆ?

Control-@, Control-A ...


Global (static) tab number.


PID of child process in current tab.


PID of mrxvt


Tab number.


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 mrxvt 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 mrxvt 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 “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 “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 mrxvt. All default rxvt(1) escape sequences are supported by mrxvt. A few extra escape sequences have been added to improve DEC compatibility, and allow interaction with extra mrxvt 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_codes(4) and the original rxvt documentation in the file rxvtRef.txt.

For basic interaction with mrxvt (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 mrxvt 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

[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).


rxvt(1), xterm(1), resize(1), mrxvt_seq.txt, Xterm control sequences (this is the file or ctlseqs.txt), console_codes(4)


Terminator <[email protected]>
Gautam Iyer <[email protected]>
Marc Schoechlin <[email protected]> X Version 11 January 10, 2006 mrxvt(1)

Updated 2024-01-29 - |