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.163 by ayin, Mon Dec 17 23:52:45 2007 UTC vs.
Revision 1.165 by root, Sat May 10 22:36:46 2008 UTC

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 {
1130 urxvt::anyevent:: 1130 urxvt::anyevent::
1131} 1131}
1132 1132
1133sub DESTROY { 1133sub DESTROY {
1134 $_[0][1]->stop; 1134 $_[0][1]->stop;
1135}
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} 1135}
1150 1136
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}
1954 my $env = $self->{term}->env; 1940 my $env = $self->{term}->env;
1955 # we can't hope to reproduce the locale algorithm, so nuke LC_ALL and set LC_CTYPE. 1941 # we can't hope to reproduce the locale algorithm, so nuke LC_ALL and set LC_CTYPE.
1956 delete $env->{LC_ALL}; 1942 delete $env->{LC_ALL};
1957 $env->{LC_CTYPE} = $self->{term}->locale; 1943 $env->{LC_CTYPE} = $self->{term}->locale;
1958 1944
1959 urxvt::term->new ($env, "popup", 1945 my $term = urxvt::term->new (
1946 $env, "popup",
1960 "--perl-lib" => "", "--perl-ext-common" => "", 1947 "--perl-lib" => "", "--perl-ext-common" => "",
1961 "-pty-fd" => -1, "-sl" => 0, 1948 "-pty-fd" => -1, "-sl" => 0,
1962 "-b" => 1, "-bd" => "grey80", "-bl", "-override-redirect", 1949 "-b" => 1, "-bd" => "grey80", "-bl", "-override-redirect",
1963 "--transient-for" => $self->{term}->parent, 1950 "--transient-for" => $self->{term}->parent,
1964 "-display" => $self->{term}->display_id, 1951 "-display" => $self->{term}->display_id,
1965 "-pe" => "urxvt-popup") 1952 "-pe" => "urxvt-popup",
1966 or die "unable to create popup window\n"; 1953 ) or die "unable to create popup window\n";
1954
1955 unless (delete $term->{urxvt_popup_init_done}) {
1956 $term->ungrab;
1957 $term->destroy;
1958 die "unable to initialise popup window\n";
1959 }
1967} 1960}
1968 1961
1969sub DESTROY { 1962sub DESTROY {
1970 my ($self) = @_; 1963 my ($self) = @_;
1971 1964

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines