SYNOPSIS[options] [-e cmd ]
DESCRIPTIONThe 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.
OPTIONSThis 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
option). Background changes made by FvwmBacker, xsetbg (xli) or Esetroot compatible programs, will be automatically detected. However changes made by
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),
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
For example, if you want your background tinted black, set
however if you want a white tinted transparent background, set
to some level of grey (e.g.
but NOT to
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.
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
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
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 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
When a new tab is created with profile
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
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. -profile0.tt 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. -profile0.tt 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.
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
then it is passed to
for execution. Otherwise it is split into words at spaces or tabs only, and executed via
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 ]
- 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 optionsThe 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
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
are to be used to replace the
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
characters, then we request a screen refresh (which takes a while, especially if you use Xft with anti aliasing). If we obtain more than
characters from the tab, then we delay the screen refresh until the tab eventually has either
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 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
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).
CONFIGURATION FILE SYNTAXA line in the config file generally looks like this
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.
ExampleThe 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
MENUSThe 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 default.menu which contains the default menu definitions. The file is searched for in your search path (specified by option -path )
KEYBOARD AND MOUSE SHORTCUTSYou 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 shortcutsThe 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 shortcutsNOTE: 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:
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
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
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.
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).
is specified (needs to be double quoted), use that for the tab title. If
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).
- MonitorTab [ACTIVITY|INACTIVITY|AUTO]
- 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 ~/.mrxvtrc.save
- 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 .. ^_ , ^?
[email protected], 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.
- 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.
ESCAPE SEQUENCESYou 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/mrxvtset.pl 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.
FILESThe 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 bugsPlease 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).