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.162 by ayin, Mon Dec 17 16:57:57 2007 UTC vs.
Revision 1.170 by root, Tue Sep 23 07:03:13 2008 UTC

108reference. The string will be used as button text and the code reference 108reference. The string will be used as button text and the code reference
109will be called when the toggle changes, with the new boolean value as 109will be called when the toggle changes, with the new boolean value as
110first argument. 110first argument.
111 111
112The following will add an entry C<myoption> that changes 112The following will add an entry C<myoption> that changes
113C<$self->{myoption}>: 113C<< $self->{myoption} >>:
114 114
115 push @{ $self->{term}{option_popup_hook} }, sub { 115 push @{ $self->{term}{option_popup_hook} }, sub {
116 ("my option" => $myoption, sub { $self->{myoption} = $_[0] }) 116 ("my option" => $myoption, sub { $self->{myoption} = $_[0] })
117 }; 117 };
118 118
1091is that you cannot use blocking APIs, but the non-blocking variant should 1091is that you cannot use blocking APIs, but the non-blocking variant should
1092work. 1092work.
1093 1093
1094=cut 1094=cut
1095 1095
1096our $VERSION = 1; 1096our $VERSION = '3.4';
1097 1097
1098$INC{"urxvt/anyevent.pm"} = 1; # mark us as there 1098$INC{"urxvt/anyevent.pm"} = 1; # mark us as there
1099push @AnyEvent::REGISTRY, [urxvt => urxvt::anyevent::]; 1099push @AnyEvent::REGISTRY, [urxvt => urxvt::anyevent::];
1100 1100
1101sub timer { 1101sub timer {
1132 1132
1133sub DESTROY { 1133sub DESTROY {
1134 $_[0][1]->stop; 1134 $_[0][1]->stop;
1135} 1135}
1136 1136
1137sub condvar {
1138 bless \my $flag, urxvt::anyevent::
1139}
1140
1141sub broadcast {
1142 ${$_[0]}++;
1143}
1144
1145sub wait {
1146 unless (${$_[0]}) {
1147 Carp::croak "AnyEvent->condvar blocking wait unsupported in urxvt, use a non-blocking API";
1148 }
1149}
1150
1151sub one_event { 1137sub one_event {
1152 Carp::croak "AnyEvent->one_event blocking wait unsupported in urxvt, use a non-blocking API"; 1138 Carp::croak "AnyEvent->one_event blocking wait unsupported in urxvt, use a non-blocking API";
1153} 1139}
1154 1140
1155package urxvt::term; 1141package urxvt::term;
1276Here is a likely non-exhaustive list of resource names, not all of which 1262Here is a likely non-exhaustive list of resource names, not all of which
1277are supported in every build, please see the source file F</src/rsinc.h> 1263are supported in every build, please see the source file F</src/rsinc.h>
1278to see the actual list: 1264to see the actual list:
1279 1265
1280 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 1266 answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
1281 borderLess color cursorBlink cursorUnderline cutchars delete_key 1267 borderLess chdir color cursorBlink cursorUnderline cutchars delete_key
1282 display_name embed ext_bwidth fade font geometry hold iconName 1268 display_name embed ext_bwidth fade font geometry hold iconName
1283 imFont imLocale inputMethod insecure int_bwidth intensityStyles 1269 imFont imLocale inputMethod insecure int_bwidth intensityStyles
1284 italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier 1270 italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
1285 mouseWheelScrollPage name override_redirect pastableTabs path perl_eval 1271 mouseWheelScrollPage name override_redirect pastableTabs path perl_eval
1286 perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay 1272 perl_ext_1 perl_ext_2 perl_lib pointerBlank pointerBlankDelay
1287 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar 1273 preeditType print_pipe pty_fd reverseVideo saveLines scrollBar
1288 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness 1274 scrollBar_align scrollBar_floating scrollBar_right scrollBar_thickness
1289 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle 1275 scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
1290 secondaryScreen secondaryScroll selectstyle shade term_name title 1276 secondaryScreen secondaryScroll shade term_name title
1291 transient_for transparent transparent_all tripleclickwords utmpInhibit 1277 transient_for transparent transparent_all tripleclickwords utmpInhibit
1292 visualBell 1278 visualBell
1293 1279
1294=cut 1280=cut
1295 1281
1296sub resource($$;$) { 1282sub resource($$;$) {
1297 my ($self, $name) = (shift, shift); 1283 my ($self, $name) = (shift, shift);
1298 unshift @_, $self, $name, ($name =~ s/\s*\+\s*(\d+)$// ? $1 : 0); 1284 unshift @_, $self, $name, ($name =~ s/\s*\+\s*(\d+)$// ? $1 : 0);
1299 &urxvt::term::_resource 1285 goto &urxvt::term::_resource
1300} 1286}
1301 1287
1302=item $value = $term->x_resource ($pattern) 1288=item $value = $term->x_resource ($pattern)
1303 1289
1304Returns the X-Resource for the given pattern, excluding the program or 1290Returns the X-Resource for the given pattern, excluding the program or
1611 1597
1612Used after changing terminal contents to display them. 1598Used after changing terminal contents to display them.
1613 1599
1614=item $text = $term->ROW_t ($row_number[, $new_text[, $start_col]]) 1600=item $text = $term->ROW_t ($row_number[, $new_text[, $start_col]])
1615 1601
1616Returns the text of the entire row with number C<$row_number>. Row C<0> 1602Returns the text of the entire row with number C<$row_number>. Row C<< $term->top_row >>
1617is the topmost terminal line, row C<< $term->$ncol-1 >> is the bottommost 1603is the topmost terminal line, row C<< $term->nrow-1 >> is the bottommost
1618terminal line. The scrollback buffer starts at line C<-1> and extends to
1619line C<< -$term->nsaved >>. Nothing will be returned if a nonexistent line 1604terminal line. Nothing will be returned if a nonexistent line
1620is requested. 1605is requested.
1621 1606
1622If C<$new_text> is specified, it will replace characters in the current 1607If C<$new_text> is specified, it will replace characters in the current
1623line, starting at column C<$start_col> (default C<0>), which is useful 1608line, starting at column C<$start_col> (default C<0>), which is useful
1624to replace only parts of a line. The font index in the rendition will 1609to replace only parts of a line. The font index in the rendition will
1822 1807
1823=item @atoms = $term->XListProperties ($window) 1808=item @atoms = $term->XListProperties ($window)
1824 1809
1825=item ($type,$format,$octets) = $term->XGetWindowProperty ($window, $property) 1810=item ($type,$format,$octets) = $term->XGetWindowProperty ($window, $property)
1826 1811
1827=item $term->XChangeWindowProperty ($window, $property, $type, $format, $octets) 1812=item $term->XChangeProperty ($window, $property, $type, $format, $octets)
1828 1813
1829=item $term->XDeleteProperty ($window, $property) 1814=item $term->XDeleteProperty ($window, $property)
1830 1815
1831=item $window = $term->DefaultRootWindow 1816=item $window = $term->DefaultRootWindow
1832 1817
1954 my $env = $self->{term}->env; 1939 my $env = $self->{term}->env;
1955 # we can't hope to reproduce the locale algorithm, so nuke LC_ALL and set LC_CTYPE. 1940 # we can't hope to reproduce the locale algorithm, so nuke LC_ALL and set LC_CTYPE.
1956 delete $env->{LC_ALL}; 1941 delete $env->{LC_ALL};
1957 $env->{LC_CTYPE} = $self->{term}->locale; 1942 $env->{LC_CTYPE} = $self->{term}->locale;
1958 1943
1959 urxvt::term->new ($env, "popup", 1944 my $term = urxvt::term->new (
1945 $env, "popup",
1960 "--perl-lib" => "", "--perl-ext-common" => "", 1946 "--perl-lib" => "", "--perl-ext-common" => "",
1961 "-pty-fd" => -1, "-sl" => 0, 1947 "-pty-fd" => -1, "-sl" => 0,
1962 "-b" => 1, "-bd" => "grey80", "-bl", "-override-redirect", 1948 "-b" => 1, "-bd" => "grey80", "-bl", "-override-redirect",
1963 "--transient-for" => $self->{term}->parent, 1949 "--transient-for" => $self->{term}->parent,
1964 "-display" => $self->{term}->display_id, 1950 "-display" => $self->{term}->display_id,
1965 "-pe" => "urxvt-popup") 1951 "-pe" => "urxvt-popup",
1966 or die "unable to create popup window\n"; 1952 ) or die "unable to create popup window\n";
1953
1954 unless (delete $term->{urxvt_popup_init_done}) {
1955 $term->ungrab;
1956 $term->destroy;
1957 die "unable to initialise popup window\n";
1958 }
1967} 1959}
1968 1960
1969sub DESTROY { 1961sub DESTROY {
1970 my ($self) = @_; 1962 my ($self) = @_;
1971 1963

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines