This is a perl extension for rxvt-unicode that allows changing the font size on the fly with keyboard shortcuts. It has the following features:
- Supports both xft and X11 fonts; X11 fonts work in both full form and as aliases.
- Supports all four font settings:
boldItalicFontand changes them in accordance with the base font (the first one from
- Can apply the font change globally for the whole server, so that new
terminals will inherit the same size, and even save it to
~/.Xresourcesto be able to survive a reboot.
- Should work even with complicated font setups like the example in the urxvt man-page.
font-size script into
$HOME/.urxvt/ext/ and add it to the list of
enabled perl-extensions in
Note: if your urxvt version is older than 9.14 you will have to add the path
to the script to the
Add some keybindings:
URxvt.keysym.C-Up: font-size:increase URxvt.keysym.C-Down: font-size:decrease URxvt.keysym.C-S-Up: font-size:incglobal URxvt.keysym.C-S-Down: font-size:decglobal
Note that for urxvt versions older than 9.21 the resources have to look like this:
URxvt.keysym.C-Up: perl:font-size:increase URxvt.keysym.C-Down: perl:font-size:decrease URxvt.keysym.C-S-Up: perl:font-size:incglobal URxvt.keysym.C-S-Down: perl:font-size:decglobal
The following functions are supported:
decrease: Increase or decrease the font size of the current terminal.
decglobal: Same as above and also adjust the X server values so all newly started terminals will use the same fontsize.
decsave: Same as incglobal/decglobal and also modify the
~/.Xresourcesfile so the changed font sizes will persist over a restart of the X server or a reboot.
reset: Reset the font size to the value of the resource when starting the terminal.
You can also change the step size that the script will use to increase the font size:
The default step size is 1. This means that with this setting a size change sequence would be for example 8->12->16->20 instead of 8->9->10->11->12 etc. Please note that many X11 fonts are only available in specific sizes, though, and odd sizes are often not available, resulting in an effective step size of 2 instead of 1 in that case.
At its core urxvt-font-size is just a fancy wrapper around the
ESC ] 710;Pt
ST (and 711/712/713 for bold, italic, and bold-italic) escape sequences. So
if you are having trouble with this script please try the escape sequence
directly like this (outside of a terminal multiplexer like screen or tmux):
$ echo -e "\033]710;fixed\033\\"
You can exchange
fixed for any (single) font that you want to try, like for
$ echo -e "\033]710;-xos4-terminus-medium-r-normal--12-120-72-72-c-60-iso10646-1\033\\"
If you can reproduce the problem this way then the problem does not lie with the urxvt-font-size script, but either directly with urxvt or some other component that may interfere (like for example a window manager). Please report the bug to those projects in that case.