<li><a href="#variables_in_the_urxvt_package">Variables in the <code>urxvt</code> Package</a></li>
<li><a href="#functions_in_the_urxvt_package">Functions in the <code>urxvt</code> Package</a></li>
<li><a href="#rendition">RENDITION</a></li>
+ <li><a href="#the_urxvt__anyevent_class">The <code>urxvt::anyevent</code> Class</a></li>
<li><a href="#the_urxvt__term_class">The <code>urxvt::term</code> Class</a></li>
<li><a href="#the_urxvt__popup_class">The <code>urxvt::popup</code> Class</a></li>
<li><a href="#the_urxvt__timer_class">The <code>urxvt::timer</code> Class</a></li>
<pre>
rxvt -pe <extensionname></pre>
<dl>
-<dt><strong><a name="item_selection">selection</a></strong><br />
+<dt><strong><a name="item_selection">selection (enabled by default)</a></strong><br />
</dt>
<dd>
Intelligent selection. This extension tries to be more intelligent when
URxvt.keysym.C-M-r: perl:selection:rot13</pre>
</dd>
<p></p></dl>
+<dt><strong><a name="item_popup">option-popup (enabled by default)</a></strong><br />
+</dt>
+<dd>
+Binds a popup menu to Ctrl-Button3 that lets you toggle (some) options at
+runtime.
+</dd>
+<p></p>
<dt><strong><a name="item_digital_2dclock">digital-clock</a></strong><br />
</dt>
<dd>
Button4Mask, Button5Mask, AnyModifier</a></strong><br />
</dt>
<dd>
-Various constants for use in X events.
+Various constants for use in X calls and event processing.
</dd>
<p></p></dl>
<p>
<p></p></dl>
<p>
</p>
+<h2><a name="the_urxvt__anyevent_class">The <code>urxvt::anyevent</code> Class</a></h2>
+<p>The sole purpose of this class is to deliver an interface to the
+<code>AnyEvent</code> module - any module using it will work inside urxvt without
+further work. The only exception is that you cannot wait on condition
+variables, but non-blocking condvar use is ok. What this means is that you
+cannot use blocking APIs, but the non-blocking variant should work.</p>
+<p>
+</p>
<h2><a name="the_urxvt__term_class">The <code>urxvt::term</code> Class</a></h2>
<dl>
<dt><strong><a name="item_destroy">$term->destroy</a></strong><br />
If hidden, display the overlay again.
</dd>
<p></p></dl>
-<dt><strong><a name="item_popup">$popup = $term->popup ($event)</a></strong><br />
+<dt><strong>$popup = $term->popup ($event)</strong><br />
</dt>
<dd>
Creates a new <code>urxvt::popup</code> object that implements a popup menu. The
.Vb 1
\& @@RXVT_NAME@@ -pe <extensionname>
.Ve
-.IP "selection" 4
-.IX Item "selection"
+.IP "selection (enabled by default)" 4
+.IX Item "selection (enabled by default)"
Intelligent selection. This extension tries to be more intelligent when
the user extends selections (double\-click). Right now, it tries to select
urls and complete shell-quoted arguments, which is very convenient, too,
.RE
.RS 4
.RE
+.IP "option-popup (enabled by default)" 4
+.IX Item "option-popup (enabled by default)"
+Binds a popup menu to Ctrl\-Button3 that lets you toggle (some) options at
+runtime.
.IP "digital-clock" 4
.IX Item "digital-clock"
Displays a digital clock using the built-in overlay.
.IP "urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask, AnyModifier" 4
.IX Item "urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask, Button5Mask, AnyModifier"
.PD
-Various constants for use in X events.
+Various constants for use in X calls and event processing.
.Sh "\s-1RENDITION\s0"
.IX Subsection "RENDITION"
Rendition bitsets contain information about colour, font, font styles and
.el .IP "$rend = urxvt::SET_CUSTOM ($rend, \f(CW$new_value\fR)" 4
.IX Item "$rend = urxvt::SET_CUSTOM ($rend, $new_value)"
Change the custom value.
+.ie n .Sh "The ""urxvt::anyevent"" Class"
+.el .Sh "The \f(CWurxvt::anyevent\fP Class"
+.IX Subsection "The urxvt::anyevent Class"
+The sole purpose of this class is to deliver an interface to the
+\&\f(CW\*(C`AnyEvent\*(C'\fR module \- any module using it will work inside urxvt without
+further work. The only exception is that you cannot wait on condition
+variables, but non-blocking condvar use is ok. What this means is that you
+cannot use blocking APIs, but the non-blocking variant should work.
.ie n .Sh "The ""urxvt::term"" Class"
.el .Sh "The \f(CWurxvt::term\fP Class"
.IX Subsection "The urxvt::term Class"
rxvt -pe <extensionname>
- selection
+ selection (enabled by default)
Intelligent selection. This extension tries to be more intelligent
when the user extends selections (double-click). Right now, it tries
to select urls and complete shell-quoted arguments, which is very
URxvt.keysym.C-M-r: perl:selection:rot13
+ option-popup (enabled by default)
+ Binds a popup menu to Ctrl-Button3 that lets you toggle (some)
+ options at runtime.
+
digital-clock
Displays a digital clock using the built-in overlay.
urxvt::ShiftMask, LockMask, ControlMask, Mod1Mask, Mod2Mask, Mod3Mask,
Mod4Mask, Mod5Mask, Button1Mask, Button2Mask, Button3Mask, Button4Mask,
Button5Mask, AnyModifier
- Various constants for use in X events.
+ Various constants for use in X calls and event processing.
RENDITION
Rendition bitsets contain information about colour, font, font styles
$rend = urxvt::SET_CUSTOM ($rend, $new_value)
Change the custom value.
+ The "urxvt::anyevent" Class
+ The sole purpose of this class is to deliver an interface to the
+ "AnyEvent" module - any module using it will work inside urxvt without
+ further work. The only exception is that you cannot wait on condition
+ variables, but non-blocking condvar use is ok. What this means is that
+ you cannot use blocking APIs, but the non-blocking variant should work.
+
The "urxvt::term" Class
$term->destroy
Destroy the terminal object (close the window, free resources etc.).
if (SHOULD_INVOKE (HOOK_LINE_UPDATE))
{
int row = -view_start;
+ int end_row = row + nrow;
while (row > -nsaved && ROW (row - 1).is_longer ())
--row;
- while (row < -view_start + nrow)
+ do
{
int start_row = row;
line_t *l;
do
{
- l = &ROW (row);
+ l = &ROW (row++);
if (!(l->f & LINE_FILTERED))
{
l->f |= LINE_FILTERED;
while (l->is_longer ())
{
- l = &ROW (++row);
+ l = &ROW (row++);
l->f |= LINE_FILTERED;
}
break;
}
}
- while (l->is_longer ());
-
- row++;
+ while (l->is_longer () && row < end_row);
}
-
+ while (++row < end_row);
}
scr_refresh (refresh_type);
rxvt_term::scr_blank_screen_mem (line_t &l, rend_t efs)
{
scr_blank_line (l, 0, ncol, efs);
+
+ l.l = 0;
+ l.f = 0;
}
/* ------------------------------------------------------------------------- *
}
for (int i = count; i--; )
- {
- ROW(row2 - i).l = 0;
- scr_blank_screen_mem (ROW(row2 - i), rstyle);
- }
+ scr_blank_screen_mem (ROW(row2 - i), rstyle);
if (OPTION (Opt_scrollWithBuffer)
&& view_start != 0
for (; num--; row++)
{
- line_t &l = ROW(row);
- l.l = 0;
- l.is_longer (0);
- scr_blank_screen_mem (l, rstyle);
+ scr_blank_screen_mem (ROW(row), rstyle);
scr_blank_line (drawn_buf [row], 0, ncol, ren);
}
}