ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/urxvt.pm
(Generate patch)

Comparing rxvt-unicode/src/urxvt.pm (file contents):
Revision 1.174 by root, Sat May 30 08:47:07 2009 UTC vs.
Revision 1.179 by root, Sat Dec 26 09:23:53 2009 UTC

1124is that you cannot use blocking APIs, but the non-blocking variant should 1124is that you cannot use blocking APIs, but the non-blocking variant should
1125work. 1125work.
1126 1126
1127=cut 1127=cut
1128 1128
1129our $VERSION = '3.4'; 1129our $VERSION = '5.23';
1130 1130
1131$INC{"urxvt/anyevent.pm"} = 1; # mark us as there 1131$INC{"urxvt/anyevent.pm"} = 1; # mark us as there
1132push @AnyEvent::REGISTRY, [urxvt => urxvt::anyevent::]; 1132push @AnyEvent::REGISTRY, [urxvt => urxvt::anyevent::];
1133 1133
1134sub timer { 1134sub timer {
1136 1136
1137 my $cb = $arg{cb}; 1137 my $cb = $arg{cb};
1138 1138
1139 urxvt::timer 1139 urxvt::timer
1140 ->new 1140 ->new
1141 ->start (urxvt::NOW + $arg{after}) 1141 ->after ($arg{after}, $arg{interval})
1142 ->cb (sub { 1142 ->cb ($arg{interval} ? $cb : sub {
1143 $_[0]->stop; # need to cancel manually 1143 $_[0]->stop; # need to cancel manually
1144 $cb->(); 1144 $cb->();
1145 }) 1145 })
1146} 1146}
1147 1147
1148sub io { 1148sub io {
1149 my ($class, %arg) = @_; 1149 my ($class, %arg) = @_;
1150 1150
1151 my $cb = $arg{cb}; 1151 my $cb = $arg{cb};
1152 my $fd = fileno $arg{fh};
1153 defined $fd or $fd = $arg{fh};
1152 1154
1153 bless [$arg{fh}, urxvt::iow 1155 bless [$arg{fh}, urxvt::iow
1154 ->new 1156 ->new
1155 ->fd (fileno $arg{fh}) 1157 ->fd ($fd)
1156 ->events (($arg{poll} =~ /r/ ? 1 : 0) 1158 ->events (($arg{poll} =~ /r/ ? 1 : 0)
1157 | ($arg{poll} =~ /w/ ? 2 : 0)) 1159 | ($arg{poll} =~ /w/ ? 2 : 0))
1158 ->start 1160 ->start
1159 ->cb (sub { 1161 ->cb ($cb)
1160 $cb->(($_[1] & 1 ? 'r' : '')
1161 . ($_[1] & 2 ? 'w' : ''));
1162 })],
1163 urxvt::anyevent:: 1162 ], urxvt::anyevent::
1163}
1164
1165sub idle {
1166 my ($class, %arg) = @_;
1167
1168 my $cb = $arg{cb};
1169
1170 urxvt::iw
1171 ->new
1172 ->start
1173 ->cb ($cb)
1174}
1175
1176sub child {
1177 my ($class, %arg) = @_;
1178
1179 my $cb = $arg{cb};
1180
1181 urxvt::pw
1182 ->new
1183 ->start ($arg{pid})
1184 ->cb (sub {
1185 $_[0]->stop; # need to cancel manually
1186 $cb->($_[0]->rpid, $_[0]->rstatus);
1187 })
1164} 1188}
1165 1189
1166sub DESTROY { 1190sub DESTROY {
1167 $_[0][1]->stop; 1191 $_[0][1]->stop;
1168} 1192}
1298 1322
1299 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 1323 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
1300 borderLess chdir color cursorBlink cursorUnderline cutchars delete_key 1324 borderLess chdir color cursorBlink cursorUnderline cutchars delete_key
1301 display_name embed ext_bwidth fade font geometry hold iconName 1325 display_name embed ext_bwidth fade font geometry hold iconName
1302 imFont imLocale inputMethod insecure int_bwidth intensityStyles 1326 imFont imLocale inputMethod insecure int_bwidth intensityStyles
1303 italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier 1327 italicFont jumpScroll lineSpace letterSpace loginShell mapAlert meta8
1304 mouseWheelScrollPage name override_redirect pastableTabs path perl_eval 1328 modifier mouseWheelScrollPage name override_redirect pastableTabs path
1305 perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay 1329 perl_eval perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
1306 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar 1330 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
1307 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness 1331 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
1308 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle 1332 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
1309 secondaryScreen secondaryScroll shade term_name title 1333 secondaryScreen secondaryScroll shade term_name title
1310 transient_for transparent transparent_all tripleclickwords utmpInhibit 1334 transient_for transparent transparent_all tripleclickwords utmpInhibit
2029 2053
2030=item $timer = $timer->cb (sub { my ($timer) = @_; ... }) 2054=item $timer = $timer->cb (sub { my ($timer) = @_; ... })
2031 2055
2032Set the callback to be called when the timer triggers. 2056Set the callback to be called when the timer triggers.
2033 2057
2034=item $tstamp = $timer->at
2035
2036Return the time this watcher will fire next.
2037
2038=item $timer = $timer->set ($tstamp) 2058=item $timer = $timer->set ($tstamp[, $interval])
2039 2059
2040Set the time the event is generated to $tstamp. 2060Set the time the event is generated to $tstamp (and optionally specifies a
2061new $interval).
2041 2062
2042=item $timer = $timer->interval ($interval) 2063=item $timer = $timer->interval ($interval)
2043 2064
2044Normally (and when C<$interval> is C<0>), the timer will automatically 2065By default (and when C<$interval> is C<0>), the timer will automatically
2045stop after it has fired once. If C<$interval> is non-zero, then the timer 2066stop after it has fired once. If C<$interval> is non-zero, then the timer
2046is automatically rescheduled at the given intervals. 2067is automatically rescheduled at the given intervals.
2047 2068
2048=item $timer = $timer->start 2069=item $timer = $timer->start
2049 2070
2050Start the timer. 2071Start the timer.
2051 2072
2052=item $timer = $timer->start ($tstamp) 2073=item $timer = $timer->start ($tstamp[, $interval])
2053 2074
2054Set the event trigger time to C<$tstamp> and start the timer. 2075Set the event trigger time to C<$tstamp> and start the timer. Optionally
2076also replaces the interval.
2055 2077
2056=item $timer = $timer->after ($delay) 2078=item $timer = $timer->after ($delay[, $interval])
2057 2079
2058Like C<start>, but sets the expiry timer to c<urxvt::NOW + $delay>. 2080Like C<start>, but sets the expiry timer to c<urxvt::NOW + $delay>.
2059 2081
2060=item $timer = $timer->stop 2082=item $timer = $timer->stop
2061 2083

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines