Jimmy Zhou, Gautam Iyer and Marc
Schoechlin,
Disclaimer
I don't
guarantee the accuracy of anything that follows, so use this guide at
your
own risk.
A long time
has passed since I have left KDE and GNOM world. I am living with
icewm and desktop independent tools. But my memory was continuously
knocking me about konsole; a multi tab, transparent terminal emulator
for
X Window. It is really great but as usually being a member of KDE
family, it is bloated. Linux is great because it never lets it users
unhappy. My happiness has come back with mrxvt.
mrxvt is based on rocking X Window terminal emulator rxvt version
2.7.11 CVS (in 2004), and features most of functionality of rxvt, with
a few major enhancements like
multiple tabs, transparency,
runtime
dynamic control, pseudo-transparent backgrounds,
user-supplied
background images, background color tinting and more.
Like rxvt, mrxvt
aims to be light, fast, flexible and does not depend on desktop
environments like GNOME or KDE.
The default mrxvt which reads its configuration from the global
configuration file ( debian location /etc/mrxvt/mrxvtrc ) does not look
so good. But don't be fool!! It has great configurable features by
which you can design a great looking as well as very powerful X window
terminal. mrxvt honors your configuration from
.mrxvtrc file located in
your home directory.
It is lightweight and fast, and only depends on
Xlib.
In debian install it by ( as root )
apt-get install mrxvt
### Application Icon image ### Mrxvt.appIcon: /usr/share/.icewm/XPM/mrxvt.xpm
### Font configuration ### Mrxvt.font: -adobe-courier-medium-r-normal--12-*-*-*-*-*-UTF-8 Mrxvt.boldFont: -adobe-courier-bold-r-normal--12-*-*-*-*-*-UTF-8
### window size ### Mrxvt.geometry: 100x30
### Synchronize terminal title with Active tab title ### Mrxvt.syncTabTitle: True
### Synchronize icon name with Active tab ### Mrxvt.syncTabIcon: True
### Window title ### ### works when syncTabTitle is disabled ### #Mrxvt.title: rocking mrxvt
### Don't close tab with secondary screen, i.e. mutt,vim etc.. ### Mrxvt.protectSecondary: True
### color when selected by mouse ### Mrxvt.highlightColor: grey
### Transparency ### Mrxvt.transparent: True Mrxvt.shading: 85 Mrxvt.transparentTabbar: True Mrxvt.transparentScrollbar: True
### Why do you need a menu bar when you have .mrxvtrc and macro ? ### ### You really don't need it in full screen mode ### Mrxvt.showMenu: False
###-------------------------------------------------### ### If you need xft ### ### Use freetype font instead of X11 font ### #Mrxvt.xft:True # This makes font look much nicer,but significantly slows down the rendering speed #Mrxvt.xftAntialias: True # Hinting of freetype font #Mrxvt.xftHinting: True # Freetype font size in pixel #Mrxvt.xftSize: 10 # Normal text freetype font family #Mrxvt.xftFont: ###--------------------------------------------------###
### Window Resize ### Mrxvt.smartResize: True #Mrxvt.smoothResize: True
### scrollbar ### Mrxvt.troughColor: black Mrxvt.scrollbarRight: True Mrxvt.scrollbarStyle: rxvt
### Highlight inactive tabs only when they sound a bell (and not whenever they ### ### refresh screen ) ### Mrxvt.highlightTabOnBell: True
### Tab at bottom ### Mrxvt.bottomTabbar: True
### Tab bar colors ### Mrxvt.tabBackground: black Mrxvt.tabForeground: green Mrxvt.itabBackground: black Mrxvt.itabForeground: grey
### terminal color ### Mrxvt.foreground: white Mrxvt.background: black
### cursor ### Mrxvt.cursorBlink: True Mrxvt.cursorColor: yellow
### Run as a login shell ### Mrxvt.loginShell: True
### Border to leave around terminal text ### Mrxvt.internalBorder: 10
### Number of lines to save in the scroll back buffer for all tabs ### Mrxvt.saveLines: 10000
### Display bold and underlined text in color, rather than using the terminal ### ### attributes. This makes reading man pages a little easier. ### Mrxvt.colorBD: green Mrxvt.colorUL: yellow
|
| Runtime dynamic
control with macro |
mrxvt has a fantastic technical superiority of having run time dynamic
control. The "hotkey" method is obsolete now. It has been
replaced by the 'macro' functionality (as of version 0.5.0.) designed
by Gautam Iyer
It is easy to define the macro in .mrxvtrc 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. Hence 'Primary' macros will not be effective when we run vim
and all the
keymap of vim are use able. We get back the mrxvt macro after getting
back to shell. Is it not Great ?
Here are the macros without which I find myself really helpless
### Disable system wide predefined macro ### Mrxvt.noSysConfig: True
#---------My key bindings with macro ------#
### Toggle Full screen ### Mrxvt.macro.Primary.Alt+f: ToggleFullscreen
### Toggle transparency ### Mrxvt.macro.Primary+Alt+t: ToggleTransparency
### More / less transparent ### Mrxvt.macro.Primary.Alt+j: Esc \e]67;+5\a Mrxvt.macro.Primary.Alt+k: Esc \e]67;-5\a
### open/close Tab ### #---open tab----# Mrxvt.macro.Primary.Alt+n: NewTab #---close the active---# Mrxvt.macro.Primary.Alt+d: Close 0 #---close all---# Mrxvt.macro.Primary.Alt+c: Close
### Move Active tab ### #Mrxvt.macro.Primary.Alt+Left: MoveTab -1 #Mrxvt.macro.Primary.Alt+Right: MoveTab +1
### Move through tab ### Mrxvt.macro.Primary.Alt+Left: GotoTab -1 Mrxvt.macro.Primary.Alt+Right: GotoTab +1
### resize font ### Mrxvt.macro.Primary.Alt+plus: ResizeFont +1 Mrxvt.macro.Primary.Alt+underscore: ResizeFont -1
### Set title of active tab to selection. ### ### Just select word/words in the mrxvt terminal and run this macro ### Mrxvt.macro.Primary.Alt+s: SetTitle
### Scrolling ### Mrxvt.macro.Primary.Alt+Up: Scroll -1 Mrxvt.macro.Primary.Alt+Down: Scroll +1 Mrxvt.macro.Primary.Alt+Home: Scroll -1000000 Mrxvt.macro.Primary.Alt+End: Scroll +1000000
### Toggle Very Bold ### #Mrxvt.macro.Primary.Alt+b: ToggleVeryBold
### Toggle Tabber butons ### Mrxvt.macro.Primary.Alt+b: ToggleSubwin b
### Toggle Menubar ### Mrxvt.macro.Primary.Alt+m: ToggleSubwin m
### Toggle scrollbar ### Mrxvt.macro.Primary.Alt+l: ToggleSubwin s
### Toggle subwindow ### Mrxvt.macro.Primary.Alt+w: ToggleSubwin
### call Help ### Mrxvt.macro.Primary.Alt+h: NewTab "Help" !less helpfile
### Toggle Macro ### ###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 ### Mrxvt.macro.Primary.Alt+q: ToggleMacros
|
transparency control
Are you confused to see
Mrxvt.macro.Primary.Alt+h:
NewTab "Help" !less helpfile
?
Well, I have designed my own Help page here. I have created an ascii
file called helpfile by vim and defined there all the key-combination.
When I need to recall the key bindings I just press Alt+h and
mrxvt opens a new tab with "HELP" as tab tittle and execute
"less helpfile"
mrxvt can startup with multiple tabs and each and every of these tabs
can come with predefined commandas !!! Surprise ? Continuing your
surprise each and every individual tabs can have their own settings
like background/foreground color; background image; tab title
etc.. or in a simple word every tab can be defined as you like to see
it.
Here is a simple example. According to the example below, mrxvt
startups with two tabs following profile 1 and 2. The tabs are titled
as cal and vim. Profile1 aka cal tab execute cal command and profile2
aka vim tab opens vim. Whenever a new tab is created
it
follows the profile 0
### profile ###
### Active these profiles during startup ### Mrxvt.initProfileList: 1,2
#-------profile 0-------# #Used to create new tab ### Mrxvt.profile0.tabTitle:NewTab Mrxvt.profile0.command:!/usr/bin/cal
#-------profile 1-------# Mrxvt.profile1.tabTitle:Local Mrxvt.profile1.command:!/usr/bin/cal #-------profile 2-------# Mrxvt.profile2.tabTitle:SSH rxvt.profile2.command:!/usr/bin/cal
|
Changing
tab titles: 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.
Moving
tabs: Click and drag a tab
to some other location on the tab-bar to move it.