|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, customisable 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 and logging.
The default mrxvt behaviour can be set using the resource configuration file
~/.mrxvtrc. For backward compatibility, if
~/.mrxvtrcis not found, mrxvt tries to load configuration settings from the files
~/.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
~/.mrxvtrcfile 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 examplemrxvt -tr -shade 85 +trt
is the same asmrxvt --transparent --shading 85 ++transparentTabbar
which is the same as putting the linesMrxvt.transparent: True Mrxvt.shading: 85 Mrxvt.transparentTabbar: False
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 [
- -ic file[;geometry]
application icon file. [appIcon]
start iconic [
- -in name
Icon name for window [
- -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 [
- -title string
title name of the window [
- -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. [
Multichar and multi-language support
Multichar cursor movement [
- -km mode
multichar encoding mode [
- -im name
name of X Input Method (XIM) [
- -pt mode
XIM input style: OverTheSpot|OffTheSpot|Root [
Thai support [
- -grk mode
Greek keyboard mapping: iso|ibm [
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 [
- -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_ENVand finally tries in the user configuration directory
~/.mrxvtand the (compiled in) system wide configuration directory
- -sid string
Client identity of mrxvt for X session management [
enable X session management [
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
- 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
- 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
- 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
skipPagesare 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
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
- selectStyle mode
Set mouse selection style to
oldwhich is 2.20,
oldwordwhich is xterm style with 2.20 old word selection, or anything else which gives xterm style selection.
- skipPages N
This option and
refreshLimitare 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
refreshLimitoption, 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
smartResizeis 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
- useFifo True|False
If enabled, then mrxvt will create a fifo(7)
/tmp/.mrxvt-%pidand 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.
- veryBright True|False
If true, and if
boldColorsis 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).
Configuration File Syntax
A line in the config file generally looks like thisClassName.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.samplefor 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
~/.mrxvtrcfile, or in a configuration file you will load with -cf option at startup. You can consult the
doc/mrxvtrc.samplein 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
PopupButton1is 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
default.menuwhich contains the default menu definitions. The file is searched for in your search path (specified by option -path).
Keyboard and Mouse Shortcuts
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.
Hide/show tabbar buttons
Toggle very bold font
Open a mrxvt console in a new tab, and enable the
useFifooption if necessary. Anything typed in this console will be executed as a macro. On clean exit the
useFifooption 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.
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 instanceMrxvt.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 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
In case you want to unbind a default keyboard macro, just bind the appropriate key to the function ‘
Dummy’. For exampleMrxvt.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/mrxvtrcso 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
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
Execmacro. 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).
Pasete selection into active tab.
- 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
Toggle use of bold font for colored text.
Toggle pseudo transparency.
Toggle broadcasting of input to all tabs.
- 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
holdExitoption). ‘+’ will add bits to the
holdExitoption for this tab, ‘-’ will subtract, and ‘!’ will toggle. Remember that if the lowest bit of the current tabs
holdExitoption 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
--smoothResizeto 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
useFifooption). The argument status should be 0, 1, -1 to disable, enable or toggle respectively.
- PrintScreen [-psn] [command]
Dump screen to printer (or command). If
-pis 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
-sis specified, then the entire scroll back is printed (instead of just the current screen). If
-nis 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
printPipeor 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
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
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.
Total number of tabs created in mrxvt lifetime.
- 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.txtincluded in the distribution.
For omissions in the documentation, and a more complete reference to escape sequences you should look at the file
ctlseqs.txtthat comes with the xterm package, console_codes(4) and the original rxvt documentation in the file
For basic interaction with mrxvt (e.g. changing the tab title etc.) you should also look at the programs
share/scripts/mrxvtset.plthat 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
.Xdefaultsare 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.
(OBSOLETE) If enable xgetdefaults at compiled time, this is the first configuration file read.
Please report bugs using the sourceforge bug tracker system at
Alternately you can send your bug report to the mrxvt developer mailing list at
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.
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
Gautam Iyer <email@example.com>