WISH: support tex fonts
- added sections for DISTRIBUTION MAINTAINERS and about
- SETUID/SETGID operation tot he FAQ.
+ SETUID/SETGID to the FAQ.
+ - increased xft drawing speed for problematic fonts, speed
+ seems to be entirely server-dependent now.
- selection, selection-popup and option-popup extensions
enabled by default.
- perl: much increased functionality, better overlays, popup support
correct place, e.g. on stderr of the connecting urxvtc client.</p>
</dd>
<p></p>
+<dt><strong><a name="item__24is_safe__3d_urxvt_3a_3asafe">$is_safe = urxvt::safe</a></strong><br />
+</dt>
+<dd>
+Returns true when it is safe to do potentially unsafe things, such as
+evaluating perl code specified by the user. This is true when urxvt was
+started setuid or setgid.
+</dd>
+<p></p>
<dt><strong><a name="item__24time__3d_urxvt_3a_3anow">$time = urxvt::NOW</a></strong><br />
</dt>
<dd>
<dt><strong><a name="item_grab_button">$success = $term->grab_button ($button, $modifiermask)</a></strong><br />
</dt>
<dd>
-Registers a synchronous button grab. See XGrabButton.
+Registers a synchronous button grab. See the XGrabButton manpage.
</dd>
<p></p>
<dt><strong><a name="item_grab">$success = $term->grab ($eventtime[, $sync])</a></strong><br />
.Sp
Using this function has the advantage that its output ends up in the
correct place, e.g. on stderr of the connecting urxvtc client.
+.IP "$is_safe = urxvt::safe" 4
+.IX Item "$is_safe = urxvt::safe"
+Returns true when it is safe to do potentially unsafe things, such as
+evaluating perl code specified by the user. This is true when urxvt was
+started setuid or setgid.
.IP "$time = urxvt::NOW" 4
.IX Item "$time = urxvt::NOW"
Returns the \*(L"current time\*(R" (as per the event loop).
.ie n .IP "$success = $term\fR\->grab_button ($button, \f(CW$modifiermask)" 4
.el .IP "$success = \f(CW$term\fR\->grab_button ($button, \f(CW$modifiermask\fR)" 4
.IX Item "$success = $term->grab_button ($button, $modifiermask)"
-Registers a synchronous button grab. See XGrabButton.
+Registers a synchronous button grab. See the XGrabButton manpage.
.ie n .IP "$success = $term\fR\->grab ($eventtime[, \f(CW$sync])" 4
.el .IP "$success = \f(CW$term\fR\->grab ($eventtime[, \f(CW$sync\fR])" 4
.IX Item "$success = $term->grab ($eventtime[, $sync])"
Using this function has the advantage that its output ends up in the
correct place, e.g. on stderr of the connecting urxvtc client.
+ $is_safe = urxvt::safe
+ Returns true when it is safe to do potentially unsafe things, such
+ as evaluating perl code specified by the user. This is true when
+ urxvt was started setuid or setgid.
+
$time = urxvt::NOW
Returns the "current time" (as per the event loop).
"$term->ROW_t" for details.
$success = $term->grab_button ($button, $modifiermask)
- Registers a synchronous button grab. See XGrabButton.
+ Registers a synchronous button grab. See the XGrabButton manpage.
$success = $term->grab ($eventtime[, $sync])
Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
#! perl
sub msg {
- my ($self, $msg1, $msg2) = @_;
+ my ($self, $msg) = @_;
- my $overlay = $self->overlay (0, 0,
- (List::Util::max map $self->strwidth ($_), $msg1, $msg2), 2);
- $overlay->set (0, 0, $msg1);
- $overlay->set (0, 1, $msg2);
+ my $overlay = $self->overlay (0, 0, $self->strwidth ($msg), 1);
+ $overlay->set (0, 0, $msg);
my $iow; $iow = urxvt::timer->new->start (urxvt::NOW + 1)->cb (sub {
undef $overlay;
undef $iow;
if ($orig ne $_) {
$self->selection ($_);
s/[\x00-\x1f\x80-\x9f]/ยท/g;
- $self->msg ("Selection replaced by", $_);
+ $self->msg ($self->special_encode ($_));
}
}
});
{
clear_rect (d, x, y, r->fwidth * len, r->fheight, bg);
- int base = ascent; // should be fbase, but that is incorrect
-
XGlyphInfo extents;
XftGlyphSpec *enc = (XftGlyphSpec *) get_enc_buf (len * sizeof (XftGlyphSpec));
XftGlyphSpec *ep = enc;
- // skip trailing spaces
+ // cut trailing spaces
while (len && text [len - 1] == ' ')
len--;
ep->glyph = gl;
ep->x = x + (cwidth - extents.xOff >> 1);
- ep->y = y + base;
+ ep->y = y + ascent;
ep++;
}