ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvtperl.3.man.in
(Generate patch)

Comparing rxvt-unicode/doc/rxvtperl.3.man.in (file contents):
Revision 1.49 by root, Mon Aug 7 16:17:30 2006 UTC vs.
Revision 1.50 by root, Thu Nov 2 17:37:47 2006 UTC

1.\" Automatically generated by Pod::Man 2.09 (Pod::Simple 3.04) 1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\" 2.\"
3.\" Standard preamble: 3.\" Standard preamble:
4.\" ======================================================================== 4.\" ========================================================================
5.de Sh \" Subsection heading 5.de Sh \" Subsection heading
6.br 6.br
127.\} 127.\}
128.rm #[ #] #H #V #F C 128.rm #[ #] #H #V #F C
129.\" ======================================================================== 129.\" ========================================================================
130.\" 130.\"
131.IX Title "@@RXVT_NAME@@ 3" 131.IX Title "@@RXVT_NAME@@ 3"
132.TH @@RXVT_NAME@@ 3 "2006-08-07" "7.9" "RXVT-UNICODE" 132.TH @@RXVT_NAME@@ 3 "2006-11-02" "8.0" "RXVT-UNICODE"
133.SH "NAME" 133.SH "NAME"
134@@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter 134@@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter
135.SH "SYNOPSIS" 135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS" 136.IX Header "SYNOPSIS"
137.Vb 1 137.Vb 1
138\& # create a file grab_test in $HOME: 138\& # create a file grab_test in $HOME:
139\& 139.Ve
140.PP
141.Vb 4
140\& sub on_sel_grab { 142\& sub on_sel_grab {
141\& warn "you selected ", $_[0]\->selection; 143\& warn "you selected ", $_[0]->selection;
142\& () 144\& ()
143\& } 145\& }
144\& 146.Ve
147.PP
148.Vb 1
145\& # start a @@RXVT_NAME@@ using it: 149\& # start a @@RXVT_NAME@@ using it:
146\& 150.Ve
151.PP
152.Vb 1
147\& @@RXVT_NAME@@ \-\-perl\-lib $HOME \-pe grab_test 153\& @@RXVT_NAME@@ --perl-lib $HOME -pe grab_test
148.Ve 154.Ve
149.SH "DESCRIPTION" 155.SH "DESCRIPTION"
150.IX Header "DESCRIPTION" 156.IX Header "DESCRIPTION"
151Every time a terminal object gets created, extension scripts specified via 157Every time a terminal object gets created, extension scripts specified via
152the \f(CW\*(C`perl\*(C'\fR resource are loaded and associated with it. 158the \f(CW\*(C`perl\*(C'\fR resource are loaded and associated with it.
162find them in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR. 168find them in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR.
163.PP 169.PP
164You can activate them like this: 170You can activate them like this:
165.PP 171.PP
166.Vb 1 172.Vb 1
167\& @@RXVT_NAME@@ \-pe <extensionname> 173\& @@RXVT_NAME@@ -pe <extensionname>
168.Ve 174.Ve
169.PP 175.PP
170Or by adding them to the resource for extensions loaded by default: 176Or by adding them to the resource for extensions loaded by default:
171.PP 177.PP
172.Vb 1 178.Vb 1
173\& URxvt.perl\-ext\-common: default,automove\-background,selection\-autotransform 179\& URxvt.perl-ext-common: default,automove-background,selection-autotransform
174.Ve 180.Ve
175.IP "selection (enabled by default)" 4 181.IP "selection (enabled by default)" 4
176.IX Item "selection (enabled by default)" 182.IX Item "selection (enabled by default)"
177(More) intelligent selection. This extension tries to be more intelligent 183(More) intelligent selection. This extension tries to be more intelligent
178when the user extends selections (double\-click and further clicks). Right 184when the user extends selections (double\-click and further clicks). Right
186The selection works by trying to match a number of regexes and displaying 192The selection works by trying to match a number of regexes and displaying
187them in increasing order of length. You can add your own regexes by 193them in increasing order of length. You can add your own regexes by
188specifying resources of the form: 194specifying resources of the form:
189.Sp 195.Sp
190.Vb 3 196.Vb 3
191\& URxvt.selection.pattern\-0: perl\-regex 197\& URxvt.selection.pattern-0: perl-regex
192\& URxvt.selection.pattern\-1: perl\-regex 198\& URxvt.selection.pattern-1: perl-regex
193\& ... 199\& ...
194.Ve 200.Ve
195.Sp 201.Sp
196The index number (0, 1...) must not have any holes, and each regex must 202The index number (0, 1...) must not have any holes, and each regex must
197contain at least one pair of capturing parentheses, which will be used for 203contain at least one pair of capturing parentheses, which will be used for
198the match. For example, the following adds a regex that matches everything 204the match. For example, the following adds a regex that matches everything
199between two vertical bars: 205between two vertical bars:
200.Sp 206.Sp
201.Vb 1 207.Vb 1
202\& URxvt.selection.pattern\-0: \e\e|([^|]+)\e\e| 208\& URxvt.selection.pattern-0: \e\e|([^|]+)\e\e|
203.Ve 209.Ve
204.Sp 210.Sp
205Another example: Programs I use often output \*(L"absolute path: \*(R" at the 211Another example: Programs I use often output \*(L"absolute path: \*(R" at the
206beginning of a line when they process multiple files. The following 212beginning of a line when they process multiple files. The following
207pattern matches the filename (note, there is a single space at the very 213pattern matches the filename (note, there is a single space at the very
208end): 214end):
209.Sp 215.Sp
210.Vb 1 216.Vb 1
211\& URxvt.selection.pattern\-0: ^(/[^:]+):\e 217\& URxvt.selection.pattern-0: ^(/[^:]+):\e
212.Ve 218.Ve
213.Sp 219.Sp
214You can look at the source of the selection extension to see more 220You can look at the source of the selection extension to see more
215interesting uses, such as parsing a line from beginning to end. 221interesting uses, such as parsing a line from beginning to end.
216.Sp 222.Sp
219.IP "rot13" 4 225.IP "rot13" 4
220.IX Item "rot13" 226.IX Item "rot13"
221Rot\-13 the selection when activated. Used via keyboard trigger: 227Rot\-13 the selection when activated. Used via keyboard trigger:
222.Sp 228.Sp
223.Vb 1 229.Vb 1
224\& URxvt.keysym.C\-M\-r: perl:selection:rot13 230\& URxvt.keysym.C-M-r: perl:selection:rot13
225.Ve 231.Ve
226.RE 232.RE
227.RS 4 233.RS 4
228.RE 234.RE
229.IP "option-popup (enabled by default)" 4 235.IP "option-popup (enabled by default)" 4
243.Sp 249.Sp
244The following will add an entry \f(CW\*(C`myoption\*(C'\fR that changes 250The following will add an entry \f(CW\*(C`myoption\*(C'\fR that changes
245\&\f(CW\*(C`$self\-\*(C'\fR{myoption}>: 251\&\f(CW\*(C`$self\-\*(C'\fR{myoption}>:
246.Sp 252.Sp
247.Vb 3 253.Vb 3
248\& push @{ $self\->{term}{option_popup_hook} }, sub { 254\& push @{ $self->{term}{option_popup_hook} }, sub {
249\& ("my option" => $myoption, sub { $self\->{myoption} = $_[0] }) 255\& ("my option" => $myoption, sub { $self->{myoption} = $_[0] })
250\& }; 256\& };
251.Ve 257.Ve
252.IP "selection-popup (enabled by default)" 4 258.IP "selection-popup (enabled by default)" 4
253.IX Item "selection-popup (enabled by default)" 259.IX Item "selection-popup (enabled by default)"
254Binds a popup menu to Ctrl\-Button3 that lets you convert the selection 260Binds a popup menu to Ctrl\-Button3 that lets you convert the selection
268The following will add an entry \f(CW\*(C`a to b\*(C'\fR that transforms all \f(CW\*(C`a\*(C'\fRs in 274The following will add an entry \f(CW\*(C`a to b\*(C'\fR that transforms all \f(CW\*(C`a\*(C'\fRs in
269the selection to \f(CW\*(C`b\*(C'\fRs, but only if the selection currently contains any 275the selection to \f(CW\*(C`b\*(C'\fRs, but only if the selection currently contains any
270\&\f(CW\*(C`a\*(C'\fRs: 276\&\f(CW\*(C`a\*(C'\fRs:
271.Sp 277.Sp
272.Vb 4 278.Vb 4
273\& push @{ $self\->{term}{selection_popup_hook} }, sub { 279\& push @{ $self->{term}{selection_popup_hook} }, sub {
274\& /a/ ? ("a to be" => sub { s/a/b/g } 280\& /a/ ? ("a to be" => sub { s/a/b/g }
275\& : () 281\& : ()
276\& }; 282\& };
277.Ve 283.Ve
278.IP "searchable\-scrollback<hotkey> (enabled by default)" 4 284.IP "searchable\-scrollback<hotkey> (enabled by default)" 4
328.Sp 334.Sp
329It works by specifying perl snippets (most useful is a single \f(CW\*(C`s///\*(C'\fR 335It works by specifying perl snippets (most useful is a single \f(CW\*(C`s///\*(C'\fR
330operator) that modify \f(CW$_\fR as resources: 336operator) that modify \f(CW$_\fR as resources:
331.Sp 337.Sp
332.Vb 3 338.Vb 3
333\& URxvt.selection\-autotransform.0: transform 339\& URxvt.selection-autotransform.0: transform
334\& URxvt.selection\-autotransform.1: transform 340\& URxvt.selection-autotransform.1: transform
335\& ... 341\& ...
336.Ve 342.Ve
337.Sp 343.Sp
338For example, the following will transform selections of the form 344For example, the following will transform selections of the form
339\&\f(CW\*(C`filename:number\*(C'\fR, often seen in compiler messages, into \f(CW\*(C`vi +$filename 345\&\f(CW\*(C`filename:number\*(C'\fR, often seen in compiler messages, into \f(CW\*(C`vi +$filename
340$word\*(C'\fR: 346$word\*(C'\fR:
341.Sp 347.Sp
342.Vb 1 348.Vb 1
343\& URxvt.selection\-autotransform.0: s/^([^:[:space:]]+):(\e\ed+):?$/vi +$2 \e\eQ$1\e\eE\e\ex0d/ 349\& URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\e\ed+):?$/vi +$2 \e\eQ$1\e\eE\e\ex0d/
344.Ve 350.Ve
345.Sp 351.Sp
346And this example matches the same,but replaces it with vi-commands you can 352And this example matches the same,but replaces it with vi-commands you can
347paste directly into your (vi :) editor: 353paste directly into your (vi :) editor:
348.Sp 354.Sp
349.Vb 1 355.Vb 1
350\& URxvt.selection\-autotransform.0: s/^([^:[:space:]]+(\e\ed+):?$/:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/ 356\& URxvt.selection-autotransform.0: s/^([^:[:space:]]+(\e\ed+):?$/:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/
351.Ve 357.Ve
352.Sp 358.Sp
353Of course, this can be modified to suit your needs and your editor :) 359Of course, this can be modified to suit your needs and your editor :)
354.Sp 360.Sp
355To expand the example above to typical perl error messages (\*(L"\s-1XXX\s0 at 361To expand the example above to typical perl error messages (\*(L"\s-1XXX\s0 at
356\&\s-1FILENAME\s0 line \s-1YYY\s0.\*(R"), you need a slightly more elaborate solution: 362\&\s-1FILENAME\s0 line \s-1YYY\s0.\*(R"), you need a slightly more elaborate solution:
357.Sp 363.Sp
358.Vb 2 364.Vb 2
359\& URxvt.selection.pattern\-0: ( at .*? line \e\ed+[,.]) 365\& URxvt.selection.pattern-0: ( at .*? line \e\ed+[,.])
360\& URxvt.selection\-autotransform.0: s/^ at (.*?) line (\e\ed+)[,.]$/:e \e\eQ$1\eE\e\ex0d:$2\e\ex0d/ 366\& URxvt.selection-autotransform.0: s/^ at (.*?) line (\e\ed+)[,.]$/:e \e\eQ$1\eE\e\ex0d:$2\e\ex0d/
361.Ve 367.Ve
362.Sp 368.Sp
363The first line tells the selection code to treat the unchanging part of 369The first line tells the selection code to treat the unchanging part of
364every error message as a selection pattern, and the second line transforms 370every error message as a selection pattern, and the second line transforms
365the message into vi commands to load the file. 371the message into vi commands to load the file.
377The tabbar itself can be configured similarly to a normal terminal, but 383The tabbar itself can be configured similarly to a normal terminal, but
378with a resource class of \f(CW\*(C`URxvt.tabbed\*(C'\fR. In addition, it supports the 384with a resource class of \f(CW\*(C`URxvt.tabbed\*(C'\fR. In addition, it supports the
379following four resources (shown with defaults): 385following four resources (shown with defaults):
380.Sp 386.Sp
381.Vb 4 387.Vb 4
382\& URxvt.tabbed.tabbar\-fg: <colour\-index, default 3> 388\& URxvt.tabbed.tabbar-fg: <colour-index, default 3>
383\& URxvt.tabbed.tabbar\-bg: <colour\-index, default 0> 389\& URxvt.tabbed.tabbar-bg: <colour-index, default 0>
384\& URxvt.tabbed.tab\-fg: <colour\-index, default 0> 390\& URxvt.tabbed.tab-fg: <colour-index, default 0>
385\& URxvt.tabbed.tab\-bg: <colour\-index, default 1> 391\& URxvt.tabbed.tab-bg: <colour-index, default 1>
386.Ve 392.Ve
387.Sp 393.Sp
388See \fI\s-1COLOR\s0 \s-1AND\s0 \s-1GRAPHICS\s0\fR in the @@RXVT_NAME@@(1) manpage for valid 394See \fI\s-1COLOR\s0 \s-1AND\s0 \s-1GRAPHICS\s0\fR in the @@RXVT_NAME@@(1) manpage for valid
389indices. 395indices.
390.IP "mark-urls" 4 396.IP "matcher" 4
391.IX Item "mark-urls" 397.IX Item "matcher"
392Uses per-line display filtering (\f(CW\*(C`on_line_update\*(C'\fR) to underline urls and 398Uses per-line display filtering (\f(CW\*(C`on_line_update\*(C'\fR) to underline text
393make them clickable. When middle\-clicked, the program specified in the 399matching a certain pattern and make it clickable. When clicked with the
400mouse button specified in the \f(CW\*(C`matcher.button\*(C'\fR resource (default 2, or
401middle), the program specified in the \f(CW\*(C`matcher.launcher\*(C'\fR resource
394resource \f(CW\*(C`urlLauncher\*(C'\fR (default \f(CW\*(C`x\-www\-browser\*(C'\fR) will be started with 402(default, the \f(CW\*(C`urlLauncher\*(C'\fR resource, \f(CW\*(C`sensible\-browser\*(C'\fR) will be started
395the \s-1URL\s0 as first argument. 403with the matched text as first argument. The default configuration is
404suitable for matching URLs and launching a web browser, like the
405former \*(L"mark\-urls\*(R" extension.
406.Sp
407The default pattern to match URLs can be overridden with the
408\&\f(CW\*(C`matcher.pattern.0\*(C'\fR resource, and additional patterns can be specified
409with numbered patterns, in a manner similar to the \*(L"selection\*(R" extension.
410The launcher can also be overridden on a per-pattern basis.
411.Sp
412Example configuration:
413.Sp
414.Vb 6
415\& URxvt.perl-ext: default,matcher
416\& URxvt.urlLauncher: sensible-browser
417\& URxvt.matcher.button: 1
418\& URxvt.matcher.pattern.1: \e\ebwww\e\e.[\e\ew-]+\e\e.[\e\ew./?&@#-]*[\e\ew/-]
419\& URxvt.matcher.pattern.2: \e\eB(/\e\eS+?):(\e\ed+)(?=:|$)
420\& URxvt.matcher.launcher.2: gvim +$2 $1
421.Ve
396.IP "xim-onthespot" 4 422.IP "xim-onthespot" 4
397.IX Item "xim-onthespot" 423.IX Item "xim-onthespot"
398This (experimental) perl extension implements OnTheSpot editing. It does 424This (experimental) perl extension implements OnTheSpot editing. It does
399not work perfectly, and some input methods don't seem to work well with 425not work perfectly, and some input methods don't seem to work well with
400OnTheSpot editing in general, but it seems to work at leats for \s-1SCIM\s0 and 426OnTheSpot editing in general, but it seems to work at leats for \s-1SCIM\s0 and
402.Sp 428.Sp
403You enable it by specifying this extension and a preedit style of 429You enable it by specifying this extension and a preedit style of
404\&\f(CW\*(C`OnTheSpot\*(C'\fR, i.e.: 430\&\f(CW\*(C`OnTheSpot\*(C'\fR, i.e.:
405.Sp 431.Sp
406.Vb 1 432.Vb 1
407\& @@RXVT_NAME@@ \-pt OnTheSpot \-pe xim\-onthespot 433\& @@RXVT_NAME@@ -pt OnTheSpot -pe xim-onthespot
408.Ve 434.Ve
409.IP "kuake<hotkey>" 4 435.IP "kuake<hotkey>" 4
410.IX Item "kuake<hotkey>" 436.IX Item "kuake<hotkey>"
411A very primitive quake-console-like extension. It was inspired by a 437A very primitive quake-console-like extension. It was inspired by a
412description of how the programs \f(CW\*(C`kuake\*(C'\fR and \f(CW\*(C`yakuake\*(C'\fR work: Whenever the 438description of how the programs \f(CW\*(C`kuake\*(C'\fR and \f(CW\*(C`yakuake\*(C'\fR work: Whenever the
430background pixmap offset to the window position, in effect creating the 456background pixmap offset to the window position, in effect creating the
431same effect as pseudo transparency with a custom pixmap. No scaling is 457same effect as pseudo transparency with a custom pixmap. No scaling is
432supported in this mode. Example: 458supported in this mode. Example:
433.Sp 459.Sp
434.Vb 1 460.Vb 1
435\& @@RXVT_NAME@@ \-pixmap background.xpm \-pe automove\-background 461\& @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background
436.Ve 462.Ve
437.IP "block-graphics-to-ascii" 4 463.IP "block-graphics-to-ascii" 4
438.IX Item "block-graphics-to-ascii" 464.IX Item "block-graphics-to-ascii"
439A not very useful example of filtering all text output to the terminal 465A not very useful example of filtering all text output to the terminal
440by replacing all line-drawing characters (U+2500 .. U+259F) by a 466by replacing all line-drawing characters (U+2500 .. U+259F) by a
458the selection data on \s-1STDOUT\s0 (also in \s-1UTF\-8\s0). 484the selection data on \s-1STDOUT\s0 (also in \s-1UTF\-8\s0).
459.Sp 485.Sp
460The defaults (which are likely useless to you) use rsh and cat: 486The defaults (which are likely useless to you) use rsh and cat:
461.Sp 487.Sp
462.Vb 2 488.Vb 2
463\& URxvt.remote\-selection.store: rsh ruth 'cat >/tmp/distributed\-selection' 489\& URxvt.remote-selection.store: rsh ruth 'cat >/tmp/distributed-selection'
464\& URxvt.remote\-selection.fetch: rsh ruth 'cat /tmp/distributed\-selection' 490\& URxvt.remote-selection.fetch: rsh ruth 'cat /tmp/distributed-selection'
465.Ve 491.Ve
466.IP "selection-pastebin" 4 492.IP "selection-pastebin" 4
467.IX Item "selection-pastebin" 493.IX Item "selection-pastebin"
468This is a little rarely useful extension that Uploads the selection as 494This is a little rarely useful extension that Uploads the selection as
469textfile to a remote site (or does other things). (The implementation is 495textfile to a remote site (or does other things). (The implementation is
472.Sp 498.Sp
473It listens to the \f(CW\*(C`selection\-pastebin:remote\-pastebin\*(C'\fR keyboard command, 499It listens to the \f(CW\*(C`selection\-pastebin:remote\-pastebin\*(C'\fR keyboard command,
474i.e. 500i.e.
475.Sp 501.Sp
476.Vb 1 502.Vb 1
477\& URxvt.keysym.C\-M\-e: perl:selection\-pastebin:remote\-pastebin 503\& URxvt.keysym.C-M-e: perl:selection-pastebin:remote-pastebin
478.Ve 504.Ve
479.Sp 505.Sp
480Pressing this combination runs a command with \f(CW\*(C`%\*(C'\fR replaced by the name of 506Pressing this combination runs a command with \f(CW\*(C`%\*(C'\fR replaced by the name of
481the textfile. This command can be set via a resource: 507the textfile. This command can be set via a resource:
482.Sp 508.Sp
483.Vb 1 509.Vb 1
484\& URxvt.selection\-pastebin.cmd: rsync \-apP % ruth:/var/www/www.ta\-sa.org/files/txt/. 510\& URxvt.selection-pastebin.cmd: rsync -apP % ruth:/var/www/www.ta-sa.org/files/txt/.
485.Ve 511.Ve
486.Sp 512.Sp
487And the default is likely not useful to anybody but the few people around 513And the default is likely not useful to anybody but the few people around
488here :) 514here :)
489.Sp 515.Sp
493After a successful upload the selection will be replaced by the text given 519After a successful upload the selection will be replaced by the text given
494in the \f(CW\*(C`selection\-pastebin\-url\*(C'\fR resource (again, the % is the placeholder 520in the \f(CW\*(C`selection\-pastebin\-url\*(C'\fR resource (again, the % is the placeholder
495for the filename): 521for the filename):
496.Sp 522.Sp
497.Vb 1 523.Vb 1
498\& URxvt.selection\-pastebin.url: http://www.ta\-sa.org/files/txt/% 524\& URxvt.selection-pastebin.url: http://www.ta-sa.org/files/txt/%
499.Ve 525.Ve
526.Sp
527\&\fINote to xrdb users:\fR xrdb uses the C preprocessor, which might interpret
528the double \f(CW\*(C`/\*(C'\fR characters as comment start. Use \f(CW\*(C`\e057\e057\*(C'\fR instead,
529which works regardless of wether xrdb is used to parse the resource file
530or not.
500.IP "example-refresh-hooks" 4 531.IP "example-refresh-hooks" 4
501.IX Item "example-refresh-hooks" 532.IX Item "example-refresh-hooks"
502Displays a very simple digital clock in the upper right corner of the 533Displays a very simple digital clock in the upper right corner of the
503window. Illustrates overwriting the refresh callbacks to create your own 534window. Illustrates overwriting the refresh callbacks to create your own
504overlays or changes. 535overlays or changes.
517the like inside the terminal object so they get destroyed as soon as the 548the like inside the terminal object so they get destroyed as soon as the
518terminal is destroyed. 549terminal is destroyed.
519.PP 550.PP
520Argument names also often indicate the type of a parameter. Here are some 551Argument names also often indicate the type of a parameter. Here are some
521hints on what they mean: 552hints on what they mean:
522.ie n .IP "$text" 4 553.IP "$text" 4
523.el .IP "\f(CW$text\fR" 4
524.IX Item "$text" 554.IX Item "$text"
525Rxvt-unicodes special way of encoding text, where one \*(L"unicode\*(R" character 555Rxvt-unicodes special way of encoding text, where one \*(L"unicode\*(R" character
526always represents one screen cell. See ROW_t for a discussion of this format. 556always represents one screen cell. See ROW_t for a discussion of this format.
527.ie n .IP "$string" 4 557.IP "$string" 4
528.el .IP "\f(CW$string\fR" 4
529.IX Item "$string" 558.IX Item "$string"
530A perl text string, with an emphasis on \fItext\fR. It can store all unicode 559A perl text string, with an emphasis on \fItext\fR. It can store all unicode
531characters and is to be distinguished with text encoded in a specific 560characters and is to be distinguished with text encoded in a specific
532encoding (often locale\-specific) and binary data. 561encoding (often locale\-specific) and binary data.
533.ie n .IP "$octets" 4 562.IP "$octets" 4
534.el .IP "\f(CW$octets\fR" 4
535.IX Item "$octets" 563.IX Item "$octets"
536Either binary data or \- more common \- a text string encoded in a 564Either binary data or \- more common \- a text string encoded in a
537locale-specific way. 565locale-specific way.
538.Sh "Extension Objects" 566.Sh "Extension Objects"
539.IX Subsection "Extension Objects" 567.IX Subsection "Extension Objects"
540Every perl extension is a perl class. A separate perl object is created 568Every perl extension is a perl class. A separate perl object is created
541for each terminal and each extension and passed as the first parameter to 569for each terminal, and each terminal has its own set of extenion objects,
542hooks. So extensions can use their \f(CW$self\fR object without having to think 570which are passed as the first parameter to hooks. So extensions can use
543about other extensions, with the exception of methods and members that 571their \f(CW$self\fR object without having to think about clashes with other
572extensions or other terminals, with the exception of methods and members
544begin with an underscore character \f(CW\*(C`_\*(C'\fR: these are reserved for internal 573that begin with an underscore character \f(CW\*(C`_\*(C'\fR: these are reserved for
545use. 574internal use.
546.PP 575.PP
547Although it isn't a \f(CW\*(C`urxvt::term\*(C'\fR object, you can call all methods of the 576Although it isn't a \f(CW\*(C`urxvt::term\*(C'\fR object, you can call all methods of the
548\&\f(CW\*(C`urxvt::term\*(C'\fR class on this object. 577\&\f(CW\*(C`urxvt::term\*(C'\fR class on this object.
549.PP 578.PP
550It has the following methods and data members: 579It has the following methods and data members:
551.ie n .IP "$urxvt_term\fR = \f(CW$self\->{term}" 4 580.ie n .IP "$urxvt_term = $self\->{term}" 4
552.el .IP "\f(CW$urxvt_term\fR = \f(CW$self\fR\->{term}" 4 581.el .IP "$urxvt_term = \f(CW$self\fR\->{term}" 4
553.IX Item "$urxvt_term = $self->{term}" 582.IX Item "$urxvt_term = $self->{term}"
554Returns the \f(CW\*(C`urxvt::term\*(C'\fR object associated with this instance of the 583Returns the \f(CW\*(C`urxvt::term\*(C'\fR object associated with this instance of the
555extension. This member \fImust not\fR be changed in any way. 584extension. This member \fImust not\fR be changed in any way.
556.ie n .IP "$self\fR\->enable ($hook_name => \f(CW$cb\fR, [$hook_name => \f(CW$cb..])" 4 585.ie n .IP "$self\->enable ($hook_name => $cb\fR, [$hook_name => \f(CW$cb..])" 4
557.el .IP "\f(CW$self\fR\->enable ($hook_name => \f(CW$cb\fR, [$hook_name => \f(CW$cb\fR..])" 4 586.el .IP "$self\->enable ($hook_name => \f(CW$cb\fR, [$hook_name => \f(CW$cb\fR..])" 4
558.IX Item "$self->enable ($hook_name => $cb, [$hook_name => $cb..])" 587.IX Item "$self->enable ($hook_name => $cb, [$hook_name => $cb..])"
559Dynamically enable the given hooks (named without the \f(CW\*(C`on_\*(C'\fR prefix) for 588Dynamically enable the given hooks (named without the \f(CW\*(C`on_\*(C'\fR prefix) for
560this extension, replacing any previous hook. This is useful when you want 589this extension, replacing any previous hook. This is useful when you want
561to overwrite time-critical hooks only temporarily. 590to overwrite time-critical hooks only temporarily.
562.ie n .IP "$self\fR\->disable ($hook_name[, \f(CW$hook_name..])" 4 591.ie n .IP "$self\->disable ($hook_name[, $hook_name..])" 4
563.el .IP "\f(CW$self\fR\->disable ($hook_name[, \f(CW$hook_name\fR..])" 4 592.el .IP "$self\->disable ($hook_name[, \f(CW$hook_name\fR..])" 4
564.IX Item "$self->disable ($hook_name[, $hook_name..])" 593.IX Item "$self->disable ($hook_name[, $hook_name..])"
565Dynamically disable the given hooks. 594Dynamically disable the given hooks.
566.Sh "Hooks" 595.Sh "Hooks"
567.IX Subsection "Hooks" 596.IX Subsection "Hooks"
568The following subroutines can be declared in extension files, and will be 597The following subroutines can be declared in extension files, and will be
804Called when various types of ClientMessage events are received (all with 833Called when various types of ClientMessage events are received (all with
805format=32, \s-1WM_PROTOCOLS\s0 or \s-1WM_PROTOCOLS:WM_DELETE_WINDOW\s0). 834format=32, \s-1WM_PROTOCOLS\s0 or \s-1WM_PROTOCOLS:WM_DELETE_WINDOW\s0).
806.ie n .Sh "Variables in the ""urxvt"" Package" 835.ie n .Sh "Variables in the ""urxvt"" Package"
807.el .Sh "Variables in the \f(CWurxvt\fP Package" 836.el .Sh "Variables in the \f(CWurxvt\fP Package"
808.IX Subsection "Variables in the urxvt Package" 837.IX Subsection "Variables in the urxvt Package"
809.ie n .IP "$urxvt::LIBDIR" 4 838.IP "$urxvt::LIBDIR" 4
810.el .IP "\f(CW$urxvt::LIBDIR\fR" 4
811.IX Item "$urxvt::LIBDIR" 839.IX Item "$urxvt::LIBDIR"
812The rxvt-unicode library directory, where, among other things, the perl 840The rxvt-unicode library directory, where, among other things, the perl
813modules and scripts are stored. 841modules and scripts are stored.
814.ie n .IP "$urxvt::RESCLASS\fR, \f(CW$urxvt::RESCLASS" 4 842.ie n .IP "$urxvt::RESCLASS, $urxvt::RESCLASS" 4
815.el .IP "\f(CW$urxvt::RESCLASS\fR, \f(CW$urxvt::RESCLASS\fR" 4 843.el .IP "$urxvt::RESCLASS, \f(CW$urxvt::RESCLASS\fR" 4
816.IX Item "$urxvt::RESCLASS, $urxvt::RESCLASS" 844.IX Item "$urxvt::RESCLASS, $urxvt::RESCLASS"
817The resource class and name rxvt-unicode uses to look up X resources. 845The resource class and name rxvt-unicode uses to look up X resources.
818.ie n .IP "$urxvt::RXVTNAME" 4 846.IP "$urxvt::RXVTNAME" 4
819.el .IP "\f(CW$urxvt::RXVTNAME\fR" 4
820.IX Item "$urxvt::RXVTNAME" 847.IX Item "$urxvt::RXVTNAME"
821The basename of the installed binaries, usually \f(CW\*(C`urxvt\*(C'\fR. 848The basename of the installed binaries, usually \f(CW\*(C`urxvt\*(C'\fR.
822.ie n .IP "$urxvt::TERM" 4 849.IP "$urxvt::TERM" 4
823.el .IP "\f(CW$urxvt::TERM\fR" 4
824.IX Item "$urxvt::TERM" 850.IX Item "$urxvt::TERM"
825The current terminal. This variable stores the current \f(CW\*(C`urxvt::term\*(C'\fR 851The current terminal. This variable stores the current \f(CW\*(C`urxvt::term\*(C'\fR
826object, whenever a callback/hook is executing. 852object, whenever a callback/hook is executing.
827.ie n .IP "@urxvt::TERM_INIT" 4 853.IP "@urxvt::TERM_INIT" 4
828.el .IP "\f(CW@urxvt::TERM_INIT\fR" 4
829.IX Item "@urxvt::TERM_INIT" 854.IX Item "@urxvt::TERM_INIT"
830All code references in this array will be called as methods of the next newly 855All code references in this array will be called as methods of the next newly
831created \f(CW\*(C`urxvt::term\*(C'\fR object (during the \f(CW\*(C`on_init\*(C'\fR phase). The array 856created \f(CW\*(C`urxvt::term\*(C'\fR object (during the \f(CW\*(C`on_init\*(C'\fR phase). The array
832gets cleared before the code references that were in it are being executed, 857gets cleared before the code references that were in it are being executed,
833so references can push themselves onto it again if they so desire. 858so references can push themselves onto it again if they so desire.
834.Sp 859.Sp
835This complements to the perl-eval command line option, but gets executed 860This complements to the perl-eval command line option, but gets executed
836first. 861first.
837.ie n .IP "@urxvt::TERM_EXT" 4 862.IP "@urxvt::TERM_EXT" 4
838.el .IP "\f(CW@urxvt::TERM_EXT\fR" 4
839.IX Item "@urxvt::TERM_EXT" 863.IX Item "@urxvt::TERM_EXT"
840Works similar to \f(CW@TERM_INIT\fR, but contains perl package/class names, which 864Works similar to \f(CW@TERM_INIT\fR, but contains perl package/class names, which
841get registered as normal extensions after calling the hooks in \f(CW@TERM_INIT\fR 865get registered as normal extensions after calling the hooks in \f(CW@TERM_INIT\fR
842but before other extensions. Gets cleared just like \f(CW@TERM_INIT\fR. 866but before other extensions. Gets cleared just like \f(CW@TERM_INIT\fR.
843.ie n .Sh "Functions in the ""urxvt"" Package" 867.ie n .Sh "Functions in the ""urxvt"" Package"
858.Sp 882.Sp
859Using this function has the advantage that its output ends up in the 883Using this function has the advantage that its output ends up in the
860correct place, e.g. on stderr of the connecting urxvtc client. 884correct place, e.g. on stderr of the connecting urxvtc client.
861.Sp 885.Sp
862Messages have a size limit of 1023 bytes currently. 886Messages have a size limit of 1023 bytes currently.
863.ie n .IP "@terms = urxvt::termlist" 4 887.IP "@terms = urxvt::termlist" 4
864.el .IP "\f(CW@terms\fR = urxvt::termlist" 4
865.IX Item "@terms = urxvt::termlist" 888.IX Item "@terms = urxvt::termlist"
866Returns all urxvt::term objects that exist in this process, regardless of 889Returns all urxvt::term objects that exist in this process, regardless of
867whether they are started, being destroyed etc., so be careful. Only term 890whether they are started, being destroyed etc., so be careful. Only term
868objects that have perl extensions attached will be returned (because there 891objects that have perl extensions attached will be returned (because there
869is no urxvt::term objet associated with others). 892is no urxvt::term objet associated with others).
870.ie n .IP "$time = urxvt::NOW" 4 893.IP "$time = urxvt::NOW" 4
871.el .IP "\f(CW$time\fR = urxvt::NOW" 4
872.IX Item "$time = urxvt::NOW" 894.IX Item "$time = urxvt::NOW"
873Returns the \*(L"current time\*(R" (as per the event loop). 895Returns the \*(L"current time\*(R" (as per the event loop).
874.IP "urxvt::CurrentTime" 4 896.IP "urxvt::CurrentTime" 4
875.IX Item "urxvt::CurrentTime" 897.IX Item "urxvt::CurrentTime"
876.PD 0 898.PD 0
889.PP 911.PP
890The following \*(L"macros\*(R" deal with changes in rendition sets. You should 912The following \*(L"macros\*(R" deal with changes in rendition sets. You should
891never just create a bitset, you should always modify an existing one, 913never just create a bitset, you should always modify an existing one,
892as they contain important information required for correct operation of 914as they contain important information required for correct operation of
893rxvt\-unicode. 915rxvt\-unicode.
894.ie n .IP "$rend = urxvt::DEFAULT_RSTYLE" 4 916.IP "$rend = urxvt::DEFAULT_RSTYLE" 4
895.el .IP "\f(CW$rend\fR = urxvt::DEFAULT_RSTYLE" 4
896.IX Item "$rend = urxvt::DEFAULT_RSTYLE" 917.IX Item "$rend = urxvt::DEFAULT_RSTYLE"
897Returns the default rendition, as used when the terminal is starting up or 918Returns the default rendition, as used when the terminal is starting up or
898being reset. Useful as a base to start when creating renditions. 919being reset. Useful as a base to start when creating renditions.
899.ie n .IP "$rend = urxvt::OVERLAY_RSTYLE" 4 920.IP "$rend = urxvt::OVERLAY_RSTYLE" 4
900.el .IP "\f(CW$rend\fR = urxvt::OVERLAY_RSTYLE" 4
901.IX Item "$rend = urxvt::OVERLAY_RSTYLE" 921.IX Item "$rend = urxvt::OVERLAY_RSTYLE"
902Return the rendition mask used for overlays by default. 922Return the rendition mask used for overlays by default.
903.ie n .IP "$rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline" 4 923.IP "$rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline" 4
904.el .IP "\f(CW$rendbit\fR = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline" 4
905.IX Item "$rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline" 924.IX Item "$rendbit = urxvt::RS_Bold, RS_Italic, RS_Blink, RS_RVid, RS_Uline"
906Return the bit that enabled bold, italic, blink, reverse-video and 925Return the bit that enabled bold, italic, blink, reverse-video and
907underline, respectively. To enable such a style, just logically \s-1OR\s0 it into 926underline, respectively. To enable such a style, just logically \s-1OR\s0 it into
908the bitset. 927the bitset.
909.ie n .IP "$foreground\fR = urxvt::GET_BASEFG \f(CW$rend" 4 928.ie n .IP "$foreground = urxvt::GET_BASEFG $rend" 4
910.el .IP "\f(CW$foreground\fR = urxvt::GET_BASEFG \f(CW$rend\fR" 4 929.el .IP "$foreground = urxvt::GET_BASEFG \f(CW$rend\fR" 4
911.IX Item "$foreground = urxvt::GET_BASEFG $rend" 930.IX Item "$foreground = urxvt::GET_BASEFG $rend"
912.PD 0 931.PD 0
913.ie n .IP "$background\fR = urxvt::GET_BASEBG \f(CW$rend" 4 932.ie n .IP "$background = urxvt::GET_BASEBG $rend" 4
914.el .IP "\f(CW$background\fR = urxvt::GET_BASEBG \f(CW$rend\fR" 4 933.el .IP "$background = urxvt::GET_BASEBG \f(CW$rend\fR" 4
915.IX Item "$background = urxvt::GET_BASEBG $rend" 934.IX Item "$background = urxvt::GET_BASEBG $rend"
916.PD 935.PD
917Return the foreground/background colour index, respectively. 936Return the foreground/background colour index, respectively.
918.ie n .IP "$rend\fR = urxvt::SET_FGCOLOR \f(CW$rend\fR, \f(CW$new_colour" 4 937.ie n .IP "$rend = urxvt::SET_FGCOLOR $rend\fR, \f(CW$new_colour" 4
919.el .IP "\f(CW$rend\fR = urxvt::SET_FGCOLOR \f(CW$rend\fR, \f(CW$new_colour\fR" 4 938.el .IP "$rend = urxvt::SET_FGCOLOR \f(CW$rend\fR, \f(CW$new_colour\fR" 4
920.IX Item "$rend = urxvt::SET_FGCOLOR $rend, $new_colour" 939.IX Item "$rend = urxvt::SET_FGCOLOR $rend, $new_colour"
921.PD 0 940.PD 0
922.ie n .IP "$rend\fR = urxvt::SET_BGCOLOR \f(CW$rend\fR, \f(CW$new_colour" 4 941.ie n .IP "$rend = urxvt::SET_BGCOLOR $rend\fR, \f(CW$new_colour" 4
923.el .IP "\f(CW$rend\fR = urxvt::SET_BGCOLOR \f(CW$rend\fR, \f(CW$new_colour\fR" 4 942.el .IP "$rend = urxvt::SET_BGCOLOR \f(CW$rend\fR, \f(CW$new_colour\fR" 4
924.IX Item "$rend = urxvt::SET_BGCOLOR $rend, $new_colour" 943.IX Item "$rend = urxvt::SET_BGCOLOR $rend, $new_colour"
925.ie n .IP "$rend\fR = urxvt::SET_COLOR \f(CW$rend\fR, \f(CW$new_fg\fR, \f(CW$new_bg" 4 944.ie n .IP "$rend = urxvt::SET_COLOR $rend\fR, \f(CW$new_fg\fR, \f(CW$new_bg" 4
926.el .IP "\f(CW$rend\fR = urxvt::SET_COLOR \f(CW$rend\fR, \f(CW$new_fg\fR, \f(CW$new_bg\fR" 4 945.el .IP "$rend = urxvt::SET_COLOR \f(CW$rend\fR, \f(CW$new_fg\fR, \f(CW$new_bg\fR" 4
927.IX Item "$rend = urxvt::SET_COLOR $rend, $new_fg, $new_bg" 946.IX Item "$rend = urxvt::SET_COLOR $rend, $new_fg, $new_bg"
928.PD 947.PD
929Replace the foreground/background colour in the rendition mask with the 948Replace the foreground/background colour in the rendition mask with the
930specified one. 949specified one.
931.ie n .IP "$value\fR = urxvt::GET_CUSTOM \f(CW$rend" 4 950.ie n .IP "$value = urxvt::GET_CUSTOM $rend" 4
932.el .IP "\f(CW$value\fR = urxvt::GET_CUSTOM \f(CW$rend\fR" 4 951.el .IP "$value = urxvt::GET_CUSTOM \f(CW$rend\fR" 4
933.IX Item "$value = urxvt::GET_CUSTOM $rend" 952.IX Item "$value = urxvt::GET_CUSTOM $rend"
934Return the \*(L"custom\*(R" value: Every rendition has 5 bits for use by 953Return the \*(L"custom\*(R" value: Every rendition has 5 bits for use by
935extensions. They can be set and changed as you like and are initially 954extensions. They can be set and changed as you like and are initially
936zero. 955zero.
937.ie n .IP "$rend\fR = urxvt::SET_CUSTOM \f(CW$rend\fR, \f(CW$new_value" 4 956.ie n .IP "$rend = urxvt::SET_CUSTOM $rend\fR, \f(CW$new_value" 4
938.el .IP "\f(CW$rend\fR = urxvt::SET_CUSTOM \f(CW$rend\fR, \f(CW$new_value\fR" 4 957.el .IP "$rend = urxvt::SET_CUSTOM \f(CW$rend\fR, \f(CW$new_value\fR" 4
939.IX Item "$rend = urxvt::SET_CUSTOM $rend, $new_value" 958.IX Item "$rend = urxvt::SET_CUSTOM $rend, $new_value"
940Change the custom value. 959Change the custom value.
941.ie n .Sh "The ""urxvt::anyevent"" Class" 960.ie n .Sh "The ""urxvt::anyevent"" Class"
942.el .Sh "The \f(CWurxvt::anyevent\fP Class" 961.el .Sh "The \f(CWurxvt::anyevent\fP Class"
943.IX Subsection "The urxvt::anyevent Class" 962.IX Subsection "The urxvt::anyevent Class"
948is that you cannot use blocking APIs, but the non-blocking variant should 967is that you cannot use blocking APIs, but the non-blocking variant should
949work. 968work.
950.ie n .Sh "The ""urxvt::term"" Class" 969.ie n .Sh "The ""urxvt::term"" Class"
951.el .Sh "The \f(CWurxvt::term\fP Class" 970.el .Sh "The \f(CWurxvt::term\fP Class"
952.IX Subsection "The urxvt::term Class" 971.IX Subsection "The urxvt::term Class"
953.ie n .IP "$term\fR = new urxvt::term \f(CW$envhashref\fR, \f(CW$rxvtname, [arg...]" 4 972.ie n .IP "$term = new urxvt::term $envhashref\fR, \f(CW$rxvtname, [arg...]" 4
954.el .IP "\f(CW$term\fR = new urxvt::term \f(CW$envhashref\fR, \f(CW$rxvtname\fR, [arg...]" 4 973.el .IP "$term = new urxvt::term \f(CW$envhashref\fR, \f(CW$rxvtname\fR, [arg...]" 4
955.IX Item "$term = new urxvt::term $envhashref, $rxvtname, [arg...]" 974.IX Item "$term = new urxvt::term $envhashref, $rxvtname, [arg...]"
956Creates a new terminal, very similar as if you had started it with system 975Creates a new terminal, very similar as if you had started it with system
957\&\f(CW\*(C`$rxvtname, arg...\*(C'\fR. \f(CW$envhashref\fR must be a reference to a \f(CW%ENV\fR\-like 976\&\f(CW\*(C`$rxvtname, arg...\*(C'\fR. \f(CW$envhashref\fR must be a reference to a \f(CW%ENV\fR\-like
958hash which defines the environment of the new terminal. 977hash which defines the environment of the new terminal.
959.Sp 978.Sp
960Croaks (and probably outputs an error message) if the new instance 979Croaks (and probably outputs an error message) if the new instance
961couldn't be created. Returns \f(CW\*(C`undef\*(C'\fR if the new instance didn't 980couldn't be created. Returns \f(CW\*(C`undef\*(C'\fR if the new instance didn't
962initialise perl, and the terminal object otherwise. The \f(CW\*(C`init\*(C'\fR and 981initialise perl, and the terminal object otherwise. The \f(CW\*(C`init\*(C'\fR and
963\&\f(CW\*(C`start\*(C'\fR hooks will be called before this call returns, and are free to 982\&\f(CW\*(C`start\*(C'\fR hooks will be called before this call returns, and are free to
964refer to global data (which is race free). 983refer to global data (which is race free).
965.ie n .IP "$term\->destroy" 4 984.IP "$term\->destroy" 4
966.el .IP "\f(CW$term\fR\->destroy" 4
967.IX Item "$term->destroy" 985.IX Item "$term->destroy"
968Destroy the terminal object (close the window, free resources 986Destroy the terminal object (close the window, free resources
969etc.). Please note that @@RXVT_NAME@@ will not exit as long as any event 987etc.). Please note that @@RXVT_NAME@@ will not exit as long as any event
970watchers (timers, io watchers) are still active. 988watchers (timers, io watchers) are still active.
971.ie n .IP "$term\fR\->exec_async ($cmd[, \f(CW@args])" 4 989.ie n .IP "$term\->exec_async ($cmd[, @args])" 4
972.el .IP "\f(CW$term\fR\->exec_async ($cmd[, \f(CW@args\fR])" 4 990.el .IP "$term\->exec_async ($cmd[, \f(CW@args\fR])" 4
973.IX Item "$term->exec_async ($cmd[, @args])" 991.IX Item "$term->exec_async ($cmd[, @args])"
974Works like the combination of the \f(CW\*(C`fork\*(C'\fR/\f(CW\*(C`exec\*(C'\fR builtins, which executes 992Works like the combination of the \f(CW\*(C`fork\*(C'\fR/\f(CW\*(C`exec\*(C'\fR builtins, which executes
975(\*(L"starts\*(R") programs in the background. This function takes care of setting 993(\*(L"starts\*(R") programs in the background. This function takes care of setting
976the user environment before exec'ing the command (e.g. \f(CW\*(C`PATH\*(C'\fR) and should 994the user environment before exec'ing the command (e.g. \f(CW\*(C`PATH\*(C'\fR) and should
977be preferred over explicit calls to \f(CW\*(C`exec\*(C'\fR or \f(CW\*(C`system\*(C'\fR. 995be preferred over explicit calls to \f(CW\*(C`exec\*(C'\fR or \f(CW\*(C`system\*(C'\fR.
978.Sp 996.Sp
979Returns the pid of the subprocess or \f(CW\*(C`undef\*(C'\fR on error. 997Returns the pid of the subprocess or \f(CW\*(C`undef\*(C'\fR on error.
980.ie n .IP "$isset\fR = \f(CW$term\fR\->option ($optval[, \f(CW$set])" 4 998.ie n .IP "$isset = $term\fR\->option ($optval[, \f(CW$set])" 4
981.el .IP "\f(CW$isset\fR = \f(CW$term\fR\->option ($optval[, \f(CW$set\fR])" 4 999.el .IP "$isset = \f(CW$term\fR\->option ($optval[, \f(CW$set\fR])" 4
982.IX Item "$isset = $term->option ($optval[, $set])" 1000.IX Item "$isset = $term->option ($optval[, $set])"
983Returns true if the option specified by \f(CW$optval\fR is enabled, and 1001Returns true if the option specified by \f(CW$optval\fR is enabled, and
984optionally change it. All option values are stored by name in the hash 1002optionally change it. All option values are stored by name in the hash
985\&\f(CW%urxvt::OPTION\fR. Options not enabled in this binary are not in the hash. 1003\&\f(CW%urxvt::OPTION\fR. Options not enabled in this binary are not in the hash.
986.Sp 1004.Sp
988source file \fI/src/optinc.h\fR to see the actual list: 1006source file \fI/src/optinc.h\fR to see the actual list:
989.Sp 1007.Sp
990.Vb 6 1008.Vb 6
991\& borderLess console cursorBlink cursorUnderline hold iconic insecure 1009\& borderLess console cursorBlink cursorUnderline hold iconic insecure
992\& intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage 1010\& intensityStyles jumpScroll loginShell mapAlert meta8 mouseWheelScrollPage
993\& override\-redirect pastableTabs pointerBlank reverseVideo scrollBar 1011\& override-redirect pastableTabs pointerBlank reverseVideo scrollBar
994\& scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput 1012\& scrollBar_floating scrollBar_right scrollTtyKeypress scrollTtyOutput
995\& scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs 1013\& scrollWithBuffer secondaryScreen secondaryScroll skipBuiltinGlyphs
996\& transparent tripleclickwords utmpInhibit visualBell 1014\& transparent tripleclickwords utmpInhibit visualBell
997.Ve 1015.Ve
998.ie n .IP "$value\fR = \f(CW$term\fR\->resource ($name[, \f(CW$newval])" 4 1016.ie n .IP "$value = $term\fR\->resource ($name[, \f(CW$newval])" 4
999.el .IP "\f(CW$value\fR = \f(CW$term\fR\->resource ($name[, \f(CW$newval\fR])" 4 1017.el .IP "$value = \f(CW$term\fR\->resource ($name[, \f(CW$newval\fR])" 4
1000.IX Item "$value = $term->resource ($name[, $newval])" 1018.IX Item "$value = $term->resource ($name[, $newval])"
1001Returns the current resource value associated with a given name and 1019Returns the current resource value associated with a given name and
1002optionally sets a new value. Setting values is most useful in the \f(CW\*(C`init\*(C'\fR 1020optionally sets a new value. Setting values is most useful in the \f(CW\*(C`init\*(C'\fR
1003hook. Unset resources are returned and accepted as \f(CW\*(C`undef\*(C'\fR. 1021hook. Unset resources are returned and accepted as \f(CW\*(C`undef\*(C'\fR.
1004.Sp 1022.Sp
1015.Sp 1033.Sp
1016Here is a likely non-exhaustive list of resource names, not all of which 1034Here is a likely non-exhaustive list of resource names, not all of which
1017are supported in every build, please see the source file \fI/src/rsinc.h\fR 1035are supported in every build, please see the source file \fI/src/rsinc.h\fR
1018to see the actual list: 1036to see the actual list:
1019.Sp 1037.Sp
1020.Vb 10 1038.Vb 13
1021\& answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont 1039\& answerbackstring backgroundPixmap backspace_key boldFont boldItalicFont
1022\& borderLess color cursorBlink cursorUnderline cutchars delete_key 1040\& borderLess color cursorBlink cursorUnderline cutchars delete_key
1023\& display_name embed ext_bwidth fade font geometry hold iconName 1041\& display_name embed ext_bwidth fade font geometry hold iconName
1024\& imFont imLocale inputMethod insecure int_bwidth intensityStyles 1042\& imFont imLocale inputMethod insecure int_bwidth intensityStyles
1025\& italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier 1043\& italicFont jumpScroll lineSpace loginShell mapAlert meta8 modifier
1030\& scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle 1048\& scrollTtyKeypress scrollTtyOutput scrollWithBuffer scrollstyle
1031\& secondaryScreen secondaryScroll selectstyle shade term_name title 1049\& secondaryScreen secondaryScroll selectstyle shade term_name title
1032\& transient_for transparent transparent_all tripleclickwords utmpInhibit 1050\& transient_for transparent transparent_all tripleclickwords utmpInhibit
1033\& visualBell 1051\& visualBell
1034.Ve 1052.Ve
1035.ie n .IP "$value\fR = \f(CW$term\->x_resource ($pattern)" 4 1053.ie n .IP "$value = $term\->x_resource ($pattern)" 4
1036.el .IP "\f(CW$value\fR = \f(CW$term\fR\->x_resource ($pattern)" 4 1054.el .IP "$value = \f(CW$term\fR\->x_resource ($pattern)" 4
1037.IX Item "$value = $term->x_resource ($pattern)" 1055.IX Item "$value = $term->x_resource ($pattern)"
1038Returns the X\-Resource for the given pattern, excluding the program or 1056Returns the X\-Resource for the given pattern, excluding the program or
1039class name, i.e. \f(CW\*(C`$term\->x_resource ("boldFont")\*(C'\fR should return the 1057class name, i.e. \f(CW\*(C`$term\->x_resource ("boldFont")\*(C'\fR should return the
1040same value as used by this instance of rxvt\-unicode. Returns \f(CW\*(C`undef\*(C'\fR if no 1058same value as used by this instance of rxvt\-unicode. Returns \f(CW\*(C`undef\*(C'\fR if no
1041resource with that pattern exists. 1059resource with that pattern exists.
1042.Sp 1060.Sp
1043This method should only be called during the \f(CW\*(C`on_start\*(C'\fR hook, as there is 1061This method should only be called during the \f(CW\*(C`on_start\*(C'\fR hook, as there is
1044only one resource database per display, and later invocations might return 1062only one resource database per display, and later invocations might return
1045the wrong resources. 1063the wrong resources.
1046.ie n .IP "$success\fR = \f(CW$term\fR\->parse_keysym ($keysym_spec, \f(CW$command_string)" 4 1064.ie n .IP "$success = $term\fR\->parse_keysym ($keysym_spec, \f(CW$command_string)" 4
1047.el .IP "\f(CW$success\fR = \f(CW$term\fR\->parse_keysym ($keysym_spec, \f(CW$command_string\fR)" 4 1065.el .IP "$success = \f(CW$term\fR\->parse_keysym ($keysym_spec, \f(CW$command_string\fR)" 4
1048.IX Item "$success = $term->parse_keysym ($keysym_spec, $command_string)" 1066.IX Item "$success = $term->parse_keysym ($keysym_spec, $command_string)"
1049Adds a keymap translation exactly as specified via a resource. See the 1067Adds a keymap translation exactly as specified via a resource. See the
1050\&\f(CW\*(C`keysym\*(C'\fR resource in the @@RXVT_NAME@@(1) manpage. 1068\&\f(CW\*(C`keysym\*(C'\fR resource in the @@RXVT_NAME@@(1) manpage.
1051.ie n .IP "$rend\fR = \f(CW$term\->rstyle ([$new_rstyle])" 4 1069.ie n .IP "$rend = $term\->rstyle ([$new_rstyle])" 4
1052.el .IP "\f(CW$rend\fR = \f(CW$term\fR\->rstyle ([$new_rstyle])" 4 1070.el .IP "$rend = \f(CW$term\fR\->rstyle ([$new_rstyle])" 4
1053.IX Item "$rend = $term->rstyle ([$new_rstyle])" 1071.IX Item "$rend = $term->rstyle ([$new_rstyle])"
1054Return and optionally change the current rendition. Text that is output by 1072Return and optionally change the current rendition. Text that is output by
1055the terminal application will use this style. 1073the terminal application will use this style.
1056.ie n .IP "($row, $col\fR) = \f(CW$term\fR\->screen_cur ([$row, \f(CW$col])" 4 1074.ie n .IP "($row, $col\fR) = \f(CW$term\fR\->screen_cur ([$row, \f(CW$col])" 4
1057.el .IP "($row, \f(CW$col\fR) = \f(CW$term\fR\->screen_cur ([$row, \f(CW$col\fR])" 4 1075.el .IP "($row, \f(CW$col\fR) = \f(CW$term\fR\->screen_cur ([$row, \f(CW$col\fR])" 4
1069.el .IP "($row, \f(CW$col\fR) = \f(CW$term\fR\->selection_end ([$row, \f(CW$col\fR])" 4 1087.el .IP "($row, \f(CW$col\fR) = \f(CW$term\fR\->selection_end ([$row, \f(CW$col\fR])" 4
1070.IX Item "($row, $col) = $term->selection_end ([$row, $col])" 1088.IX Item "($row, $col) = $term->selection_end ([$row, $col])"
1071.PD 1089.PD
1072Return the current values of the selection mark, begin or end positions, 1090Return the current values of the selection mark, begin or end positions,
1073and optionally set them to new values. 1091and optionally set them to new values.
1074.ie n .IP "$term\fR\->selection_make ($eventtime[, \f(CW$rectangular])" 4 1092.ie n .IP "$term\->selection_make ($eventtime[, $rectangular])" 4
1075.el .IP "\f(CW$term\fR\->selection_make ($eventtime[, \f(CW$rectangular\fR])" 4 1093.el .IP "$term\->selection_make ($eventtime[, \f(CW$rectangular\fR])" 4
1076.IX Item "$term->selection_make ($eventtime[, $rectangular])" 1094.IX Item "$term->selection_make ($eventtime[, $rectangular])"
1077Tries to make a selection as set by \f(CW\*(C`selection_beg\*(C'\fR and 1095Tries to make a selection as set by \f(CW\*(C`selection_beg\*(C'\fR and
1078\&\f(CW\*(C`selection_end\*(C'\fR. If \f(CW$rectangular\fR is true (default: false), a 1096\&\f(CW\*(C`selection_end\*(C'\fR. If \f(CW$rectangular\fR is true (default: false), a
1079rectangular selection will be made. This is the prefered function to make 1097rectangular selection will be made. This is the prefered function to make
1080a selection. 1098a selection.
1081.ie n .IP "$success\fR = \f(CW$term\->selection_grab ($eventtime)" 4 1099.ie n .IP "$success = $term\->selection_grab ($eventtime)" 4
1082.el .IP "\f(CW$success\fR = \f(CW$term\fR\->selection_grab ($eventtime)" 4 1100.el .IP "$success = \f(CW$term\fR\->selection_grab ($eventtime)" 4
1083.IX Item "$success = $term->selection_grab ($eventtime)" 1101.IX Item "$success = $term->selection_grab ($eventtime)"
1084Try to request the primary selection text from the server (for example, as 1102Try to request the primary selection text from the server (for example, as
1085set by the next method). No visual feedback will be given. This function 1103set by the next method). No visual feedback will be given. This function
1086is mostly useful from within \f(CW\*(C`on_sel_grab\*(C'\fR hooks. 1104is mostly useful from within \f(CW\*(C`on_sel_grab\*(C'\fR hooks.
1087.ie n .IP "$oldtext\fR = \f(CW$term\->selection ([$newtext])" 4 1105.ie n .IP "$oldtext = $term\->selection ([$newtext])" 4
1088.el .IP "\f(CW$oldtext\fR = \f(CW$term\fR\->selection ([$newtext])" 4 1106.el .IP "$oldtext = \f(CW$term\fR\->selection ([$newtext])" 4
1089.IX Item "$oldtext = $term->selection ([$newtext])" 1107.IX Item "$oldtext = $term->selection ([$newtext])"
1090Return the current selection text and optionally replace it by \f(CW$newtext\fR. 1108Return the current selection text and optionally replace it by \f(CW$newtext\fR.
1091.ie n .IP "$term\fR\->overlay_simple ($x, \f(CW$y\fR, \f(CW$text)" 4 1109.ie n .IP "$term\->overlay_simple ($x, $y\fR, \f(CW$text)" 4
1092.el .IP "\f(CW$term\fR\->overlay_simple ($x, \f(CW$y\fR, \f(CW$text\fR)" 4 1110.el .IP "$term\->overlay_simple ($x, \f(CW$y\fR, \f(CW$text\fR)" 4
1093.IX Item "$term->overlay_simple ($x, $y, $text)" 1111.IX Item "$term->overlay_simple ($x, $y, $text)"
1094Create a simple multi-line overlay box. See the next method for details. 1112Create a simple multi-line overlay box. See the next method for details.
1095.ie n .IP "$term\fR\->overlay ($x, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height\fR[, \f(CW$rstyle\fR[, \f(CW$border]])" 4 1113.ie n .IP "$term\->overlay ($x, $y\fR, \f(CW$width\fR, \f(CW$height\fR[, \f(CW$rstyle\fR[, \f(CW$border]])" 4
1096.el .IP "\f(CW$term\fR\->overlay ($x, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height\fR[, \f(CW$rstyle\fR[, \f(CW$border\fR]])" 4 1114.el .IP "$term\->overlay ($x, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height\fR[, \f(CW$rstyle\fR[, \f(CW$border\fR]])" 4
1097.IX Item "$term->overlay ($x, $y, $width, $height[, $rstyle[, $border]])" 1115.IX Item "$term->overlay ($x, $y, $width, $height[, $rstyle[, $border]])"
1098Create a new (empty) overlay at the given position with the given 1116Create a new (empty) overlay at the given position with the given
1099width/height. \f(CW$rstyle\fR defines the initial rendition style 1117width/height. \f(CW$rstyle\fR defines the initial rendition style
1100(default: \f(CW\*(C`OVERLAY_RSTYLE\*(C'\fR). 1118(default: \f(CW\*(C`OVERLAY_RSTYLE\*(C'\fR).
1101.Sp 1119.Sp
1108This method returns an urxvt::overlay object. The overlay will be visible 1126This method returns an urxvt::overlay object. The overlay will be visible
1109as long as the perl object is referenced. 1127as long as the perl object is referenced.
1110.Sp 1128.Sp
1111The methods currently supported on \f(CW\*(C`urxvt::overlay\*(C'\fR objects are: 1129The methods currently supported on \f(CW\*(C`urxvt::overlay\*(C'\fR objects are:
1112.RS 4 1130.RS 4
1113.ie n .IP "$overlay\fR\->set ($x, \f(CW$y\fR, \f(CW$text\fR, \f(CW$rend)" 4 1131.ie n .IP "$overlay\->set ($x, $y\fR, \f(CW$text\fR, \f(CW$rend)" 4
1114.el .IP "\f(CW$overlay\fR\->set ($x, \f(CW$y\fR, \f(CW$text\fR, \f(CW$rend\fR)" 4 1132.el .IP "$overlay\->set ($x, \f(CW$y\fR, \f(CW$text\fR, \f(CW$rend\fR)" 4
1115.IX Item "$overlay->set ($x, $y, $text, $rend)" 1133.IX Item "$overlay->set ($x, $y, $text, $rend)"
1116Similar to \f(CW\*(C`$term\->ROW_t\*(C'\fR and \f(CW\*(C`$term\->ROW_r\*(C'\fR in that it puts 1134Similar to \f(CW\*(C`$term\->ROW_t\*(C'\fR and \f(CW\*(C`$term\->ROW_r\*(C'\fR in that it puts
1117text in rxvt\-unicode's special encoding and an array of rendition values 1135text in rxvt\-unicode's special encoding and an array of rendition values
1118at a specific position inside the overlay. 1136at a specific position inside the overlay.
1119.ie n .IP "$overlay\->hide" 4 1137.IP "$overlay\->hide" 4
1120.el .IP "\f(CW$overlay\fR\->hide" 4
1121.IX Item "$overlay->hide" 1138.IX Item "$overlay->hide"
1122If visible, hide the overlay, but do not destroy it. 1139If visible, hide the overlay, but do not destroy it.
1123.ie n .IP "$overlay\->show" 4 1140.IP "$overlay\->show" 4
1124.el .IP "\f(CW$overlay\fR\->show" 4
1125.IX Item "$overlay->show" 1141.IX Item "$overlay->show"
1126If hidden, display the overlay again. 1142If hidden, display the overlay again.
1127.RE 1143.RE
1128.RS 4 1144.RS 4
1129.RE 1145.RE
1130.ie n .IP "$popup\fR = \f(CW$term\->popup ($event)" 4 1146.ie n .IP "$popup = $term\->popup ($event)" 4
1131.el .IP "\f(CW$popup\fR = \f(CW$term\fR\->popup ($event)" 4 1147.el .IP "$popup = \f(CW$term\fR\->popup ($event)" 4
1132.IX Item "$popup = $term->popup ($event)" 1148.IX Item "$popup = $term->popup ($event)"
1133Creates a new \f(CW\*(C`urxvt::popup\*(C'\fR object that implements a popup menu. The 1149Creates a new \f(CW\*(C`urxvt::popup\*(C'\fR object that implements a popup menu. The
1134\&\f(CW$event\fR \fImust\fR be the event causing the menu to pop up (a button event, 1150\&\f(CW$event\fR \fImust\fR be the event causing the menu to pop up (a button event,
1135currently). 1151currently).
1136.ie n .IP "$cellwidth\fR = \f(CW$term\->strwidth ($string)" 4 1152.ie n .IP "$cellwidth = $term\->strwidth ($string)" 4
1137.el .IP "\f(CW$cellwidth\fR = \f(CW$term\fR\->strwidth ($string)" 4 1153.el .IP "$cellwidth = \f(CW$term\fR\->strwidth ($string)" 4
1138.IX Item "$cellwidth = $term->strwidth ($string)" 1154.IX Item "$cellwidth = $term->strwidth ($string)"
1139Returns the number of screen-cells this string would need. Correctly 1155Returns the number of screen-cells this string would need. Correctly
1140accounts for wide and combining characters. 1156accounts for wide and combining characters.
1141.ie n .IP "$octets\fR = \f(CW$term\->locale_encode ($string)" 4 1157.ie n .IP "$octets = $term\->locale_encode ($string)" 4
1142.el .IP "\f(CW$octets\fR = \f(CW$term\fR\->locale_encode ($string)" 4 1158.el .IP "$octets = \f(CW$term\fR\->locale_encode ($string)" 4
1143.IX Item "$octets = $term->locale_encode ($string)" 1159.IX Item "$octets = $term->locale_encode ($string)"
1144Convert the given text string into the corresponding locale encoding. 1160Convert the given text string into the corresponding locale encoding.
1145.ie n .IP "$string\fR = \f(CW$term\->locale_decode ($octets)" 4 1161.ie n .IP "$string = $term\->locale_decode ($octets)" 4
1146.el .IP "\f(CW$string\fR = \f(CW$term\fR\->locale_decode ($octets)" 4 1162.el .IP "$string = \f(CW$term\fR\->locale_decode ($octets)" 4
1147.IX Item "$string = $term->locale_decode ($octets)" 1163.IX Item "$string = $term->locale_decode ($octets)"
1148Convert the given locale-encoded octets into a perl string. 1164Convert the given locale-encoded octets into a perl string.
1149.ie n .IP "$term\fR\->scr_xor_span ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle])" 4 1165.ie n .IP "$term\->scr_xor_span ($beg_row, $beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle])" 4
1150.el .IP "\f(CW$term\fR\->scr_xor_span ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle\fR])" 4 1166.el .IP "$term\->scr_xor_span ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle\fR])" 4
1151.IX Item "$term->scr_xor_span ($beg_row, $beg_col, $end_row, $end_col[, $rstyle])" 1167.IX Item "$term->scr_xor_span ($beg_row, $beg_col, $end_row, $end_col[, $rstyle])"
1152XORs the rendition values in the given span with the provided value 1168XORs the rendition values in the given span with the provided value
1153(default: \f(CW\*(C`RS_RVid\*(C'\fR), which \fI\s-1MUST\s0 \s-1NOT\s0\fR contain font styles. Useful in 1169(default: \f(CW\*(C`RS_RVid\*(C'\fR), which \fI\s-1MUST\s0 \s-1NOT\s0\fR contain font styles. Useful in
1154refresh hooks to provide effects similar to the selection. 1170refresh hooks to provide effects similar to the selection.
1155.ie n .IP "$term\fR\->scr_xor_rect ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle1\fR[, \f(CW$rstyle2]])" 4 1171.ie n .IP "$term\->scr_xor_rect ($beg_row, $beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle1\fR[, \f(CW$rstyle2]])" 4
1156.el .IP "\f(CW$term\fR\->scr_xor_rect ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle1\fR[, \f(CW$rstyle2\fR]])" 4 1172.el .IP "$term\->scr_xor_rect ($beg_row, \f(CW$beg_col\fR, \f(CW$end_row\fR, \f(CW$end_col\fR[, \f(CW$rstyle1\fR[, \f(CW$rstyle2\fR]])" 4
1157.IX Item "$term->scr_xor_rect ($beg_row, $beg_col, $end_row, $end_col[, $rstyle1[, $rstyle2]])" 1173.IX Item "$term->scr_xor_rect ($beg_row, $beg_col, $end_row, $end_col[, $rstyle1[, $rstyle2]])"
1158Similar to \f(CW\*(C`scr_xor_span\*(C'\fR, but xors a rectangle instead. Trailing 1174Similar to \f(CW\*(C`scr_xor_span\*(C'\fR, but xors a rectangle instead. Trailing
1159whitespace will additionally be xored with the \f(CW$rstyle2\fR, which defaults 1175whitespace will additionally be xored with the \f(CW$rstyle2\fR, which defaults
1160to \f(CW\*(C`RS_RVid | RS_Uline\*(C'\fR, which removes reverse video again and underlines 1176to \f(CW\*(C`RS_RVid | RS_Uline\*(C'\fR, which removes reverse video again and underlines
1161it instead. Both styles \fI\s-1MUST\s0 \s-1NOT\s0\fR contain font styles. 1177it instead. Both styles \fI\s-1MUST\s0 \s-1NOT\s0\fR contain font styles.
1162.ie n .IP "$term\->scr_bell" 4 1178.IP "$term\->scr_bell" 4
1163.el .IP "\f(CW$term\fR\->scr_bell" 4
1164.IX Item "$term->scr_bell" 1179.IX Item "$term->scr_bell"
1165Ring the bell! 1180Ring the bell!
1166.ie n .IP "$term\->scr_add_lines ($string)" 4 1181.IP "$term\->scr_add_lines ($string)" 4
1167.el .IP "\f(CW$term\fR\->scr_add_lines ($string)" 4
1168.IX Item "$term->scr_add_lines ($string)" 1182.IX Item "$term->scr_add_lines ($string)"
1169Write the given text string to the screen, as if output by the application 1183Write the given text string to the screen, as if output by the application
1170running inside the terminal. It may not contain command sequences (escape 1184running inside the terminal. It may not contain command sequences (escape
1171codes), but is free to use line feeds, carriage returns and tabs. The 1185codes), but is free to use line feeds, carriage returns and tabs. The
1172string is a normal text string, not in locale-dependent encoding. 1186string is a normal text string, not in locale-dependent encoding.
1173.Sp 1187.Sp
1174Normally its not a good idea to use this function, as programs might be 1188Normally its not a good idea to use this function, as programs might be
1175confused by changes in cursor position or scrolling. Its useful inside a 1189confused by changes in cursor position or scrolling. Its useful inside a
1176\&\f(CW\*(C`on_add_lines\*(C'\fR hook, though. 1190\&\f(CW\*(C`on_add_lines\*(C'\fR hook, though.
1177.ie n .IP "$term\->scr_change_screen ($screen)" 4 1191.IP "$term\->scr_change_screen ($screen)" 4
1178.el .IP "\f(CW$term\fR\->scr_change_screen ($screen)" 4
1179.IX Item "$term->scr_change_screen ($screen)" 1192.IX Item "$term->scr_change_screen ($screen)"
1180Switch to given screen \- 0 primary, 1 secondary. 1193Switch to given screen \- 0 primary, 1 secondary.
1181.ie n .IP "$term\->cmd_parse ($octets)" 4 1194.IP "$term\->cmd_parse ($octets)" 4
1182.el .IP "\f(CW$term\fR\->cmd_parse ($octets)" 4
1183.IX Item "$term->cmd_parse ($octets)" 1195.IX Item "$term->cmd_parse ($octets)"
1184Similar to \f(CW\*(C`scr_add_lines\*(C'\fR, but the argument must be in the 1196Similar to \f(CW\*(C`scr_add_lines\*(C'\fR, but the argument must be in the
1185locale-specific encoding of the terminal and can contain command sequences 1197locale-specific encoding of the terminal and can contain command sequences
1186(escape codes) that will be interpreted. 1198(escape codes) that will be interpreted.
1187.ie n .IP "$term\->tt_write ($octets)" 4 1199.IP "$term\->tt_write ($octets)" 4
1188.el .IP "\f(CW$term\fR\->tt_write ($octets)" 4
1189.IX Item "$term->tt_write ($octets)" 1200.IX Item "$term->tt_write ($octets)"
1190Write the octets given in \f(CW$data\fR to the tty (i.e. as program input). To 1201Write the octets given in \f(CW$data\fR to the tty (i.e. as program input). To
1191pass characters instead of octets, you should convert your strings first 1202pass characters instead of octets, you should convert your strings first
1192to the locale-specific encoding using \f(CW\*(C`$term\->locale_encode\*(C'\fR. 1203to the locale-specific encoding using \f(CW\*(C`$term\->locale_encode\*(C'\fR.
1193.ie n .IP "$old_events\fR = \f(CW$term\->pty_ev_events ([$new_events])" 4 1204.ie n .IP "$old_events = $term\->pty_ev_events ([$new_events])" 4
1194.el .IP "\f(CW$old_events\fR = \f(CW$term\fR\->pty_ev_events ([$new_events])" 4 1205.el .IP "$old_events = \f(CW$term\fR\->pty_ev_events ([$new_events])" 4
1195.IX Item "$old_events = $term->pty_ev_events ([$new_events])" 1206.IX Item "$old_events = $term->pty_ev_events ([$new_events])"
1196Replaces the event mask of the pty watcher by the given event mask. Can 1207Replaces the event mask of the pty watcher by the given event mask. Can
1197be used to suppress input and output handling to the pty/tty. See the 1208be used to suppress input and output handling to the pty/tty. See the
1198description of \f(CW\*(C`urxvt::timer\->events\*(C'\fR. Make sure to always restore 1209description of \f(CW\*(C`urxvt::timer\->events\*(C'\fR. Make sure to always restore
1199the previous value. 1210the previous value.
1200.ie n .IP "$fd\fR = \f(CW$term\->pty_fd" 4 1211.ie n .IP "$fd = $term\->pty_fd" 4
1201.el .IP "\f(CW$fd\fR = \f(CW$term\fR\->pty_fd" 4 1212.el .IP "$fd = \f(CW$term\fR\->pty_fd" 4
1202.IX Item "$fd = $term->pty_fd" 1213.IX Item "$fd = $term->pty_fd"
1203Returns the master file descriptor for the pty in use, or \f(CW\*(C`\-1\*(C'\fR if no pty 1214Returns the master file descriptor for the pty in use, or \f(CW\*(C`\-1\*(C'\fR if no pty
1204is used. 1215is used.
1205.ie n .IP "$windowid\fR = \f(CW$term\->parent" 4 1216.ie n .IP "$windowid = $term\->parent" 4
1206.el .IP "\f(CW$windowid\fR = \f(CW$term\fR\->parent" 4 1217.el .IP "$windowid = \f(CW$term\fR\->parent" 4
1207.IX Item "$windowid = $term->parent" 1218.IX Item "$windowid = $term->parent"
1208Return the window id of the toplevel window. 1219Return the window id of the toplevel window.
1209.ie n .IP "$windowid\fR = \f(CW$term\->vt" 4 1220.ie n .IP "$windowid = $term\->vt" 4
1210.el .IP "\f(CW$windowid\fR = \f(CW$term\fR\->vt" 4 1221.el .IP "$windowid = \f(CW$term\fR\->vt" 4
1211.IX Item "$windowid = $term->vt" 1222.IX Item "$windowid = $term->vt"
1212Return the window id of the terminal window. 1223Return the window id of the terminal window.
1213.ie n .IP "$term\->vt_emask_add ($x_event_mask)" 4 1224.IP "$term\->vt_emask_add ($x_event_mask)" 4
1214.el .IP "\f(CW$term\fR\->vt_emask_add ($x_event_mask)" 4
1215.IX Item "$term->vt_emask_add ($x_event_mask)" 1225.IX Item "$term->vt_emask_add ($x_event_mask)"
1216Adds the specified events to the vt event mask. Useful e.g. when you want 1226Adds the specified events to the vt event mask. Useful e.g. when you want
1217to receive pointer events all the times: 1227to receive pointer events all the times:
1218.Sp 1228.Sp
1219.Vb 1 1229.Vb 1
1220\& $term\->vt_emask_add (urxvt::PointerMotionMask); 1230\& $term->vt_emask_add (urxvt::PointerMotionMask);
1221.Ve 1231.Ve
1222.ie n .IP "$term\->focus_in" 4 1232.IP "$term\->focus_in" 4
1223.el .IP "\f(CW$term\fR\->focus_in" 4
1224.IX Item "$term->focus_in" 1233.IX Item "$term->focus_in"
1225.PD 0 1234.PD 0
1226.ie n .IP "$term\->focus_out" 4 1235.IP "$term\->focus_out" 4
1227.el .IP "\f(CW$term\fR\->focus_out" 4
1228.IX Item "$term->focus_out" 1236.IX Item "$term->focus_out"
1229.ie n .IP "$term\fR\->key_press ($state, \f(CW$keycode\fR[, \f(CW$time])" 4 1237.ie n .IP "$term\->key_press ($state, $keycode\fR[, \f(CW$time])" 4
1230.el .IP "\f(CW$term\fR\->key_press ($state, \f(CW$keycode\fR[, \f(CW$time\fR])" 4 1238.el .IP "$term\->key_press ($state, \f(CW$keycode\fR[, \f(CW$time\fR])" 4
1231.IX Item "$term->key_press ($state, $keycode[, $time])" 1239.IX Item "$term->key_press ($state, $keycode[, $time])"
1232.ie n .IP "$term\fR\->key_release ($state, \f(CW$keycode\fR[, \f(CW$time])" 4 1240.ie n .IP "$term\->key_release ($state, $keycode\fR[, \f(CW$time])" 4
1233.el .IP "\f(CW$term\fR\->key_release ($state, \f(CW$keycode\fR[, \f(CW$time\fR])" 4 1241.el .IP "$term\->key_release ($state, \f(CW$keycode\fR[, \f(CW$time\fR])" 4
1234.IX Item "$term->key_release ($state, $keycode[, $time])" 1242.IX Item "$term->key_release ($state, $keycode[, $time])"
1235.PD 1243.PD
1236Deliver various fake events to to terminal. 1244Deliver various fake events to to terminal.
1237.ie n .IP "$window_width\fR = \f(CW$term\->width" 4 1245.ie n .IP "$window_width = $term\->width" 4
1238.el .IP "\f(CW$window_width\fR = \f(CW$term\fR\->width" 4 1246.el .IP "$window_width = \f(CW$term\fR\->width" 4
1239.IX Item "$window_width = $term->width" 1247.IX Item "$window_width = $term->width"
1240.PD 0 1248.PD 0
1241.ie n .IP "$window_height\fR = \f(CW$term\->height" 4 1249.ie n .IP "$window_height = $term\->height" 4
1242.el .IP "\f(CW$window_height\fR = \f(CW$term\fR\->height" 4 1250.el .IP "$window_height = \f(CW$term\fR\->height" 4
1243.IX Item "$window_height = $term->height" 1251.IX Item "$window_height = $term->height"
1244.ie n .IP "$font_width\fR = \f(CW$term\->fwidth" 4 1252.ie n .IP "$font_width = $term\->fwidth" 4
1245.el .IP "\f(CW$font_width\fR = \f(CW$term\fR\->fwidth" 4 1253.el .IP "$font_width = \f(CW$term\fR\->fwidth" 4
1246.IX Item "$font_width = $term->fwidth" 1254.IX Item "$font_width = $term->fwidth"
1247.ie n .IP "$font_height\fR = \f(CW$term\->fheight" 4 1255.ie n .IP "$font_height = $term\->fheight" 4
1248.el .IP "\f(CW$font_height\fR = \f(CW$term\fR\->fheight" 4 1256.el .IP "$font_height = \f(CW$term\fR\->fheight" 4
1249.IX Item "$font_height = $term->fheight" 1257.IX Item "$font_height = $term->fheight"
1250.ie n .IP "$font_ascent\fR = \f(CW$term\->fbase" 4 1258.ie n .IP "$font_ascent = $term\->fbase" 4
1251.el .IP "\f(CW$font_ascent\fR = \f(CW$term\fR\->fbase" 4 1259.el .IP "$font_ascent = \f(CW$term\fR\->fbase" 4
1252.IX Item "$font_ascent = $term->fbase" 1260.IX Item "$font_ascent = $term->fbase"
1253.ie n .IP "$terminal_rows\fR = \f(CW$term\->nrow" 4 1261.ie n .IP "$terminal_rows = $term\->nrow" 4
1254.el .IP "\f(CW$terminal_rows\fR = \f(CW$term\fR\->nrow" 4 1262.el .IP "$terminal_rows = \f(CW$term\fR\->nrow" 4
1255.IX Item "$terminal_rows = $term->nrow" 1263.IX Item "$terminal_rows = $term->nrow"
1256.ie n .IP "$terminal_columns\fR = \f(CW$term\->ncol" 4 1264.ie n .IP "$terminal_columns = $term\->ncol" 4
1257.el .IP "\f(CW$terminal_columns\fR = \f(CW$term\fR\->ncol" 4 1265.el .IP "$terminal_columns = \f(CW$term\fR\->ncol" 4
1258.IX Item "$terminal_columns = $term->ncol" 1266.IX Item "$terminal_columns = $term->ncol"
1259.ie n .IP "$has_focus\fR = \f(CW$term\->focus" 4 1267.ie n .IP "$has_focus = $term\->focus" 4
1260.el .IP "\f(CW$has_focus\fR = \f(CW$term\fR\->focus" 4 1268.el .IP "$has_focus = \f(CW$term\fR\->focus" 4
1261.IX Item "$has_focus = $term->focus" 1269.IX Item "$has_focus = $term->focus"
1262.ie n .IP "$is_mapped\fR = \f(CW$term\->mapped" 4 1270.ie n .IP "$is_mapped = $term\->mapped" 4
1263.el .IP "\f(CW$is_mapped\fR = \f(CW$term\fR\->mapped" 4 1271.el .IP "$is_mapped = \f(CW$term\fR\->mapped" 4
1264.IX Item "$is_mapped = $term->mapped" 1272.IX Item "$is_mapped = $term->mapped"
1265.ie n .IP "$max_scrollback\fR = \f(CW$term\->saveLines" 4 1273.ie n .IP "$max_scrollback = $term\->saveLines" 4
1266.el .IP "\f(CW$max_scrollback\fR = \f(CW$term\fR\->saveLines" 4 1274.el .IP "$max_scrollback = \f(CW$term\fR\->saveLines" 4
1267.IX Item "$max_scrollback = $term->saveLines" 1275.IX Item "$max_scrollback = $term->saveLines"
1268.ie n .IP "$nrow_plus_saveLines\fR = \f(CW$term\->total_rows" 4 1276.ie n .IP "$nrow_plus_saveLines = $term\->total_rows" 4
1269.el .IP "\f(CW$nrow_plus_saveLines\fR = \f(CW$term\fR\->total_rows" 4 1277.el .IP "$nrow_plus_saveLines = \f(CW$term\fR\->total_rows" 4
1270.IX Item "$nrow_plus_saveLines = $term->total_rows" 1278.IX Item "$nrow_plus_saveLines = $term->total_rows"
1271.ie n .IP "$topmost_scrollback_row\fR = \f(CW$term\->top_row" 4 1279.ie n .IP "$topmost_scrollback_row = $term\->top_row" 4
1272.el .IP "\f(CW$topmost_scrollback_row\fR = \f(CW$term\fR\->top_row" 4 1280.el .IP "$topmost_scrollback_row = \f(CW$term\fR\->top_row" 4
1273.IX Item "$topmost_scrollback_row = $term->top_row" 1281.IX Item "$topmost_scrollback_row = $term->top_row"
1274.PD 1282.PD
1275Return various integers describing terminal characteristics. 1283Return various integers describing terminal characteristics.
1276.ie n .IP "$x_display\fR = \f(CW$term\->display_id" 4 1284.ie n .IP "$x_display = $term\->display_id" 4
1277.el .IP "\f(CW$x_display\fR = \f(CW$term\fR\->display_id" 4 1285.el .IP "$x_display = \f(CW$term\fR\->display_id" 4
1278.IX Item "$x_display = $term->display_id" 1286.IX Item "$x_display = $term->display_id"
1279Return the \s-1DISPLAY\s0 used by rxvt\-unicode. 1287Return the \s-1DISPLAY\s0 used by rxvt\-unicode.
1280.ie n .IP "$lc_ctype\fR = \f(CW$term\->locale" 4 1288.ie n .IP "$lc_ctype = $term\->locale" 4
1281.el .IP "\f(CW$lc_ctype\fR = \f(CW$term\fR\->locale" 4 1289.el .IP "$lc_ctype = \f(CW$term\fR\->locale" 4
1282.IX Item "$lc_ctype = $term->locale" 1290.IX Item "$lc_ctype = $term->locale"
1283Returns the \s-1LC_CTYPE\s0 category string used by this rxvt\-unicode. 1291Returns the \s-1LC_CTYPE\s0 category string used by this rxvt\-unicode.
1284.ie n .IP "$env\fR = \f(CW$term\->env" 4 1292.ie n .IP "$env = $term\->env" 4
1285.el .IP "\f(CW$env\fR = \f(CW$term\fR\->env" 4 1293.el .IP "$env = \f(CW$term\fR\->env" 4
1286.IX Item "$env = $term->env" 1294.IX Item "$env = $term->env"
1287Returns a copy of the environment in effect for the terminal as a hashref 1295Returns a copy of the environment in effect for the terminal as a hashref
1288similar to \f(CW\*(C`\e%ENV\*(C'\fR. 1296similar to \f(CW\*(C`\e%ENV\*(C'\fR.
1289.ie n .IP "@envv\fR = \f(CW$term\->envv" 4 1297.ie n .IP "@envv = $term\->envv" 4
1290.el .IP "\f(CW@envv\fR = \f(CW$term\fR\->envv" 4 1298.el .IP "@envv = \f(CW$term\fR\->envv" 4
1291.IX Item "@envv = $term->envv" 1299.IX Item "@envv = $term->envv"
1292Returns the environment as array of strings of the form \f(CW\*(C`VAR=VALUE\*(C'\fR. 1300Returns the environment as array of strings of the form \f(CW\*(C`VAR=VALUE\*(C'\fR.
1293.ie n .IP "@argv\fR = \f(CW$term\->argv" 4 1301.ie n .IP "@argv = $term\->argv" 4
1294.el .IP "\f(CW@argv\fR = \f(CW$term\fR\->argv" 4 1302.el .IP "@argv = \f(CW$term\fR\->argv" 4
1295.IX Item "@argv = $term->argv" 1303.IX Item "@argv = $term->argv"
1296Return the argument vector as this terminal, similar to \f(CW@ARGV\fR, but 1304Return the argument vector as this terminal, similar to \f(CW@ARGV\fR, but
1297includes the program name as first element. 1305includes the program name as first element.
1298.ie n .IP "$modifiermask\fR = \f(CW$term\->ModLevel3Mask" 4 1306.ie n .IP "$modifiermask = $term\->ModLevel3Mask" 4
1299.el .IP "\f(CW$modifiermask\fR = \f(CW$term\fR\->ModLevel3Mask" 4 1307.el .IP "$modifiermask = \f(CW$term\fR\->ModLevel3Mask" 4
1300.IX Item "$modifiermask = $term->ModLevel3Mask" 1308.IX Item "$modifiermask = $term->ModLevel3Mask"
1301.PD 0 1309.PD 0
1302.ie n .IP "$modifiermask\fR = \f(CW$term\->ModMetaMask" 4 1310.ie n .IP "$modifiermask = $term\->ModMetaMask" 4
1303.el .IP "\f(CW$modifiermask\fR = \f(CW$term\fR\->ModMetaMask" 4 1311.el .IP "$modifiermask = \f(CW$term\fR\->ModMetaMask" 4
1304.IX Item "$modifiermask = $term->ModMetaMask" 1312.IX Item "$modifiermask = $term->ModMetaMask"
1305.ie n .IP "$modifiermask\fR = \f(CW$term\->ModNumLockMask" 4 1313.ie n .IP "$modifiermask = $term\->ModNumLockMask" 4
1306.el .IP "\f(CW$modifiermask\fR = \f(CW$term\fR\->ModNumLockMask" 4 1314.el .IP "$modifiermask = \f(CW$term\fR\->ModNumLockMask" 4
1307.IX Item "$modifiermask = $term->ModNumLockMask" 1315.IX Item "$modifiermask = $term->ModNumLockMask"
1308.PD 1316.PD
1309Return the modifier masks corresponding to the \*(L"\s-1ISO\s0 Level 3 Shift\*(R" (often 1317Return the modifier masks corresponding to the \*(L"\s-1ISO\s0 Level 3 Shift\*(R" (often
1310AltGr), the meta key (often Alt) and the num lock key, if applicable. 1318AltGr), the meta key (often Alt) and the num lock key, if applicable.
1311.ie n .IP "$screen\fR = \f(CW$term\->current_screen" 4 1319.ie n .IP "$screen = $term\->current_screen" 4
1312.el .IP "\f(CW$screen\fR = \f(CW$term\fR\->current_screen" 4 1320.el .IP "$screen = \f(CW$term\fR\->current_screen" 4
1313.IX Item "$screen = $term->current_screen" 1321.IX Item "$screen = $term->current_screen"
1314Returns the currently displayed screen (0 primary, 1 secondary). 1322Returns the currently displayed screen (0 primary, 1 secondary).
1315.ie n .IP "$cursor_is_hidden\fR = \f(CW$term\->hidden_cursor" 4 1323.ie n .IP "$cursor_is_hidden = $term\->hidden_cursor" 4
1316.el .IP "\f(CW$cursor_is_hidden\fR = \f(CW$term\fR\->hidden_cursor" 4 1324.el .IP "$cursor_is_hidden = \f(CW$term\fR\->hidden_cursor" 4
1317.IX Item "$cursor_is_hidden = $term->hidden_cursor" 1325.IX Item "$cursor_is_hidden = $term->hidden_cursor"
1318Returns whether the cursor is currently hidden or not. 1326Returns whether the cursor is currently hidden or not.
1319.ie n .IP "$view_start\fR = \f(CW$term\->view_start ([$newvalue])" 4 1327.ie n .IP "$view_start = $term\->view_start ([$newvalue])" 4
1320.el .IP "\f(CW$view_start\fR = \f(CW$term\fR\->view_start ([$newvalue])" 4 1328.el .IP "$view_start = \f(CW$term\fR\->view_start ([$newvalue])" 4
1321.IX Item "$view_start = $term->view_start ([$newvalue])" 1329.IX Item "$view_start = $term->view_start ([$newvalue])"
1322Returns the row number of the topmost displayed line. Maximum value is 1330Returns the row number of the topmost displayed line. Maximum value is
1323\&\f(CW0\fR, which displays the normal terminal contents. Lower values scroll 1331\&\f(CW0\fR, which displays the normal terminal contents. Lower values scroll
1324this many lines into the scrollback buffer. 1332this many lines into the scrollback buffer.
1325.ie n .IP "$term\->want_refresh" 4 1333.IP "$term\->want_refresh" 4
1326.el .IP "\f(CW$term\fR\->want_refresh" 4
1327.IX Item "$term->want_refresh" 1334.IX Item "$term->want_refresh"
1328Requests a screen refresh. At the next opportunity, rxvt-unicode will 1335Requests a screen refresh. At the next opportunity, rxvt-unicode will
1329compare the on-screen display with its stored representation. If they 1336compare the on-screen display with its stored representation. If they
1330differ, it redraws the differences. 1337differ, it redraws the differences.
1331.Sp 1338.Sp
1332Used after changing terminal contents to display them. 1339Used after changing terminal contents to display them.
1333.ie n .IP "$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col]])" 4 1340.ie n .IP "$text = $term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col]])" 4
1334.el .IP "\f(CW$text\fR = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col\fR]])" 4 1341.el .IP "$text = \f(CW$term\fR\->ROW_t ($row_number[, \f(CW$new_text\fR[, \f(CW$start_col\fR]])" 4
1335.IX Item "$text = $term->ROW_t ($row_number[, $new_text[, $start_col]])" 1342.IX Item "$text = $term->ROW_t ($row_number[, $new_text[, $start_col]])"
1336Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW0\fR 1343Returns the text of the entire row with number \f(CW$row_number\fR. Row \f(CW0\fR
1337is the topmost terminal line, row \f(CW\*(C`$term\->$ncol\-1\*(C'\fR is the bottommost 1344is the topmost terminal line, row \f(CW\*(C`$term\->$ncol\-1\*(C'\fR is the bottommost
1338terminal line. The scrollback buffer starts at line \f(CW\*(C`\-1\*(C'\fR and extends to 1345terminal line. The scrollback buffer starts at line \f(CW\*(C`\-1\*(C'\fR and extends to
1339line \f(CW\*(C`\-$term\->nsaved\*(C'\fR. Nothing will be returned if a nonexistent line 1346line \f(CW\*(C`\-$term\->nsaved\*(C'\fR. Nothing will be returned if a nonexistent line
1354that \f(CW\*(C`substr\*(C'\fR and similar functions work on screen cells and not on 1361that \f(CW\*(C`substr\*(C'\fR and similar functions work on screen cells and not on
1355characters. 1362characters.
1356.Sp 1363.Sp
1357The methods \f(CW\*(C`$term\->special_encode\*(C'\fR and \f(CW\*(C`$term\->special_decode\*(C'\fR 1364The methods \f(CW\*(C`$term\->special_encode\*(C'\fR and \f(CW\*(C`$term\->special_decode\*(C'\fR
1358can be used to convert normal strings into this encoding and vice versa. 1365can be used to convert normal strings into this encoding and vice versa.
1359.ie n .IP "$rend\fR = \f(CW$term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col]])" 4 1366.ie n .IP "$rend = $term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col]])" 4
1360.el .IP "\f(CW$rend\fR = \f(CW$term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col\fR]])" 4 1367.el .IP "$rend = \f(CW$term\fR\->ROW_r ($row_number[, \f(CW$new_rend\fR[, \f(CW$start_col\fR]])" 4
1361.IX Item "$rend = $term->ROW_r ($row_number[, $new_rend[, $start_col]])" 1368.IX Item "$rend = $term->ROW_r ($row_number[, $new_rend[, $start_col]])"
1362Like \f(CW\*(C`$term\->ROW_t\*(C'\fR, but returns an arrayref with rendition 1369Like \f(CW\*(C`$term\->ROW_t\*(C'\fR, but returns an arrayref with rendition
1363bitsets. Rendition bitsets contain information about colour, font, font 1370bitsets. Rendition bitsets contain information about colour, font, font
1364styles and similar information. See also \f(CW\*(C`$term\->ROW_t\*(C'\fR. 1371styles and similar information. See also \f(CW\*(C`$term\->ROW_t\*(C'\fR.
1365.Sp 1372.Sp
1366When setting rendition, the font mask will be ignored. 1373When setting rendition, the font mask will be ignored.
1367.Sp 1374.Sp
1368See the section on \s-1RENDITION\s0, above. 1375See the section on \s-1RENDITION\s0, above.
1369.ie n .IP "$length\fR = \f(CW$term\fR\->ROW_l ($row_number[, \f(CW$new_length])" 4 1376.ie n .IP "$length = $term\fR\->ROW_l ($row_number[, \f(CW$new_length])" 4
1370.el .IP "\f(CW$length\fR = \f(CW$term\fR\->ROW_l ($row_number[, \f(CW$new_length\fR])" 4 1377.el .IP "$length = \f(CW$term\fR\->ROW_l ($row_number[, \f(CW$new_length\fR])" 4
1371.IX Item "$length = $term->ROW_l ($row_number[, $new_length])" 1378.IX Item "$length = $term->ROW_l ($row_number[, $new_length])"
1372Returns the number of screen cells that are in use (\*(L"the line 1379Returns the number of screen cells that are in use (\*(L"the line
1373length\*(R"). Unlike the urxvt core, this returns \f(CW\*(C`$term\->ncol\*(C'\fR if the 1380length\*(R"). Unlike the urxvt core, this returns \f(CW\*(C`$term\->ncol\*(C'\fR if the
1374line is joined with the following one. 1381line is joined with the following one.
1375.ie n .IP "$bool\fR = \f(CW$term\->is_longer ($row_number)" 4 1382.ie n .IP "$bool = $term\->is_longer ($row_number)" 4
1376.el .IP "\f(CW$bool\fR = \f(CW$term\fR\->is_longer ($row_number)" 4 1383.el .IP "$bool = \f(CW$term\fR\->is_longer ($row_number)" 4
1377.IX Item "$bool = $term->is_longer ($row_number)" 1384.IX Item "$bool = $term->is_longer ($row_number)"
1378Returns true if the row is part of a multiple-row logical \*(L"line\*(R" (i.e. 1385Returns true if the row is part of a multiple-row logical \*(L"line\*(R" (i.e.
1379joined with the following row), which means all characters are in use 1386joined with the following row), which means all characters are in use
1380and it is continued on the next row (and possibly a continuation of the 1387and it is continued on the next row (and possibly a continuation of the
1381previous row(s)). 1388previous row(s)).
1382.ie n .IP "$line\fR = \f(CW$term\->line ($row_number)" 4 1389.ie n .IP "$line = $term\->line ($row_number)" 4
1383.el .IP "\f(CW$line\fR = \f(CW$term\fR\->line ($row_number)" 4 1390.el .IP "$line = \f(CW$term\fR\->line ($row_number)" 4
1384.IX Item "$line = $term->line ($row_number)" 1391.IX Item "$line = $term->line ($row_number)"
1385Create and return a new \f(CW\*(C`urxvt::line\*(C'\fR object that stores information 1392Create and return a new \f(CW\*(C`urxvt::line\*(C'\fR object that stores information
1386about the logical line that row \f(CW$row_number\fR is part of. It supports the 1393about the logical line that row \f(CW$row_number\fR is part of. It supports the
1387following methods: 1394following methods:
1388.RS 4 1395.RS 4
1389.ie n .IP "$text\fR = \f(CW$line\->t ([$new_text])" 4 1396.ie n .IP "$text = $line\->t ([$new_text])" 4
1390.el .IP "\f(CW$text\fR = \f(CW$line\fR\->t ([$new_text])" 4 1397.el .IP "$text = \f(CW$line\fR\->t ([$new_text])" 4
1391.IX Item "$text = $line->t ([$new_text])" 1398.IX Item "$text = $line->t ([$new_text])"
1392Returns or replaces the full text of the line, similar to \f(CW\*(C`ROW_t\*(C'\fR 1399Returns or replaces the full text of the line, similar to \f(CW\*(C`ROW_t\*(C'\fR
1393.ie n .IP "$rend\fR = \f(CW$line\->r ([$new_rend])" 4 1400.ie n .IP "$rend = $line\->r ([$new_rend])" 4
1394.el .IP "\f(CW$rend\fR = \f(CW$line\fR\->r ([$new_rend])" 4 1401.el .IP "$rend = \f(CW$line\fR\->r ([$new_rend])" 4
1395.IX Item "$rend = $line->r ([$new_rend])" 1402.IX Item "$rend = $line->r ([$new_rend])"
1396Returns or replaces the full rendition array of the line, similar to \f(CW\*(C`ROW_r\*(C'\fR 1403Returns or replaces the full rendition array of the line, similar to \f(CW\*(C`ROW_r\*(C'\fR
1397.ie n .IP "$length\fR = \f(CW$line\->l" 4 1404.ie n .IP "$length = $line\->l" 4
1398.el .IP "\f(CW$length\fR = \f(CW$line\fR\->l" 4 1405.el .IP "$length = \f(CW$line\fR\->l" 4
1399.IX Item "$length = $line->l" 1406.IX Item "$length = $line->l"
1400Returns the length of the line in cells, similar to \f(CW\*(C`ROW_l\*(C'\fR. 1407Returns the length of the line in cells, similar to \f(CW\*(C`ROW_l\*(C'\fR.
1401.ie n .IP "$rownum\fR = \f(CW$line\->beg" 4 1408.ie n .IP "$rownum = $line\->beg" 4
1402.el .IP "\f(CW$rownum\fR = \f(CW$line\fR\->beg" 4 1409.el .IP "$rownum = \f(CW$line\fR\->beg" 4
1403.IX Item "$rownum = $line->beg" 1410.IX Item "$rownum = $line->beg"
1404.PD 0 1411.PD 0
1405.ie n .IP "$rownum\fR = \f(CW$line\->end" 4 1412.ie n .IP "$rownum = $line\->end" 4
1406.el .IP "\f(CW$rownum\fR = \f(CW$line\fR\->end" 4 1413.el .IP "$rownum = \f(CW$line\fR\->end" 4
1407.IX Item "$rownum = $line->end" 1414.IX Item "$rownum = $line->end"
1408.PD 1415.PD
1409Return the row number of the first/last row of the line, respectively. 1416Return the row number of the first/last row of the line, respectively.
1410.ie n .IP "$offset\fR = \f(CW$line\fR\->offset_of ($row, \f(CW$col)" 4 1417.ie n .IP "$offset = $line\fR\->offset_of ($row, \f(CW$col)" 4
1411.el .IP "\f(CW$offset\fR = \f(CW$line\fR\->offset_of ($row, \f(CW$col\fR)" 4 1418.el .IP "$offset = \f(CW$line\fR\->offset_of ($row, \f(CW$col\fR)" 4
1412.IX Item "$offset = $line->offset_of ($row, $col)" 1419.IX Item "$offset = $line->offset_of ($row, $col)"
1413Returns the character offset of the given row|col pair within the logical 1420Returns the character offset of the given row|col pair within the logical
1414line. Works for rows outside the line, too, and returns corresponding 1421line. Works for rows outside the line, too, and returns corresponding
1415offsets outside the string. 1422offsets outside the string.
1416.ie n .IP "($row, $col\fR) = \f(CW$line\->coord_of ($offset)" 4 1423.ie n .IP "($row, $col\fR) = \f(CW$line\->coord_of ($offset)" 4
1418.IX Item "($row, $col) = $line->coord_of ($offset)" 1425.IX Item "($row, $col) = $line->coord_of ($offset)"
1419Translates a string offset into terminal coordinates again. 1426Translates a string offset into terminal coordinates again.
1420.RE 1427.RE
1421.RS 4 1428.RS 4
1422.RE 1429.RE
1423.ie n .IP "$text\fR = \f(CW$term\fR\->special_encode \f(CW$string" 4 1430.ie n .IP "$text = $term\fR\->special_encode \f(CW$string" 4
1424.el .IP "\f(CW$text\fR = \f(CW$term\fR\->special_encode \f(CW$string\fR" 4 1431.el .IP "$text = \f(CW$term\fR\->special_encode \f(CW$string\fR" 4
1425.IX Item "$text = $term->special_encode $string" 1432.IX Item "$text = $term->special_encode $string"
1426Converts a perl string into the special encoding used by rxvt\-unicode, 1433Converts a perl string into the special encoding used by rxvt\-unicode,
1427where one character corresponds to one screen cell. See 1434where one character corresponds to one screen cell. See
1428\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details. 1435\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details.
1429.ie n .IP "$string\fR = \f(CW$term\fR\->special_decode \f(CW$text" 4 1436.ie n .IP "$string = $term\fR\->special_decode \f(CW$text" 4
1430.el .IP "\f(CW$string\fR = \f(CW$term\fR\->special_decode \f(CW$text\fR" 4 1437.el .IP "$string = \f(CW$term\fR\->special_decode \f(CW$text\fR" 4
1431.IX Item "$string = $term->special_decode $text" 1438.IX Item "$string = $term->special_decode $text"
1432Converts rxvt-unicodes text representation into a perl string. See 1439Converts rxvt-unicodes text representation into a perl string. See
1433\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details. 1440\&\f(CW\*(C`$term\->ROW_t\*(C'\fR for details.
1434.ie n .IP "$success\fR = \f(CW$term\fR\->grab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\->vt])" 4 1441.ie n .IP "$success = $term\fR\->grab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\->vt])" 4
1435.el .IP "\f(CW$success\fR = \f(CW$term\fR\->grab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\fR\->vt])" 4 1442.el .IP "$success = \f(CW$term\fR\->grab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\fR\->vt])" 4
1436.IX Item "$success = $term->grab_button ($button, $modifiermask[, $window = $term->vt])" 1443.IX Item "$success = $term->grab_button ($button, $modifiermask[, $window = $term->vt])"
1437.PD 0 1444.PD 0
1438.ie n .IP "$term\fR\->ungrab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\->vt])" 4 1445.ie n .IP "$term\->ungrab_button ($button, $modifiermask\fR[, \f(CW$window\fR = \f(CW$term\->vt])" 4
1439.el .IP "\f(CW$term\fR\->ungrab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\fR\->vt])" 4 1446.el .IP "$term\->ungrab_button ($button, \f(CW$modifiermask\fR[, \f(CW$window\fR = \f(CW$term\fR\->vt])" 4
1440.IX Item "$term->ungrab_button ($button, $modifiermask[, $window = $term->vt])" 1447.IX Item "$term->ungrab_button ($button, $modifiermask[, $window = $term->vt])"
1441.PD 1448.PD
1442Register/unregister a synchronous button grab. See the XGrabButton 1449Register/unregister a synchronous button grab. See the XGrabButton
1443manpage. 1450manpage.
1444.ie n .IP "$success\fR = \f(CW$term\fR\->grab ($eventtime[, \f(CW$sync])" 4 1451.ie n .IP "$success = $term\fR\->grab ($eventtime[, \f(CW$sync])" 4
1445.el .IP "\f(CW$success\fR = \f(CW$term\fR\->grab ($eventtime[, \f(CW$sync\fR])" 4 1452.el .IP "$success = \f(CW$term\fR\->grab ($eventtime[, \f(CW$sync\fR])" 4
1446.IX Item "$success = $term->grab ($eventtime[, $sync])" 1453.IX Item "$success = $term->grab ($eventtime[, $sync])"
1447Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or 1454Calls XGrabPointer and XGrabKeyboard in asynchronous (default) or
1448synchronous (\f(CW$sync\fR is true). Also remembers the grab timestamp. 1455synchronous (\f(CW$sync\fR is true). Also remembers the grab timestamp.
1449.ie n .IP "$term\->allow_events_async" 4 1456.IP "$term\->allow_events_async" 4
1450.el .IP "\f(CW$term\fR\->allow_events_async" 4
1451.IX Item "$term->allow_events_async" 1457.IX Item "$term->allow_events_async"
1452Calls XAllowEvents with AsyncBoth for the most recent grab. 1458Calls XAllowEvents with AsyncBoth for the most recent grab.
1453.ie n .IP "$term\->allow_events_sync" 4 1459.IP "$term\->allow_events_sync" 4
1454.el .IP "\f(CW$term\fR\->allow_events_sync" 4
1455.IX Item "$term->allow_events_sync" 1460.IX Item "$term->allow_events_sync"
1456Calls XAllowEvents with SyncBoth for the most recent grab. 1461Calls XAllowEvents with SyncBoth for the most recent grab.
1457.ie n .IP "$term\->allow_events_replay" 4 1462.IP "$term\->allow_events_replay" 4
1458.el .IP "\f(CW$term\fR\->allow_events_replay" 4
1459.IX Item "$term->allow_events_replay" 1463.IX Item "$term->allow_events_replay"
1460Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for the most 1464Calls XAllowEvents with both ReplayPointer and ReplayKeyboard for the most
1461recent grab. 1465recent grab.
1462.ie n .IP "$term\->ungrab" 4 1466.IP "$term\->ungrab" 4
1463.el .IP "\f(CW$term\fR\->ungrab" 4
1464.IX Item "$term->ungrab" 1467.IX Item "$term->ungrab"
1465Calls XUngrab for the most recent grab. Is called automatically on 1468Calls XUngrab for the most recent grab. Is called automatically on
1466evaluation errors, as it is better to lose the grab in the error case as 1469evaluation errors, as it is better to lose the grab in the error case as
1467the session. 1470the session.
1468.ie n .IP "$atom\fR = \f(CW$term\fR\->XInternAtom ($atom_name[, \f(CW$only_if_exists])" 4 1471.ie n .IP "$atom = $term\fR\->XInternAtom ($atom_name[, \f(CW$only_if_exists])" 4
1469.el .IP "\f(CW$atom\fR = \f(CW$term\fR\->XInternAtom ($atom_name[, \f(CW$only_if_exists\fR])" 4 1472.el .IP "$atom = \f(CW$term\fR\->XInternAtom ($atom_name[, \f(CW$only_if_exists\fR])" 4
1470.IX Item "$atom = $term->XInternAtom ($atom_name[, $only_if_exists])" 1473.IX Item "$atom = $term->XInternAtom ($atom_name[, $only_if_exists])"
1471.PD 0 1474.PD 0
1472.ie n .IP "$atom_name\fR = \f(CW$term\->XGetAtomName ($atom)" 4 1475.ie n .IP "$atom_name = $term\->XGetAtomName ($atom)" 4
1473.el .IP "\f(CW$atom_name\fR = \f(CW$term\fR\->XGetAtomName ($atom)" 4 1476.el .IP "$atom_name = \f(CW$term\fR\->XGetAtomName ($atom)" 4
1474.IX Item "$atom_name = $term->XGetAtomName ($atom)" 1477.IX Item "$atom_name = $term->XGetAtomName ($atom)"
1475.ie n .IP "@atoms\fR = \f(CW$term\->XListProperties ($window)" 4 1478.ie n .IP "@atoms = $term\->XListProperties ($window)" 4
1476.el .IP "\f(CW@atoms\fR = \f(CW$term\fR\->XListProperties ($window)" 4 1479.el .IP "@atoms = \f(CW$term\fR\->XListProperties ($window)" 4
1477.IX Item "@atoms = $term->XListProperties ($window)" 1480.IX Item "@atoms = $term->XListProperties ($window)"
1478.ie n .IP "($type,$format,$octets) = $term\fR\->XGetWindowProperty ($window, \f(CW$property)" 4 1481.ie n .IP "($type,$format,$octets) = $term\fR\->XGetWindowProperty ($window, \f(CW$property)" 4
1479.el .IP "($type,$format,$octets) = \f(CW$term\fR\->XGetWindowProperty ($window, \f(CW$property\fR)" 4 1482.el .IP "($type,$format,$octets) = \f(CW$term\fR\->XGetWindowProperty ($window, \f(CW$property\fR)" 4
1480.IX Item "($type,$format,$octets) = $term->XGetWindowProperty ($window, $property)" 1483.IX Item "($type,$format,$octets) = $term->XGetWindowProperty ($window, $property)"
1481.ie n .IP "$term\fR\->XChangeWindowProperty ($window, \f(CW$property\fR, \f(CW$type\fR, \f(CW$format\fR, \f(CW$octets)" 4 1484.ie n .IP "$term\->XChangeWindowProperty ($window, $property\fR, \f(CW$type\fR, \f(CW$format\fR, \f(CW$octets)" 4
1482.el .IP "\f(CW$term\fR\->XChangeWindowProperty ($window, \f(CW$property\fR, \f(CW$type\fR, \f(CW$format\fR, \f(CW$octets\fR)" 4 1485.el .IP "$term\->XChangeWindowProperty ($window, \f(CW$property\fR, \f(CW$type\fR, \f(CW$format\fR, \f(CW$octets\fR)" 4
1483.IX Item "$term->XChangeWindowProperty ($window, $property, $type, $format, $octets)" 1486.IX Item "$term->XChangeWindowProperty ($window, $property, $type, $format, $octets)"
1484.ie n .IP "$term\fR\->XDeleteProperty ($window, \f(CW$property)" 4 1487.ie n .IP "$term\->XDeleteProperty ($window, $property)" 4
1485.el .IP "\f(CW$term\fR\->XDeleteProperty ($window, \f(CW$property\fR)" 4 1488.el .IP "$term\->XDeleteProperty ($window, \f(CW$property\fR)" 4
1486.IX Item "$term->XDeleteProperty ($window, $property)" 1489.IX Item "$term->XDeleteProperty ($window, $property)"
1487.ie n .IP "$window\fR = \f(CW$term\->DefaultRootWindow" 4 1490.ie n .IP "$window = $term\->DefaultRootWindow" 4
1488.el .IP "\f(CW$window\fR = \f(CW$term\fR\->DefaultRootWindow" 4 1491.el .IP "$window = \f(CW$term\fR\->DefaultRootWindow" 4
1489.IX Item "$window = $term->DefaultRootWindow" 1492.IX Item "$window = $term->DefaultRootWindow"
1490.ie n .IP "$term\fR\->XReparentWindow ($window, \f(CW$parent\fR, [$x, \f(CW$y])" 4 1493.ie n .IP "$term\->XReparentWindow ($window, $parent\fR, [$x, \f(CW$y])" 4
1491.el .IP "\f(CW$term\fR\->XReparentWindow ($window, \f(CW$parent\fR, [$x, \f(CW$y\fR])" 4 1494.el .IP "$term\->XReparentWindow ($window, \f(CW$parent\fR, [$x, \f(CW$y\fR])" 4
1492.IX Item "$term->XReparentWindow ($window, $parent, [$x, $y])" 1495.IX Item "$term->XReparentWindow ($window, $parent, [$x, $y])"
1493.ie n .IP "$term\->XMapWindow ($window)" 4 1496.IP "$term\->XMapWindow ($window)" 4
1494.el .IP "\f(CW$term\fR\->XMapWindow ($window)" 4
1495.IX Item "$term->XMapWindow ($window)" 1497.IX Item "$term->XMapWindow ($window)"
1496.ie n .IP "$term\->XUnmapWindow ($window)" 4 1498.IP "$term\->XUnmapWindow ($window)" 4
1497.el .IP "\f(CW$term\fR\->XUnmapWindow ($window)" 4
1498.IX Item "$term->XUnmapWindow ($window)" 1499.IX Item "$term->XUnmapWindow ($window)"
1499.ie n .IP "$term\fR\->XMoveResizeWindow ($window, \f(CW$x\fR, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height)" 4 1500.ie n .IP "$term\->XMoveResizeWindow ($window, $x\fR, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height)" 4
1500.el .IP "\f(CW$term\fR\->XMoveResizeWindow ($window, \f(CW$x\fR, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height\fR)" 4 1501.el .IP "$term\->XMoveResizeWindow ($window, \f(CW$x\fR, \f(CW$y\fR, \f(CW$width\fR, \f(CW$height\fR)" 4
1501.IX Item "$term->XMoveResizeWindow ($window, $x, $y, $width, $height)" 1502.IX Item "$term->XMoveResizeWindow ($window, $x, $y, $width, $height)"
1502.ie n .IP "($x, $y\fR, \f(CW$child_window\fR) = \f(CW$term\fR\->XTranslateCoordinates ($src, \f(CW$dst\fR, \f(CW$x\fR, \f(CW$y)" 4 1503.ie n .IP "($x, $y\fR, \f(CW$child_window\fR) = \f(CW$term\fR\->XTranslateCoordinates ($src, \f(CW$dst\fR, \f(CW$x\fR, \f(CW$y)" 4
1503.el .IP "($x, \f(CW$y\fR, \f(CW$child_window\fR) = \f(CW$term\fR\->XTranslateCoordinates ($src, \f(CW$dst\fR, \f(CW$x\fR, \f(CW$y\fR)" 4 1504.el .IP "($x, \f(CW$y\fR, \f(CW$child_window\fR) = \f(CW$term\fR\->XTranslateCoordinates ($src, \f(CW$dst\fR, \f(CW$x\fR, \f(CW$y\fR)" 4
1504.IX Item "($x, $y, $child_window) = $term->XTranslateCoordinates ($src, $dst, $x, $y)" 1505.IX Item "($x, $y, $child_window) = $term->XTranslateCoordinates ($src, $dst, $x, $y)"
1505.ie n .IP "$term\fR\->XChangeInput ($window, \f(CW$add_events\fR[, \f(CW$del_events])" 4 1506.ie n .IP "$term\->XChangeInput ($window, $add_events\fR[, \f(CW$del_events])" 4
1506.el .IP "\f(CW$term\fR\->XChangeInput ($window, \f(CW$add_events\fR[, \f(CW$del_events\fR])" 4 1507.el .IP "$term\->XChangeInput ($window, \f(CW$add_events\fR[, \f(CW$del_events\fR])" 4
1507.IX Item "$term->XChangeInput ($window, $add_events[, $del_events])" 1508.IX Item "$term->XChangeInput ($window, $add_events[, $del_events])"
1508.PD 1509.PD
1509Various X or X\-related functions. The \f(CW$term\fR object only serves as 1510Various X or X\-related functions. The \f(CW$term\fR object only serves as
1510the source of the display, otherwise those functions map more-or-less 1511the source of the display, otherwise those functions map more-or-less
1511directory onto the X functions of the same name. 1512directory onto the X functions of the same name.
1512.ie n .Sh "The ""urxvt::popup"" Class" 1513.ie n .Sh "The ""urxvt::popup"" Class"
1513.el .Sh "The \f(CWurxvt::popup\fP Class" 1514.el .Sh "The \f(CWurxvt::popup\fP Class"
1514.IX Subsection "The urxvt::popup Class" 1515.IX Subsection "The urxvt::popup Class"
1515.ie n .IP "$popup\->add_title ($title)" 4 1516.IP "$popup\->add_title ($title)" 4
1516.el .IP "\f(CW$popup\fR\->add_title ($title)" 4
1517.IX Item "$popup->add_title ($title)" 1517.IX Item "$popup->add_title ($title)"
1518Adds a non-clickable title to the popup. 1518Adds a non-clickable title to the popup.
1519.ie n .IP "$popup\->add_separator ([$sepchr])" 4 1519.IP "$popup\->add_separator ([$sepchr])" 4
1520.el .IP "\f(CW$popup\fR\->add_separator ([$sepchr])" 4
1521.IX Item "$popup->add_separator ([$sepchr])" 1520.IX Item "$popup->add_separator ([$sepchr])"
1522Creates a separator, optionally using the character given as \f(CW$sepchr\fR. 1521Creates a separator, optionally using the character given as \f(CW$sepchr\fR.
1523.ie n .IP "$popup\fR\->add_button ($text, \f(CW$cb)" 4 1522.ie n .IP "$popup\->add_button ($text, $cb)" 4
1524.el .IP "\f(CW$popup\fR\->add_button ($text, \f(CW$cb\fR)" 4 1523.el .IP "$popup\->add_button ($text, \f(CW$cb\fR)" 4
1525.IX Item "$popup->add_button ($text, $cb)" 1524.IX Item "$popup->add_button ($text, $cb)"
1526Adds a clickable button to the popup. \f(CW$cb\fR is called whenever it is 1525Adds a clickable button to the popup. \f(CW$cb\fR is called whenever it is
1527selected. 1526selected.
1528.ie n .IP "$popup\fR\->add_toggle ($text, \f(CW$initial_value\fR, \f(CW$cb)" 4 1527.ie n .IP "$popup\->add_toggle ($text, $initial_value\fR, \f(CW$cb)" 4
1529.el .IP "\f(CW$popup\fR\->add_toggle ($text, \f(CW$initial_value\fR, \f(CW$cb\fR)" 4 1528.el .IP "$popup\->add_toggle ($text, \f(CW$initial_value\fR, \f(CW$cb\fR)" 4
1530.IX Item "$popup->add_toggle ($text, $initial_value, $cb)" 1529.IX Item "$popup->add_toggle ($text, $initial_value, $cb)"
1531Adds a toggle/checkbox item to the popup. The callback gets called 1530Adds a toggle/checkbox item to the popup. The callback gets called
1532whenever it gets toggled, with a boolean indicating its new value as its 1531whenever it gets toggled, with a boolean indicating its new value as its
1533first argument. 1532first argument.
1534.ie n .IP "$popup\->show" 4 1533.IP "$popup\->show" 4
1535.el .IP "\f(CW$popup\fR\->show" 4
1536.IX Item "$popup->show" 1534.IX Item "$popup->show"
1537Displays the popup (which is initially hidden). 1535Displays the popup (which is initially hidden).
1538.ie n .Sh "The ""urxvt::timer"" Class" 1536.ie n .Sh "The ""urxvt::timer"" Class"
1539.el .Sh "The \f(CWurxvt::timer\fP Class" 1537.el .Sh "The \f(CWurxvt::timer\fP Class"
1540.IX Subsection "The urxvt::timer Class" 1538.IX Subsection "The urxvt::timer Class"
1541This class implements timer watchers/events. Time is represented as a 1539This class implements timer watchers/events. Time is represented as a
1542fractional number of seconds since the epoch. Example: 1540fractional number of seconds since the epoch. Example:
1543.PP 1541.PP
1544.Vb 8 1542.Vb 8
1545\& $term\->{overlay} = $term\->overlay (\-1, 0, 8, 1, urxvt::OVERLAY_RSTYLE, 0); 1543\& $term->{overlay} = $term->overlay (-1, 0, 8, 1, urxvt::OVERLAY_RSTYLE, 0);
1546\& $term\->{timer} = urxvt::timer 1544\& $term->{timer} = urxvt::timer
1547\& \->new 1545\& ->new
1548\& \->interval (1) 1546\& ->interval (1)
1549\& \->cb (sub { 1547\& ->cb (sub {
1550\& $term\->{overlay}\->set (0, 0, 1548\& $term->{overlay}->set (0, 0,
1551\& sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]); 1549\& sprintf "%2d:%02d:%02d", (localtime urxvt::NOW)[2,1,0]);
1552\& }); 1550\& });
1553.Ve 1551.Ve
1554.ie n .IP "$timer = new urxvt::timer" 4 1552.IP "$timer = new urxvt::timer" 4
1555.el .IP "\f(CW$timer\fR = new urxvt::timer" 4
1556.IX Item "$timer = new urxvt::timer" 1553.IX Item "$timer = new urxvt::timer"
1557Create a new timer object in started state. It is scheduled to fire 1554Create a new timer object in started state. It is scheduled to fire
1558immediately. 1555immediately.
1559.ie n .IP "$timer\fR = \f(CW$timer\fR\->cb (sub { my ($timer) = \f(CW@_; ... })" 4 1556.ie n .IP "$timer = $timer\fR\->cb (sub { my ($timer) = \f(CW@_; ... })" 4
1560.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->cb (sub { my ($timer) = \f(CW@_\fR; ... })" 4 1557.el .IP "$timer = \f(CW$timer\fR\->cb (sub { my ($timer) = \f(CW@_\fR; ... })" 4
1561.IX Item "$timer = $timer->cb (sub { my ($timer) = @_; ... })" 1558.IX Item "$timer = $timer->cb (sub { my ($timer) = @_; ... })"
1562Set the callback to be called when the timer triggers. 1559Set the callback to be called when the timer triggers.
1563.ie n .IP "$tstamp\fR = \f(CW$timer\->at" 4 1560.ie n .IP "$tstamp = $timer\->at" 4
1564.el .IP "\f(CW$tstamp\fR = \f(CW$timer\fR\->at" 4 1561.el .IP "$tstamp = \f(CW$timer\fR\->at" 4
1565.IX Item "$tstamp = $timer->at" 1562.IX Item "$tstamp = $timer->at"
1566Return the time this watcher will fire next. 1563Return the time this watcher will fire next.
1567.ie n .IP "$timer\fR = \f(CW$timer\->set ($tstamp)" 4 1564.ie n .IP "$timer = $timer\->set ($tstamp)" 4
1568.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->set ($tstamp)" 4 1565.el .IP "$timer = \f(CW$timer\fR\->set ($tstamp)" 4
1569.IX Item "$timer = $timer->set ($tstamp)" 1566.IX Item "$timer = $timer->set ($tstamp)"
1570Set the time the event is generated to \f(CW$tstamp\fR. 1567Set the time the event is generated to \f(CW$tstamp\fR.
1571.ie n .IP "$timer\fR = \f(CW$timer\->interval ($interval)" 4 1568.ie n .IP "$timer = $timer\->interval ($interval)" 4
1572.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->interval ($interval)" 4 1569.el .IP "$timer = \f(CW$timer\fR\->interval ($interval)" 4
1573.IX Item "$timer = $timer->interval ($interval)" 1570.IX Item "$timer = $timer->interval ($interval)"
1574Normally (and when \f(CW$interval\fR is \f(CW0\fR), the timer will automatically 1571Normally (and when \f(CW$interval\fR is \f(CW0\fR), the timer will automatically
1575stop after it has fired once. If \f(CW$interval\fR is non\-zero, then the timer 1572stop after it has fired once. If \f(CW$interval\fR is non\-zero, then the timer
1576is automatically rescheduled at the given intervals. 1573is automatically rescheduled at the given intervals.
1577.ie n .IP "$timer\fR = \f(CW$timer\->start" 4 1574.ie n .IP "$timer = $timer\->start" 4
1578.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->start" 4 1575.el .IP "$timer = \f(CW$timer\fR\->start" 4
1579.IX Item "$timer = $timer->start" 1576.IX Item "$timer = $timer->start"
1580Start the timer. 1577Start the timer.
1581.ie n .IP "$timer\fR = \f(CW$timer\->start ($tstamp)" 4 1578.ie n .IP "$timer = $timer\->start ($tstamp)" 4
1582.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->start ($tstamp)" 4 1579.el .IP "$timer = \f(CW$timer\fR\->start ($tstamp)" 4
1583.IX Item "$timer = $timer->start ($tstamp)" 1580.IX Item "$timer = $timer->start ($tstamp)"
1584Set the event trigger time to \f(CW$tstamp\fR and start the timer. 1581Set the event trigger time to \f(CW$tstamp\fR and start the timer.
1585.ie n .IP "$timer\fR = \f(CW$timer\->after ($delay)" 4 1582.ie n .IP "$timer = $timer\->after ($delay)" 4
1586.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->after ($delay)" 4 1583.el .IP "$timer = \f(CW$timer\fR\->after ($delay)" 4
1587.IX Item "$timer = $timer->after ($delay)" 1584.IX Item "$timer = $timer->after ($delay)"
1588Like \f(CW\*(C`start\*(C'\fR, but sets the expiry timer to c<urxvt::NOW + \f(CW$delay\fR>. 1585Like \f(CW\*(C`start\*(C'\fR, but sets the expiry timer to c<urxvt::NOW + \f(CW$delay\fR>.
1589.ie n .IP "$timer\fR = \f(CW$timer\->stop" 4 1586.ie n .IP "$timer = $timer\->stop" 4
1590.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->stop" 4 1587.el .IP "$timer = \f(CW$timer\fR\->stop" 4
1591.IX Item "$timer = $timer->stop" 1588.IX Item "$timer = $timer->stop"
1592Stop the timer. 1589Stop the timer.
1593.ie n .Sh "The ""urxvt::iow"" Class" 1590.ie n .Sh "The ""urxvt::iow"" Class"
1594.el .Sh "The \f(CWurxvt::iow\fP Class" 1591.el .Sh "The \f(CWurxvt::iow\fP Class"
1595.IX Subsection "The urxvt::iow Class" 1592.IX Subsection "The urxvt::iow Class"
1596This class implements io watchers/events. Example: 1593This class implements io watchers/events. Example:
1597.PP 1594.PP
1598.Vb 12 1595.Vb 12
1599\& $term\->{socket} = ... 1596\& $term->{socket} = ...
1600\& $term\->{iow} = urxvt::iow 1597\& $term->{iow} = urxvt::iow
1601\& \->new 1598\& ->new
1602\& \->fd (fileno $term\->{socket}) 1599\& ->fd (fileno $term->{socket})
1603\& \->events (urxvt::EVENT_READ) 1600\& ->events (urxvt::EVENT_READ)
1604\& \->start 1601\& ->start
1605\& \->cb (sub { 1602\& ->cb (sub {
1606\& my ($iow, $revents) = @_; 1603\& my ($iow, $revents) = @_;
1607\& # $revents must be 1 here, no need to check 1604\& # $revents must be 1 here, no need to check
1608\& sysread $term\->{socket}, my $buf, 8192 1605\& sysread $term->{socket}, my $buf, 8192
1609\& or end\-of\-file; 1606\& or end-of-file;
1610\& }); 1607\& });
1611.Ve 1608.Ve
1612.ie n .IP "$iow = new urxvt::iow" 4 1609.IP "$iow = new urxvt::iow" 4
1613.el .IP "\f(CW$iow\fR = new urxvt::iow" 4
1614.IX Item "$iow = new urxvt::iow" 1610.IX Item "$iow = new urxvt::iow"
1615Create a new io watcher object in stopped state. 1611Create a new io watcher object in stopped state.
1616.ie n .IP "$iow\fR = \f(CW$iow\fR\->cb (sub { my ($iow, \f(CW$reventmask\fR) = \f(CW@_; ... })" 4 1612.ie n .IP "$iow = $iow\fR\->cb (sub { my ($iow, \f(CW$reventmask\fR) = \f(CW@_; ... })" 4
1617.el .IP "\f(CW$iow\fR = \f(CW$iow\fR\->cb (sub { my ($iow, \f(CW$reventmask\fR) = \f(CW@_\fR; ... })" 4 1613.el .IP "$iow = \f(CW$iow\fR\->cb (sub { my ($iow, \f(CW$reventmask\fR) = \f(CW@_\fR; ... })" 4
1618.IX Item "$iow = $iow->cb (sub { my ($iow, $reventmask) = @_; ... })" 1614.IX Item "$iow = $iow->cb (sub { my ($iow, $reventmask) = @_; ... })"
1619Set the callback to be called when io events are triggered. \f(CW$reventmask\fR 1615Set the callback to be called when io events are triggered. \f(CW$reventmask\fR
1620is a bitset as described in the \f(CW\*(C`events\*(C'\fR method. 1616is a bitset as described in the \f(CW\*(C`events\*(C'\fR method.
1621.ie n .IP "$iow\fR = \f(CW$iow\->fd ($fd)" 4 1617.ie n .IP "$iow = $iow\->fd ($fd)" 4
1622.el .IP "\f(CW$iow\fR = \f(CW$iow\fR\->fd ($fd)" 4 1618.el .IP "$iow = \f(CW$iow\fR\->fd ($fd)" 4
1623.IX Item "$iow = $iow->fd ($fd)" 1619.IX Item "$iow = $iow->fd ($fd)"
1624Set the file descriptor (not handle) to watch. 1620Set the file descriptor (not handle) to watch.
1625.ie n .IP "$iow\fR = \f(CW$iow\->events ($eventmask)" 4 1621.ie n .IP "$iow = $iow\->events ($eventmask)" 4
1626.el .IP "\f(CW$iow\fR = \f(CW$iow\fR\->events ($eventmask)" 4 1622.el .IP "$iow = \f(CW$iow\fR\->events ($eventmask)" 4
1627.IX Item "$iow = $iow->events ($eventmask)" 1623.IX Item "$iow = $iow->events ($eventmask)"
1628Set the event mask to watch. The only allowed values are 1624Set the event mask to watch. The only allowed values are
1629\&\f(CW\*(C`urxvt::EVENT_READ\*(C'\fR and \f(CW\*(C`urxvt::EVENT_WRITE\*(C'\fR, which might be ORed 1625\&\f(CW\*(C`urxvt::EVENT_READ\*(C'\fR and \f(CW\*(C`urxvt::EVENT_WRITE\*(C'\fR, which might be ORed
1630together, or \f(CW\*(C`urxvt::EVENT_NONE\*(C'\fR. 1626together, or \f(CW\*(C`urxvt::EVENT_NONE\*(C'\fR.
1631.ie n .IP "$iow\fR = \f(CW$iow\->start" 4 1627.ie n .IP "$iow = $iow\->start" 4
1632.el .IP "\f(CW$iow\fR = \f(CW$iow\fR\->start" 4 1628.el .IP "$iow = \f(CW$iow\fR\->start" 4
1633.IX Item "$iow = $iow->start" 1629.IX Item "$iow = $iow->start"
1634Start watching for requested events on the given handle. 1630Start watching for requested events on the given handle.
1635.ie n .IP "$iow\fR = \f(CW$iow\->stop" 4 1631.ie n .IP "$iow = $iow\->stop" 4
1636.el .IP "\f(CW$iow\fR = \f(CW$iow\fR\->stop" 4 1632.el .IP "$iow = \f(CW$iow\fR\->stop" 4
1637.IX Item "$iow = $iow->stop" 1633.IX Item "$iow = $iow->stop"
1638Stop watching for events on the given file handle. 1634Stop watching for events on the given file handle.
1639.ie n .Sh "The ""urxvt::iw"" Class" 1635.ie n .Sh "The ""urxvt::iw"" Class"
1640.el .Sh "The \f(CWurxvt::iw\fP Class" 1636.el .Sh "The \f(CWurxvt::iw\fP Class"
1641.IX Subsection "The urxvt::iw Class" 1637.IX Subsection "The urxvt::iw Class"
1642This class implements idle watchers, that get called automatically when 1638This class implements idle watchers, that get called automatically when
1643the process is idle. They should return as fast as possible, after doing 1639the process is idle. They should return as fast as possible, after doing
1644some useful work. 1640some useful work.
1645.ie n .IP "$iw = new urxvt::iw" 4 1641.IP "$iw = new urxvt::iw" 4
1646.el .IP "\f(CW$iw\fR = new urxvt::iw" 4
1647.IX Item "$iw = new urxvt::iw" 1642.IX Item "$iw = new urxvt::iw"
1648Create a new idle watcher object in stopped state. 1643Create a new idle watcher object in stopped state.
1649.ie n .IP "$iw\fR = \f(CW$iw\fR\->cb (sub { my ($iw) = \f(CW@_; ... })" 4 1644.ie n .IP "$iw = $iw\fR\->cb (sub { my ($iw) = \f(CW@_; ... })" 4
1650.el .IP "\f(CW$iw\fR = \f(CW$iw\fR\->cb (sub { my ($iw) = \f(CW@_\fR; ... })" 4 1645.el .IP "$iw = \f(CW$iw\fR\->cb (sub { my ($iw) = \f(CW@_\fR; ... })" 4
1651.IX Item "$iw = $iw->cb (sub { my ($iw) = @_; ... })" 1646.IX Item "$iw = $iw->cb (sub { my ($iw) = @_; ... })"
1652Set the callback to be called when the watcher triggers. 1647Set the callback to be called when the watcher triggers.
1653.ie n .IP "$timer\fR = \f(CW$timer\->start" 4 1648.ie n .IP "$timer = $timer\->start" 4
1654.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->start" 4 1649.el .IP "$timer = \f(CW$timer\fR\->start" 4
1655.IX Item "$timer = $timer->start" 1650.IX Item "$timer = $timer->start"
1656Start the watcher. 1651Start the watcher.
1657.ie n .IP "$timer\fR = \f(CW$timer\->stop" 4 1652.ie n .IP "$timer = $timer\->stop" 4
1658.el .IP "\f(CW$timer\fR = \f(CW$timer\fR\->stop" 4 1653.el .IP "$timer = \f(CW$timer\fR\->stop" 4
1659.IX Item "$timer = $timer->stop" 1654.IX Item "$timer = $timer->stop"
1660Stop the watcher. 1655Stop the watcher.
1661.ie n .Sh "The ""urxvt::pw"" Class" 1656.ie n .Sh "The ""urxvt::pw"" Class"
1662.el .Sh "The \f(CWurxvt::pw\fP Class" 1657.el .Sh "The \f(CWurxvt::pw\fP Class"
1663.IX Subsection "The urxvt::pw Class" 1658.IX Subsection "The urxvt::pw Class"
1665process exits, after which they stop automatically. 1660process exits, after which they stop automatically.
1666.PP 1661.PP
1667.Vb 9 1662.Vb 9
1668\& my $pid = fork; 1663\& my $pid = fork;
1669\& ... 1664\& ...
1670\& $term\->{pw} = urxvt::pw 1665\& $term->{pw} = urxvt::pw
1671\& \->new 1666\& ->new
1672\& \->start ($pid) 1667\& ->start ($pid)
1673\& \->cb (sub { 1668\& ->cb (sub {
1674\& my ($pw, $exit_status) = @_; 1669\& my ($pw, $exit_status) = @_;
1675\& ... 1670\& ...
1676\& }); 1671\& });
1677.Ve 1672.Ve
1678.ie n .IP "$pw = new urxvt::pw" 4 1673.IP "$pw = new urxvt::pw" 4
1679.el .IP "\f(CW$pw\fR = new urxvt::pw" 4
1680.IX Item "$pw = new urxvt::pw" 1674.IX Item "$pw = new urxvt::pw"
1681Create a new process watcher in stopped state. 1675Create a new process watcher in stopped state.
1682.ie n .IP "$pw\fR = \f(CW$pw\fR\->cb (sub { my ($pw, \f(CW$exit_status\fR) = \f(CW@_; ... })" 4 1676.ie n .IP "$pw = $pw\fR\->cb (sub { my ($pw, \f(CW$exit_status\fR) = \f(CW@_; ... })" 4
1683.el .IP "\f(CW$pw\fR = \f(CW$pw\fR\->cb (sub { my ($pw, \f(CW$exit_status\fR) = \f(CW@_\fR; ... })" 4 1677.el .IP "$pw = \f(CW$pw\fR\->cb (sub { my ($pw, \f(CW$exit_status\fR) = \f(CW@_\fR; ... })" 4
1684.IX Item "$pw = $pw->cb (sub { my ($pw, $exit_status) = @_; ... })" 1678.IX Item "$pw = $pw->cb (sub { my ($pw, $exit_status) = @_; ... })"
1685Set the callback to be called when the timer triggers. 1679Set the callback to be called when the timer triggers.
1686.ie n .IP "$pw\fR = \f(CW$timer\->start ($pid)" 4 1680.ie n .IP "$pw = $timer\->start ($pid)" 4
1687.el .IP "\f(CW$pw\fR = \f(CW$timer\fR\->start ($pid)" 4 1681.el .IP "$pw = \f(CW$timer\fR\->start ($pid)" 4
1688.IX Item "$pw = $timer->start ($pid)" 1682.IX Item "$pw = $timer->start ($pid)"
1689Tells the watcher to start watching for process \f(CW$pid\fR. 1683Tells the watcher to start watching for process \f(CW$pid\fR.
1690.ie n .IP "$pw\fR = \f(CW$pw\->stop" 4 1684.ie n .IP "$pw = $pw\->stop" 4
1691.el .IP "\f(CW$pw\fR = \f(CW$pw\fR\->stop" 4 1685.el .IP "$pw = \f(CW$pw\fR\->stop" 4
1692.IX Item "$pw = $pw->stop" 1686.IX Item "$pw = $pw->stop"
1693Stop the watcher. 1687Stop the watcher.
1694.SH "ENVIRONMENT" 1688.SH "ENVIRONMENT"
1695.IX Header "ENVIRONMENT" 1689.IX Header "ENVIRONMENT"
1696.Sh "\s-1URXVT_PERL_VERBOSITY\s0" 1690.Sh "\s-1URXVT_PERL_VERBOSITY\s0"
1709.PD 1703.PD
1710.SH "AUTHOR" 1704.SH "AUTHOR"
1711.IX Header "AUTHOR" 1705.IX Header "AUTHOR"
1712.Vb 2 1706.Vb 2
1713\& Marc Lehmann <pcg@goof.com> 1707\& Marc Lehmann <pcg@goof.com>
1714\& http://software.schmorp.de/pkg/rxvt\-unicode 1708\& http://software.schmorp.de/pkg/rxvt-unicode
1715.Ve 1709.Ve

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines