1
0
mirror of https://github.com/gryf/urxvt-font.git synced 2026-03-18 22:13:33 +01:00

adding urxvt font classes

This commit is contained in:
Noah Tilton
2012-12-06 15:10:11 -06:00
parent ba69503249
commit 1cbf4efdd0

21
font
View File

@@ -105,16 +105,22 @@ sub change_size
my ($self, $delta) = @_;
# Get xft strings with font size {+/-}1
my ($font_resized) = $self->_resize_xft_string( "font", $delta);
my ($font_resized_bold) = $self->_resize_xft_string( "boldFont", $delta);
my ($font_resized) = $self->_resize_xft_string( "font", $delta);
my ($font_resized_im) = $self->_resize_xft_string( "imFont", $delta);
my ($font_resized_bold) = $self->_resize_xft_string( "boldFont", $delta);
my ($font_resized_italic) = $self->_resize_xft_string( "italicFont", $delta);
my ($font_resized_bold_italic) = $self->_resize_xft_string( "boldItalicFont", $delta);
# Update internal urxvt resource hash
# This is necessary or else the next resize won't have an updated
# value. "font" key is updated by urxvt when cmd_parse is called,
# but boldFont is *not*, at least with the escape sequences I'm
# emitting.
$self->{term}->resource("font", $font_resized);
$self->{term}->resource("boldFont", $font_resized_bold);
$self->{term}->resource( "font", $font_resized);
$self->{term}->resource( "imFont", $font_resized_im);
$self->{term}->resource( "boldFont", $font_resized_bold);
$self->{term}->resource( "italicFont", $font_resized_italic);
$self->{term}->resource( "boldItalicFont", $font_resized_bold_italic);
# Emit escape sequence to change fonts in rxvt runtime
$self->{term}->cmd_parse("\e]710;" . $font_resized . "\007");
@@ -123,8 +129,11 @@ sub change_size
system("xrdb -load " . X_RESOURCES);
open(XRDB_MERGE, "| xrdb -merge") || die "can't fork: $!";
local $SIG{PIPE} = sub { die "xrdb pipe broke" };
print XRDB_MERGE "urxvt\*font: $font_resized\n"
. "urxvt\*boldFont: $font_resized_bold\n";
print XRDB_MERGE "urxvt\*font: $font_resized\n"
. "urxvt\*imFont: $font_resized_im\n"
. "urxvt\*boldFont: $font_resized_bold\n"
. "urxvt\*italicFont: $font_resized_italic\n"
. "urxvt\*boldItalicFont: $font_resized_bold_italic\n";
close XRDB_MERGE || die "bad xrdb: $! $?";
system("xrdb -edit " . X_RESOURCES);
}