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.149 by root, Sun Dec 3 23:03:52 2006 UTC vs.
Revision 1.154 by root, Sat Jun 2 06:43:02 2007 UTC

25Scripts are compiled in a 'use strict' and 'use utf8' environment, and 25Scripts are compiled in a 'use strict' and 'use utf8' environment, and
26thus must be encoded as UTF-8. 26thus must be encoded as UTF-8.
27 27
28Each script will only ever be loaded once, even in @@RXVT_NAME@@d, where 28Each script will only ever be loaded once, even in @@RXVT_NAME@@d, where
29scripts will be shared (but not enabled) for all terminals. 29scripts will be shared (but not enabled) for all terminals.
30
31You can disable the embedded perl interpreter by setting both "perl-ext"
32and "perl-ext-common" resources to the empty string.
30 33
31=head1 PREPACKAGED EXTENSIONS 34=head1 PREPACKAGED EXTENSIONS
32 35
33This section describes the extensions delivered with this release. You can 36This section describes the extensions delivered with this release. You can
34find them in F<@@RXVT_LIBDIR@@/urxvt/perl/>. 37find them in F<@@RXVT_LIBDIR@@/urxvt/perl/>.
260 263
261Example configuration: 264Example configuration:
262 265
263 URxvt.perl-ext: default,matcher 266 URxvt.perl-ext: default,matcher
264 URxvt.urlLauncher: sensible-browser 267 URxvt.urlLauncher: sensible-browser
268 URxvt.keysym.C-Delete: perl:matcher
265 URxvt.matcher.button: 1 269 URxvt.matcher.button: 1
266 URxvt.matcher.pattern.1: \\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-] 270 URxvt.matcher.pattern.1: \\bwww\\.[\\w-]+\\.[\\w./?&@#-]*[\\w/-]
267 URxvt.matcher.pattern.2: \\B(/\\S+?):(\\d+)(?=:|$) 271 URxvt.matcher.pattern.2: \\B(/\\S+?):(\\d+)(?=:|$)
268 URxvt.matcher.launcher.2: gvim +$2 $1 272 URxvt.matcher.launcher.2: gvim +$2 $1
269 273
304background pixmap offset to the window position, in effect creating the 308background pixmap offset to the window position, in effect creating the
305same effect as pseudo transparency with a custom pixmap. No scaling is 309same effect as pseudo transparency with a custom pixmap. No scaling is
306supported in this mode. Example: 310supported in this mode. Example:
307 311
308 @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background 312 @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background
313
314L<http://wiki.archlinux.org/index.php/Perl_Background_Rotation/Extensions>
315shows how this extension can be used to implement an automatically blurred
316transparent background.
309 317
310=item block-graphics-to-ascii 318=item block-graphics-to-ascii
311 319
312A not very useful example of filtering all text output to the terminal 320A not very useful example of filtering all text output to the terminal
313by replacing all line-drawing characters (U+2500 .. U+259F) by a 321by replacing all line-drawing characters (U+2500 .. U+259F) by a
990 998
991sub SET_COLOR($$$) { 999sub SET_COLOR($$$) {
992 SET_BGCOLOR (SET_FGCOLOR ($_[0], $_[1]), $_[2]) 1000 SET_BGCOLOR (SET_FGCOLOR ($_[0], $_[1]), $_[2])
993} 1001}
994 1002
1003sub rend2mask {
1004 no strict 'refs';
1005 my ($str, $mask) = (@_, 0);
1006 my %color = ( fg => undef, bg => undef );
1007 my @failed;
1008 for my $spec ( split /\s+/, $str ) {
1009 if ( $spec =~ /^([fb]g)[_:-]?(\d+)/i ) {
1010 $color{lc($1)} = $2;
1011 } else {
1012 my $neg = $spec =~ s/^[-^]//;
1013 unless ( exists &{"RS_$spec"} ) {
1014 push @failed, $spec;
1015 next;
1016 }
1017 my $cur = &{"RS_$spec"};
1018 if ( $neg ) {
1019 $mask &= ~$cur;
1020 } else {
1021 $mask |= $cur;
1022 }
1023 }
1024 }
1025 ($mask, @color{qw(fg bg)}, \@failed)
1026}
1027
995# urxvt::term::extension 1028# urxvt::term::extension
996 1029
997package urxvt::term::extension; 1030package urxvt::term::extension;
998 1031
999sub enable { 1032sub enable {
1110sub DESTROY { 1143sub DESTROY {
1111 $_[0][1]->stop; 1144 $_[0][1]->stop;
1112} 1145}
1113 1146
1114sub condvar { 1147sub condvar {
1115 bless \my $flag, urxvt::anyevent::condvar:: 1148 bless \my $flag, urxvt::anyevent::
1116} 1149}
1117 1150
1118sub urxvt::anyevent::condvar::broadcast { 1151sub broadcast {
1119 ${$_[0]}++; 1152 ${$_[0]}++;
1120} 1153}
1121 1154
1122sub urxvt::anyevent::condvar::wait { 1155sub wait {
1123 unless (${$_[0]}) { 1156 unless (${$_[0]}) {
1124 Carp::croak "AnyEvent->condvar blocking wait unsupported in urxvt, use a non-blocking API"; 1157 Carp::croak "AnyEvent->condvar blocking wait unsupported in urxvt, use a non-blocking API";
1125 } 1158 }
1126} 1159}
1127 1160
1128sub urxvt::anyevent::one_event { 1161sub one_event {
1129 Carp::croak "AnyEvent->one_event blocking wait unsupported in urxvt, use a non-blocking API"; 1162 Carp::croak "AnyEvent->one_event blocking wait unsupported in urxvt, use a non-blocking API";
1130} 1163}
1131 1164
1132package urxvt::term; 1165package urxvt::term;
1133 1166
1954 1987
1955=cut 1988=cut
1956 1989
1957package urxvt::watcher; 1990package urxvt::watcher;
1958 1991
1959@urxvt::timer::ISA = __PACKAGE__;
1960@urxvt::iow::ISA = __PACKAGE__;
1961@urxvt::pw::ISA = __PACKAGE__;
1962@urxvt::iw::ISA = __PACKAGE__;
1963
1964=head2 The C<urxvt::timer> Class 1992=head2 The C<urxvt::timer> Class
1965 1993
1966This class implements timer watchers/events. Time is represented as a 1994This class implements timer watchers/events. Time is represented as a
1967fractional number of seconds since the epoch. Example: 1995fractional number of seconds since the epoch. Example:
1968 1996
2153 http://software.schmorp.de/pkg/rxvt-unicode 2181 http://software.schmorp.de/pkg/rxvt-unicode
2154 2182
2155=cut 2183=cut
2156 2184
21571 21851
2186
2187# vim: sw=3:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines