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.154 by root, Sat Jun 2 06:43:02 2007 UTC vs.
Revision 1.159 by root, Sun Nov 11 04:08:00 2007 UTC

101 101
102Other extensions can extend this popup menu by pushing a code reference 102Other extensions can extend this popup menu by pushing a code reference
103onto C<@{ $term->{option_popup_hook} }>, which gets called whenever the 103onto C<@{ $term->{option_popup_hook} }>, which gets called whenever the
104popup is being displayed. 104popup is being displayed.
105 105
106It's sole argument is the popup menu, which can be modified. It should 106Its sole argument is the popup menu, which can be modified. It should
107either return nothing or a string, the initial boolean value and a code 107either return nothing or a string, the initial boolean value and a code
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
124 124
125Other extensions can extend this popup menu by pushing a code reference 125Other extensions can extend this popup menu by pushing a code reference
126onto C<@{ $term->{selection_popup_hook} }>, which gets called whenever the 126onto C<@{ $term->{selection_popup_hook} }>, which gets called whenever the
127popup is being displayed. 127popup is being displayed.
128 128
129It's sole argument is the popup menu, which can be modified. The selection 129Its sole argument is the popup menu, which can be modified. The selection
130is in C<$_>, which can be used to decide whether to add something or not. 130is in C<$_>, which can be used to decide whether to add something or not.
131It should either return nothing or a string and a code reference. The 131It should either return nothing or a string and a code reference. The
132string will be used as button text and the code reference will be called 132string will be used as button text and the code reference will be called
133when the button gets activated and should transform C<$_>. 133when the button gets activated and should transform C<$_>.
134 134
135The following will add an entry C<a to b> that transforms all C<a>s in 135The following will add an entry C<a to b> that transforms all C<a>s in
136the selection to C<b>s, but only if the selection currently contains any 136the selection to C<b>s, but only if the selection currently contains any
137C<a>s: 137C<a>s:
138 138
139 push @{ $self->{term}{selection_popup_hook} }, sub { 139 push @{ $self->{term}{selection_popup_hook} }, sub {
140 /a/ ? ("a to be" => sub { s/a/b/g } 140 /a/ ? ("a to b" => sub { s/a/b/g }
141 : () 141 : ()
142 }; 142 };
143 143
144=item searchable-scrollback<hotkey> (enabled by default) 144=item searchable-scrollback<hotkey> (enabled by default)
145 145
152search. C<BackSpace> removes a character from the regex, C<Up> and C<Down> 152search. C<BackSpace> removes a character from the regex, C<Up> and C<Down>
153search upwards/downwards in the scrollback buffer, C<End> jumps to the 153search upwards/downwards in the scrollback buffer, C<End> jumps to the
154bottom. C<Escape> leaves search mode and returns to the point where search 154bottom. C<Escape> leaves search mode and returns to the point where search
155was started, while C<Enter> or C<Return> stay at the current position and 155was started, while C<Enter> or C<Return> stay at the current position and
156additionally stores the first match in the current line into the primary 156additionally stores the first match in the current line into the primary
157selection. 157selection if the C<Shift> modifier is active.
158 158
159The regex defaults to "(?i)", resulting in a case-insensitive search. To 159The regex defaults to "(?i)", resulting in a case-insensitive search. To
160get a case-sensitive search you can delete this prefix using C<BackSpace> 160get a case-sensitive search you can delete this prefix using C<BackSpace>
161or simply use an uppercase character which removes the "(?i)" prefix. 161or simply use an uppercase character which removes the "(?i)" prefix.
162 162
259The default pattern to match URLs can be overridden with the 259The default pattern to match URLs can be overridden with the
260C<matcher.pattern.0> resource, and additional patterns can be specified 260C<matcher.pattern.0> resource, and additional patterns can be specified
261with numbered patterns, in a manner similar to the "selection" extension. 261with numbered patterns, in a manner similar to the "selection" extension.
262The launcher can also be overridden on a per-pattern basis. 262The launcher can also be overridden on a per-pattern basis.
263 263
264It is possible to activate the most recently seen match from the keyboard.
265Simply bind a keysym to "perl:matcher" as seen in the example below.
266
264Example configuration: 267Example configuration:
265 268
266 URxvt.perl-ext: default,matcher 269 URxvt.perl-ext: default,matcher
267 URxvt.urlLauncher: sensible-browser 270 URxvt.urlLauncher: sensible-browser
268 URxvt.keysym.C-Delete: perl:matcher 271 URxvt.keysym.C-Delete: perl:matcher
273 276
274=item xim-onthespot 277=item xim-onthespot
275 278
276This (experimental) perl extension implements OnTheSpot editing. It does 279This (experimental) perl extension implements OnTheSpot editing. It does
277not work perfectly, and some input methods don't seem to work well with 280not work perfectly, and some input methods don't seem to work well with
278OnTheSpot editing in general, but it seems to work at leats for SCIM and 281OnTheSpot editing in general, but it seems to work at least for SCIM and
279kinput2. 282kinput2.
280 283
281You enable it by specifying this extension and a preedit style of 284You enable it by specifying this extension and a preedit style of
282C<OnTheSpot>, i.e.: 285C<OnTheSpot>, i.e.:
283 286
291will show or hide itself. Another press of the accelerator key will hide 294will show or hide itself. Another press of the accelerator key will hide
292or show it again. 295or show it again.
293 296
294Initially, the window will not be shown when using this extension. 297Initially, the window will not be shown when using this extension.
295 298
296This is useful if you need a single terminal thats not using any desktop 299This is useful if you need a single terminal that is not using any desktop
297space most of the time but is quickly available at the press of a key. 300space most of the time but is quickly available at the press of a key.
298 301
299The accelerator key is grabbed regardless of any modifiers, so this 302The accelerator key is grabbed regardless of any modifiers, so this
300extension will actually grab a physical key just for this function. 303extension will actually grab a physical key just for this function.
301 304
326Displays a digital clock using the built-in overlay. 329Displays a digital clock using the built-in overlay.
327 330
328=item remote-clipboard 331=item remote-clipboard
329 332
330Somewhat of a misnomer, this extension adds two menu entries to the 333Somewhat of a misnomer, this extension adds two menu entries to the
331selection popup that allows one ti run external commands to store the 334selection popup that allows one to run external commands to store the
332selection somewhere and fetch it again. 335selection somewhere and fetch it again.
333 336
334We use it to implement a "distributed selection mechanism", which just 337We use it to implement a "distributed selection mechanism", which just
335means that one command uploads the file to a remote server, and another 338means that one command uploads the file to a remote server, and another
336reads it. 339reads it.
925 local $TERM = shift; 928 local $TERM = shift;
926 my $htype = shift; 929 my $htype = shift;
927 930
928 if ($htype == 0) { # INIT 931 if ($htype == 0) { # INIT
929 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl"); 932 my @dirs = ((split /:/, $TERM->resource ("perl_lib")), "$LIBDIR/perl");
930 933
931 my %ext_arg; 934 my %ext_arg;
932 935
933 { 936 {
934 my @init = @TERM_INIT; 937 my @init = @TERM_INIT;
935 @TERM_INIT = (); 938 @TERM_INIT = ();
1999 ->new 2002 ->new
2000 ->interval (1) 2003 ->interval (1)
2001 ->cb (sub { 2004 ->cb (sub {
2002 $term->{overlay}->set (0, 0, 2005 $term->{overlay}->set (0, 0,
2003 sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]); 2006 sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]);
2004 }); 2007 });
2005 2008
2006=over 4 2009=over 4
2007 2010
2008=item $timer = new urxvt::timer 2011=item $timer = new urxvt::timer
2009 2012
2052 2055
2053 $term->{socket} = ... 2056 $term->{socket} = ...
2054 $term->{iow} = urxvt::iow 2057 $term->{iow} = urxvt::iow
2055 ->new 2058 ->new
2056 ->fd (fileno $term->{socket}) 2059 ->fd (fileno $term->{socket})
2057 ->events (urxvt::EVENT_READ) 2060 ->events (urxvt::EV_READ)
2058 ->start 2061 ->start
2059 ->cb (sub { 2062 ->cb (sub {
2060 my ($iow, $revents) = @_; 2063 my ($iow, $revents) = @_;
2061 # $revents must be 1 here, no need to check 2064 # $revents must be 1 here, no need to check
2062 sysread $term->{socket}, my $buf, 8192 2065 sysread $term->{socket}, my $buf, 8192
2080Set the file descriptor (not handle) to watch. 2083Set the file descriptor (not handle) to watch.
2081 2084
2082=item $iow = $iow->events ($eventmask) 2085=item $iow = $iow->events ($eventmask)
2083 2086
2084Set the event mask to watch. The only allowed values are 2087Set the event mask to watch. The only allowed values are
2085C<urxvt::EVENT_READ> and C<urxvt::EVENT_WRITE>, which might be ORed 2088C<urxvt::EV_READ> and C<urxvt::EV_WRITE>, which might be ORed
2086together, or C<urxvt::EVENT_NONE>. 2089together, or C<urxvt::EV_NONE>.
2087 2090
2088=item $iow = $iow->start 2091=item $iow = $iow->start
2089 2092
2090Start watching for requested events on the given handle. 2093Start watching for requested events on the given handle.
2091 2094
2132 ->new 2135 ->new
2133 ->start ($pid) 2136 ->start ($pid)
2134 ->cb (sub { 2137 ->cb (sub {
2135 my ($pw, $exit_status) = @_; 2138 my ($pw, $exit_status) = @_;
2136 ... 2139 ...
2137 }); 2140 });
2138 2141
2139=over 4 2142=over 4
2140 2143
2141=item $pw = new urxvt::pw 2144=item $pw = new urxvt::pw
2142 2145

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines