*** empty log message ***
authorroot <root>
Mon, 9 Jan 2006 07:17:24 +0000 (07:17 +0000)
committerroot <root>
Mon, 9 Jan 2006 07:17:24 +0000 (07:17 +0000)
Changes
doc/rxvtperl.3.html
doc/rxvtperl.3.man.in
doc/rxvtperl.3.txt
src/perl/selection-popup
src/rxvtfont.C

diff --git a/Changes b/Changes
index f87b7b79d07accaed592a0ad9bb1e3e1b8f83db9..2ea48c39d4ff66c80130ac9fd68344b3e39848e6 100644 (file)
--- a/Changes
+++ b/Changes
@@ -10,7 +10,9 @@ WISH: just for fun, do shade and tint with XRender.
 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
index 8cd590b5631f8c0bd33aab59382ac0c9a4de604b..e9499e97fa766daa08fdb51a134eac837ef43f3e 100644 (file)
@@ -435,6 +435,14 @@ that calls this function.
 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>
@@ -951,7 +959,7 @@ Converts rxvt-unicodes text reprsentation into a perl string. See
 <dt><strong><a name="item_grab_button">$success = $term-&gt;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-&gt;grab ($eventtime[, $sync])</a></strong><br />
index 4feb99a77174e111b648284d64626900227d71c3..7fb87dd6d3ba4e45fb9d60821771691d0113be50 100644 (file)
@@ -449,6 +449,11 @@ that calls this function.
 .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).
@@ -876,7 +881,7 @@ Converts rxvt-unicodes text reprsentation into a perl string. See
 .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])"
index 83ee95c27349c887ba8d1862e16912b66b3fca12..1ecff56411fa30b4c21c9b8f4af61aeb1c639803 100644 (file)
@@ -274,6 +274,11 @@ DESCRIPTION
         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).
 
@@ -601,7 +606,7 @@ DESCRIPTION
         "$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
index 6fc3883c99a78f213c52fc43bd42a899429a4589..ce3fe5266b83cd6676c10e8cc21fd85c0a6e2017 100644 (file)
@@ -1,12 +1,10 @@
 #! 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;
@@ -47,7 +45,7 @@ sub on_button_press {
                if ($orig ne $_) {
                   $self->selection ($_);
                   s/[\x00-\x1f\x80-\x9f]/ยท/g;
-                  $self->msg ("Selection replaced by", $_);
+                  $self->msg ($self->special_encode ($_));
                }
             }
          });
index da846c3e0c15757729f25733a3344a1265191b5f..779340827f65ead498254d732b708c90ebf0fea6 100644 (file)
@@ -1273,13 +1273,11 @@ rxvt_font_xft::draw (rxvt_drawable &d, int x, int y,
 {
   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--;
 
@@ -1298,7 +1296,7 @@ rxvt_font_xft::draw (rxvt_drawable &d, int x, int y,
 
           ep->glyph = gl;
           ep->x = x + (cwidth - extents.xOff >> 1);
-          ep->y = y + base;
+          ep->y = y + ascent;
           ep++;
         }