====== rxvt-unicode ======
This is a clone of rxvt, containing unicode support.
As of it's rich features, it's my preferred choice when
it comes to having a unicode-aware X terminal.
===== Configuration =====
Configuration can be done both via commandline parameters and
X resources. As the former is trivial, this section describes the
latter only.
This is a sample $HOME/.Xresources:
URxvt.background: black
URxvt.foreground: grey
URxvt.inheritPixmap: true
URxvt.fading: 35
! URxvt.fadeColor: grey
URxvt.font: 6x10
URxvt.boldFont: 6x10bold
URxvt.tintColor: grey
URxvt.shading: 20
Comments start with an exclamation mark. Resources of the class ''URxvt''
are being shared between urxvt instances, resources of the class ''Rxvt''
are being shared between both instances of ''urxvt'' and ''rxvt''. All
possible long options are allowed to be specified as X resource.
==== Manually Applying Defined X Resources ====
Many window managers read $HOME/.Xresources upon startup, but some don't.
Also it's generally possible to specify display and screen local resources,
which is not covered by any window manager as far as I know.
To interpret defined X resources, use ''xrdb'':
xrdb -all $HOME/.Xresources
this applies the user defined resources to the global (screen-independent)
resource property as well as the screen-dependent resource property.
To use special settings for a given screen, use the '-display' option together
with '-screen':
xrdb -display :0.1 -screen $HOME/.Xresources.screen1
in this example the resources of the first display's second screen are being altered.
Note that this is being invalidated by the first call to ''xrdb'' shown here (using
the ''-all'' option).
===== Transparency =====
There are two ways of getting a transparent background.
==== inheritPixmap ====
Using the ''inheritPixmap'' option should work for everyone:
URxvt.inheritPixmap: true
URxvt.tintColor: grey
URxvt.shading: 20
it enables the use of the desktop background as terminal background. To darken/lighten
it, use ''shading'' with positive/negative values (in percent). ''tintColor'' enables
tinting of the background with the specified color.
==== Alpha Channel Support ====
FIXME No documentation available yet.
===== Fading =====
Yet another killer feature: ''rxvt'' supports fading out it's content
when the window is unfocused (never ever again typing something accidentially
into the wrong window).
To enable fading, simply specify the option ''fading'' with a value in percent:
URxvt.fading: 35
URxvt.fadeColor: grey
''fadeColor'' seems to default to grey, so it can be omitted.
Beware of fading too much, you should at least be able to read the contents of
unfocused windows!
===== Getting The Pointer Out Of Sight =====
Somehow the mouse pointer regularly gets into one's way when
typing. As there is generally no need for a visible mouse pointer
when working with the keyboard, it can simply be made invisible:
URxvt.pointerBlank: true
URxvt.pointerBlankDelay: 2
''pointerBlankDelay'' specifies the number of seconds of inactivity needed before
blanking occurs. As 2 seconds is default, this can be omitted.
===== Setting The TERM Variable =====
''rxvt-unicode'' sets the TERM variable to it's name. But as this is unknown
to many systems/applications, it will sooner or later lead to trouble (at
least ''screen'' didn't work for me out of the box). To get around setting the
TERM variable in any shell startscript (which is definitely the worst way of
doing this), the value for the TERM variable to be set can be configured:
URxvt.termName: rxvt
as ''rxvt'' is a lot more common to many applications, it should be a good start.
Alternatively this could be set to ''xterm'' to allow full compatibility (but
maybe breaking some ''rxvt'' features).
===== Client/Server Mode =====
Ever been using ControlSockets for Master/Slave operation of ''ssh''? Then you know...
The daemon has to be running all the time, so starting is done at ''.xsession''/''.xinitrc''
state:
urxvtd -q -o -f
The options are:
^ -q | do not output a status message at startup (errors are still being reported) |
^ -o | check for existence of a X server at $DISPLAY and exit when it exits |
^ -f | fork into background after initialization |
Especially ''-o'' is very needful, so one doesn't need to care about multiple instances
of ''urxvtd'' when restarting the X server.
Then each time when ''urxvt'' would be called, just call ''urxvtc''. Actually this doesn't
generate a new process, but connects to the daemon to do everything internally. This saves
some startup time, and a lot of memory.
Beware: if for some reasons ''urxvt''/''urxvtd'' is instable on your system, better don't use
client/server mode. If the daemon crashes, all client instances are gone.