… | |
… | |
121 | <dd> |
121 | <dd> |
122 | <pre> |
122 | <pre> |
123 | URxvt.selection.pattern-0: \\|([^|]+)\\|</pre> |
123 | URxvt.selection.pattern-0: \\|([^|]+)\\|</pre> |
124 | </dd> |
124 | </dd> |
125 | <dd> |
125 | <dd> |
|
|
126 | <p>Another example: Programs I use often output ``absolute path: '' at the |
|
|
127 | beginning of a line when they process multiple files. The following |
|
|
128 | pattern matches the filename (note, there is a single space at the very |
|
|
129 | end):</p> |
|
|
130 | </dd> |
|
|
131 | <dd> |
|
|
132 | <pre> |
|
|
133 | URxvt.selection.pattern-0: ^(/[^:]+):\</pre> |
|
|
134 | </dd> |
|
|
135 | <dd> |
126 | <p>You can look at the source of the selection extension to see more |
136 | <p>You can look at the source of the selection extension to see more |
127 | interesting uses, such as parsing a line from beginning to end.</p> |
137 | interesting uses, such as parsing a line from beginning to end.</p> |
128 | </dd> |
138 | </dd> |
129 | <dd> |
139 | <dd> |
130 | <p>This extension also offers following bindable keyboard commands:</p> |
140 | <p>This extension also offers following bindable keyboard commands:</p> |
… | |
… | |
208 | </dd> |
218 | </dd> |
209 | <dd> |
219 | <dd> |
210 | <p>To avoid too many false positives, this is only done when:</p> |
220 | <p>To avoid too many false positives, this is only done when:</p> |
211 | </dd> |
221 | </dd> |
212 | <dl> |
222 | <dl> |
|
|
223 | <dt><strong><a name="item__2d_the_tty_is_in_icanon_state_2e">- the tty is in ICANON state.</a></strong><br /> |
|
|
224 | </dt> |
|
|
225 | <dt><strong><a name="item__2d_the_text_cursor_is_visible_2e">- the text cursor is visible.</a></strong><br /> |
|
|
226 | </dt> |
|
|
227 | <dt><strong><a name="item__2d_the_primary_screen_is_currently_being_displaye">- the primary screen is currently being displayed.</a></strong><br /> |
|
|
228 | </dt> |
213 | <dt><strong><a name="item_same">- the mouse is on the same (multi-row-) line as the text cursor.</a></strong><br /> |
229 | <dt><strong><a name="item_same">- the mouse is on the same (multi-row-) line as the text cursor.</a></strong><br /> |
214 | </dt> |
|
|
215 | <dt><strong><a name="item__2d_the_primary_screen_is_currently_being_displaye">- the primary screen is currently being displayed.</a></strong><br /> |
|
|
216 | </dt> |
|
|
217 | <dt><strong><a name="item__2d_the_text_cursor_is_visible_2e">- the text cursor is visible.</a></strong><br /> |
|
|
218 | </dt> |
230 | </dt> |
219 | </dl> |
231 | </dl> |
220 | <p>The normal selection mechanism isn't disabled, so quick successive clicks |
232 | <p>The normal selection mechanism isn't disabled, so quick successive clicks |
221 | might interfere with selection creation in harmless ways.</p> |
233 | might interfere with selection creation in harmless ways.</p> |
222 | <dt><strong><a name="item_selection_2dautotransform">selection-autotransform</a></strong><br /> |
234 | <dt><strong><a name="item_selection_2dautotransform">selection-autotransform</a></strong><br /> |
… | |
… | |
281 | <dd> |
293 | <dd> |
282 | <p>Clicking a button will activate that tab. Pressing <strong>Shift-Left</strong> and |
294 | <p>Clicking a button will activate that tab. Pressing <strong>Shift-Left</strong> and |
283 | <strong>Shift-Right</strong> will switch to the tab left or right of the current one, |
295 | <strong>Shift-Right</strong> will switch to the tab left or right of the current one, |
284 | while <strong>Shift-Down</strong> creates a new tab.</p> |
296 | while <strong>Shift-Down</strong> creates a new tab.</p> |
285 | </dd> |
297 | </dd> |
|
|
298 | <dd> |
|
|
299 | <p>The tabbar itself can be configured similarly to a normal terminal, but |
|
|
300 | with a resource class of <code>URxvt.tabbed</code>. In addition, it supports the |
|
|
301 | following four resources (shown with defaults):</p> |
|
|
302 | </dd> |
|
|
303 | <dd> |
|
|
304 | <pre> |
|
|
305 | URxvt.tabbed.tabbar-fg: <colour-index, default 3> |
|
|
306 | URxvt.tabbed.tabbar-bg: <colour-index, default 0> |
|
|
307 | URxvt.tabbed.tab-fg: <colour-index, default 0> |
|
|
308 | URxvt.tabbed.tab-bg: <colour-index, default 1></pre> |
|
|
309 | </dd> |
|
|
310 | <dd> |
|
|
311 | <p>See <em>COLOR AND GRAPHICS</em> in the <code>rxvt(1)</code> manpage for valid |
|
|
312 | indices.</p> |
|
|
313 | </dd> |
286 | <p></p> |
314 | <p></p> |
287 | <dt><strong><a name="item_mark_2durls">mark-urls</a></strong><br /> |
315 | <dt><strong><a name="item_mark_2durls">mark-urls</a></strong><br /> |
288 | </dt> |
316 | </dt> |
289 | <dd> |
317 | <dd> |
290 | Uses per-line display filtering (<code>on_line_update</code>) to underline urls and |
318 | Uses per-line display filtering (<code>on_line_update</code>) to underline urls and |
291 | make them clickable. When middle-clicked, the program specified in the |
319 | make them clickable. When middle-clicked, the program specified in the |
292 | resource <code>urlLauncher</code> (default <code>x-www-browser</code>) will be started with |
320 | resource <code>urlLauncher</code> (default <code>x-www-browser</code>) will be started with |
293 | the URL as first argument. |
321 | the URL as first argument. |
294 | </dd> |
322 | </dd> |
295 | <p></p> |
323 | <p></p> |
|
|
324 | <dt><strong><a name="item_xim_2donthespot">xim-onthespot</a></strong><br /> |
|
|
325 | </dt> |
|
|
326 | <dd> |
|
|
327 | This (experimental) perl extension implements OnTheSpot editing. It does |
|
|
328 | not work perfectly, and some input methods don't seem to work well with |
|
|
329 | OnTheSpot editing in general, but it seems to work at leats for SCIM and |
|
|
330 | kinput2. |
|
|
331 | </dd> |
|
|
332 | <dd> |
|
|
333 | <p>You enable it by specifying this extension and a preedit style of |
|
|
334 | <code>OnTheSpot</code>, i.e.:</p> |
|
|
335 | </dd> |
|
|
336 | <dd> |
|
|
337 | <pre> |
|
|
338 | rxvt -pt OnTheSpot -pe xim-onthespot</pre> |
|
|
339 | </dd> |
|
|
340 | <p></p> |
296 | <dt><strong><a name="item_automove_2dbackground">automove-background</a></strong><br /> |
341 | <dt><strong><a name="item_automove_2dbackground">automove-background</a></strong><br /> |
297 | </dt> |
342 | </dt> |
298 | <dd> |
343 | <dd> |
299 | This is basically a one-line extension that dynamically changes the background pixmap offset |
344 | This is basically a one-line extension that dynamically changes the background pixmap offset |
300 | to the window position, in effect creating the same effect as pseudo transparency with |
345 | to the window position, in effect creating the same effect as pseudo transparency with |
… | |
… | |
317 | </dt> |
362 | </dt> |
318 | <dd> |
363 | <dd> |
319 | Displays a digital clock using the built-in overlay. |
364 | Displays a digital clock using the built-in overlay. |
320 | </dd> |
365 | </dd> |
321 | <p></p> |
366 | <p></p> |
322 | <dt><strong><a name="item_example_2drefresh_2dhooks">example-refresh-hooks</a></strong><br /> |
367 | <dt><strong><a name="item_remote_2dclipboard">remote-clipboard</a></strong><br /> |
323 | </dt> |
368 | </dt> |
|
|
369 | <dd> |
|
|
370 | Somewhat of a misnomer, this extension adds two menu entries to the |
|
|
371 | selection popup that allows one ti run external commands to store the |
|
|
372 | selection somewhere and fetch it again. |
324 | <dd> |
373 | </dd> |
325 | Displays a very simple digital clock in the upper right corner of the |
374 | <dd> |
326 | window. Illustrates overwriting the refresh callbacks to create your own |
375 | <p>We use it to implement a ``distributed selection mechanism'', which just |
327 | overlays or changes. |
376 | means that one command uploads the file to a remote server, and another |
|
|
377 | reads it.</p> |
|
|
378 | </dd> |
|
|
379 | <dd> |
|
|
380 | <p>The commands can be set using the <code>URxvt.remote-selection.store</code> and |
|
|
381 | <code>URxvt.remote-selection.fetch</code> resources. The first should read the |
|
|
382 | selection to store from STDIN (always in UTF-8), the second should provide |
|
|
383 | the selection data on STDOUT (also in UTF-8).</p> |
|
|
384 | </dd> |
|
|
385 | <dd> |
|
|
386 | <p>The defaults (which are likely useless to you) use rsh and cat:</p> |
|
|
387 | </dd> |
|
|
388 | <dd> |
|
|
389 | <pre> |
|
|
390 | URxvt.remote-selection.store: rsh ruth 'cat >/tmp/distributed-selection' |
|
|
391 | URxvt.remote-selection.fetch: rsh ruth 'cat /tmp/distributed-selection'</pre> |
328 | </dd> |
392 | </dd> |
329 | <p></p> |
393 | <p></p> |
330 | <dt><strong><a name="item_selection_2dpastebin">selection-pastebin</a></strong><br /> |
394 | <dt><strong><a name="item_selection_2dpastebin">selection-pastebin</a></strong><br /> |
331 | </dt> |
395 | </dt> |
332 | <dd> |
396 | <dd> |
… | |
… | |
365 | for the filename):</p> |
429 | for the filename):</p> |
366 | </dd> |
430 | </dd> |
367 | <dd> |
431 | <dd> |
368 | <pre> |
432 | <pre> |
369 | URxvt.selection-pastebin.url: <a href="http://www.ta-sa.org/files/txt/%">http://www.ta-sa.org/files/txt/%</a></pre> |
433 | URxvt.selection-pastebin.url: <a href="http://www.ta-sa.org/files/txt/%">http://www.ta-sa.org/files/txt/%</a></pre> |
|
|
434 | </dd> |
|
|
435 | <p></p> |
|
|
436 | <dt><strong><a name="item_example_2drefresh_2dhooks">example-refresh-hooks</a></strong><br /> |
|
|
437 | </dt> |
|
|
438 | <dd> |
|
|
439 | Displays a very simple digital clock in the upper right corner of the |
|
|
440 | window. Illustrates overwriting the refresh callbacks to create your own |
|
|
441 | overlays or changes. |
370 | </dd> |
442 | </dd> |
371 | <p></p></dl> |
443 | <p></p></dl> |
372 | <p> |
444 | <p> |
373 | </p> |
445 | </p> |
374 | <hr /> |
446 | <hr /> |
… | |
… | |
475 | </dd> |
547 | </dd> |
476 | <p></p> |
548 | <p></p> |
477 | <dt><strong><a name="item_on_destroy__24term">on_destroy $term</a></strong><br /> |
549 | <dt><strong><a name="item_on_destroy__24term">on_destroy $term</a></strong><br /> |
478 | </dt> |
550 | </dt> |
479 | <dd> |
551 | <dd> |
480 | Called whenever something tries to destroy terminal, before doing anything |
552 | Called whenever something tries to destroy terminal, when the terminal is |
481 | yet. If this hook returns true, then destruction is skipped, but this is |
553 | still fully functional (not for long, though). |
482 | rarely a good idea. |
|
|
483 | </dd> |
554 | </dd> |
484 | <p></p> |
555 | <p></p> |
485 | <dt><strong><a name="item_on_reset__24term">on_reset $term</a></strong><br /> |
556 | <dt><strong><a name="item_on_reset__24term">on_reset $term</a></strong><br /> |
486 | </dt> |
557 | </dt> |
487 | <dd> |
558 | <dd> |
… | |
… | |
625 | </dt> |
696 | </dt> |
626 | <dd> |
697 | <dd> |
627 | Called just after the screen gets redrawn. See <code>on_refresh_begin</code>. |
698 | Called just after the screen gets redrawn. See <code>on_refresh_begin</code>. |
628 | </dd> |
699 | </dd> |
629 | <p></p> |
700 | <p></p> |
630 | <dt><strong><a name="item_on_keyboard_command__24term_2c__24string">on_keyboard_command $term, $string</a></strong><br /> |
701 | <dt><strong><a name="item_on_user_command__24term_2c__24string">on_user_command $term, $string</a></strong><br /> |
631 | </dt> |
702 | </dt> |
632 | <dd> |
703 | <dd> |
633 | Called whenever the user presses a key combination that has a |
704 | Called whenever the a user-configured event is being activated (e.g. via |
634 | <code>perl:string</code> action bound to it (see description of the <strong>keysym</strong> |
705 | a <code>perl:string</code> action bound to a key, see description of the <strong>keysym</strong> |
635 | resource in the <code>rxvt(1)</code> manpage). |
706 | resource in the <code>rxvt(1)</code> manpage). |
|
|
707 | </dd> |
|
|
708 | <dd> |
|
|
709 | <p>The event is simply the action string. This interface is assumed to change |
|
|
710 | slightly in the future.</p> |
636 | </dd> |
711 | </dd> |
637 | <p></p> |
712 | <p></p> |
638 | <dt><strong><a name="item_on_x_event__24term_2c__24event">on_x_event $term, $event</a></strong><br /> |
713 | <dt><strong><a name="item_on_x_event__24term_2c__24event">on_x_event $term, $event</a></strong><br /> |
639 | </dt> |
714 | </dt> |
640 | <dd> |
715 | <dd> |
… | |
… | |
777 | <p>Using this function has the advantage that its output ends up in the |
852 | <p>Using this function has the advantage that its output ends up in the |
778 | correct place, e.g. on stderr of the connecting urxvtc client.</p> |
853 | correct place, e.g. on stderr of the connecting urxvtc client.</p> |
779 | </dd> |
854 | </dd> |
780 | <dd> |
855 | <dd> |
781 | <p>Messages have a size limit of 1023 bytes currently.</p> |
856 | <p>Messages have a size limit of 1023 bytes currently.</p> |
|
|
857 | </dd> |
|
|
858 | <p></p> |
|
|
859 | <dt><strong><a name="item__40terms__3d_urxvt_3a_3atermlist">@terms = urxvt::termlist</a></strong><br /> |
|
|
860 | </dt> |
|
|
861 | <dd> |
|
|
862 | Returns all urxvt::term objects that exist in this process, regardless of |
|
|
863 | wether they are started, being destroyed etc., so be careful. Only term |
|
|
864 | objects that have perl extensions attached will be returned (because there |
|
|
865 | is no urxvt::term objet associated with others). |
782 | </dd> |
866 | </dd> |
783 | <p></p> |
867 | <p></p> |
784 | <dt><strong><a name="item__24time__3d_urxvt_3a_3anow">$time = urxvt::NOW</a></strong><br /> |
868 | <dt><strong><a name="item__24time__3d_urxvt_3a_3anow">$time = urxvt::NOW</a></strong><br /> |
785 | </dt> |
869 | </dt> |
786 | <dd> |
870 | <dd> |
… | |
… | |
854 | <p></p> |
938 | <p></p> |
855 | <dt><strong><a name="item__24rend__3d_urxvt_3a_3aset_fgcolor__24rend_2c__24n">$rend = urxvt::SET_FGCOLOR $rend, $new_colour</a></strong><br /> |
939 | <dt><strong><a name="item__24rend__3d_urxvt_3a_3aset_fgcolor__24rend_2c__24n">$rend = urxvt::SET_FGCOLOR $rend, $new_colour</a></strong><br /> |
856 | </dt> |
940 | </dt> |
857 | <dt><strong><a name="item__24rend__3d_urxvt_3a_3aset_bgcolor__24rend_2c__24n">$rend = urxvt::SET_BGCOLOR $rend, $new_colour</a></strong><br /> |
941 | <dt><strong><a name="item__24rend__3d_urxvt_3a_3aset_bgcolor__24rend_2c__24n">$rend = urxvt::SET_BGCOLOR $rend, $new_colour</a></strong><br /> |
858 | </dt> |
942 | </dt> |
|
|
943 | <dt><strong><a name="item__24rend__3d_urxvt_3a_3aset_color__24rend_2c__24new">$rend = urxvt::SET_COLOR $rend, $new_fg, $new_bg</a></strong><br /> |
|
|
944 | </dt> |
859 | <dd> |
945 | <dd> |
860 | Replace the foreground/background colour in the rendition mask with the |
946 | Replace the foreground/background colour in the rendition mask with the |
861 | specified one. |
947 | specified one. |
862 | </dd> |
948 | </dd> |
863 | <p></p> |
949 | <p></p> |
… | |
… | |
897 | </dd> |
983 | </dd> |
898 | <dd> |
984 | <dd> |
899 | <p>Croaks (and probably outputs an error message) if the new instance |
985 | <p>Croaks (and probably outputs an error message) if the new instance |
900 | couldn't be created. Returns <code>undef</code> if the new instance didn't |
986 | couldn't be created. Returns <code>undef</code> if the new instance didn't |
901 | initialise perl, and the terminal object otherwise. The <code>init</code> and |
987 | initialise perl, and the terminal object otherwise. The <code>init</code> and |
902 | <a href="#item_start"><code>start</code></a> hooks will be called during this call.</p> |
988 | <a href="#item_start"><code>start</code></a> hooks will be called before this call returns, and are free to |
|
|
989 | refer to global data (which is race free).</p> |
903 | </dd> |
990 | </dd> |
904 | <p></p> |
991 | <p></p> |
905 | <dt><strong><a name="item_destroy">$term->destroy</a></strong><br /> |
992 | <dt><strong><a name="item_destroy">$term->destroy</a></strong><br /> |
906 | </dt> |
993 | </dt> |
907 | <dd> |
994 | <dd> |
… | |
… | |
1197 | be used to suppress input and output handling to the pty/tty. See the |
1284 | be used to suppress input and output handling to the pty/tty. See the |
1198 | description of <a href="#item_events"><code>urxvt::timer->events</code></a>. Make sure to always restore |
1285 | description of <a href="#item_events"><code>urxvt::timer->events</code></a>. Make sure to always restore |
1199 | the previous value. |
1286 | the previous value. |
1200 | </dd> |
1287 | </dd> |
1201 | <p></p> |
1288 | <p></p> |
|
|
1289 | <dt><strong><a name="item_pty_fd">$fd = $term->pty_fd</a></strong><br /> |
|
|
1290 | </dt> |
|
|
1291 | <dd> |
|
|
1292 | Returns the master file descriptor for the pty in use, or <code>-1</code> if no pty |
|
|
1293 | is used. |
|
|
1294 | </dd> |
|
|
1295 | <p></p> |
1202 | <dt><strong><a name="item_parent">$windowid = $term->parent</a></strong><br /> |
1296 | <dt><strong><a name="item_parent">$windowid = $term->parent</a></strong><br /> |
1203 | </dt> |
1297 | </dt> |
1204 | <dd> |
1298 | <dd> |
1205 | Return the window id of the toplevel window. |
1299 | Return the window id of the toplevel window. |
1206 | </dd> |
1300 | </dd> |
… | |
… | |
1218 | to receive pointer events all the times: |
1312 | to receive pointer events all the times: |
1219 | </dd> |
1313 | </dd> |
1220 | <dd> |
1314 | <dd> |
1221 | <pre> |
1315 | <pre> |
1222 | $term->vt_emask_add (urxvt::PointerMotionMask);</pre> |
1316 | $term->vt_emask_add (urxvt::PointerMotionMask);</pre> |
|
|
1317 | </dd> |
|
|
1318 | <p></p> |
|
|
1319 | <dt><strong><a name="item_focus_in">$term->focus_in</a></strong><br /> |
|
|
1320 | </dt> |
|
|
1321 | <dt><strong><a name="item_focus_out">$term->focus_out</a></strong><br /> |
|
|
1322 | </dt> |
|
|
1323 | <dt><strong><a name="item_key_press">$term->key_press ($state, $keycode[, $time])</a></strong><br /> |
|
|
1324 | </dt> |
|
|
1325 | <dt><strong><a name="item_key_release">$term->key_release ($state, $keycode[, $time])</a></strong><br /> |
|
|
1326 | </dt> |
|
|
1327 | <dd> |
|
|
1328 | Deliver various fake events to to terminal. |
1223 | </dd> |
1329 | </dd> |
1224 | <p></p> |
1330 | <p></p> |
1225 | <dt><strong><a name="item_width">$window_width = $term->width</a></strong><br /> |
1331 | <dt><strong><a name="item_width">$window_width = $term->width</a></strong><br /> |
1226 | </dt> |
1332 | </dt> |
1227 | <dt><strong><a name="item_height">$window_height = $term->height</a></strong><br /> |
1333 | <dt><strong><a name="item_height">$window_height = $term->height</a></strong><br /> |
… | |
… | |
1325 | line, starting at column <code>$start_col</code> (default <code>0</code>), which is useful |
1431 | line, starting at column <code>$start_col</code> (default <code>0</code>), which is useful |
1326 | to replace only parts of a line. The font index in the rendition will |
1432 | to replace only parts of a line. The font index in the rendition will |
1327 | automatically be updated.</p> |
1433 | automatically be updated.</p> |
1328 | </dd> |
1434 | </dd> |
1329 | <dd> |
1435 | <dd> |
1330 | <p><a href="#item__24text"><code>$text</code></a> is in a special encoding: tabs and wide characters that use |
1436 | <p><a href="#item__24text"><code>$text</code></a> is in a special encoding: tabs and wide characters that use more |
1331 | more than one cell when displayed are padded with <code>$urxvt::NOCHAR</code> |
1437 | than one cell when displayed are padded with <code>$urxvt::NOCHAR</code> (chr 65535) |
1332 | characters. Characters with combining characters and other characters that |
1438 | characters. Characters with combining characters and other characters that |
1333 | do not fit into the normal tetx encoding will be replaced with characters |
1439 | do not fit into the normal tetx encoding will be replaced with characters |
1334 | in the private use area.</p> |
1440 | in the private use area.</p> |
1335 | </dd> |
1441 | </dd> |
1336 | <dd> |
1442 | <dd> |
… | |
… | |
1435 | <dd> |
1541 | <dd> |
1436 | Converts rxvt-unicodes text reprsentation into a perl string. See |
1542 | Converts rxvt-unicodes text reprsentation into a perl string. See |
1437 | <a href="#item_row_t"><code>$term->ROW_t</code></a> for details. |
1543 | <a href="#item_row_t"><code>$term->ROW_t</code></a> for details. |
1438 | </dd> |
1544 | </dd> |
1439 | <p></p> |
1545 | <p></p> |
1440 | <dt><strong><a name="item_grab_button">$success = $term->grab_button ($button, $modifiermask)</a></strong><br /> |
1546 | <dt><strong><a name="item_grab_button">$success = $term->grab_button ($button, $modifiermask[, $window = $term->vt])</a></strong><br /> |
1441 | </dt> |
1547 | </dt> |
|
|
1548 | <dt><strong><a name="item_ungrab_button">$term->ungrab_button ($button, $modifiermask[, $window = $term->vt])</a></strong><br /> |
|
|
1549 | </dt> |
1442 | <dd> |
1550 | <dd> |
1443 | Registers a synchronous button grab. See the XGrabButton manpage. |
1551 | Register/unregister a synchronous button grab. See the XGrabButton |
|
|
1552 | manpage. |
1444 | </dd> |
1553 | </dd> |
1445 | <p></p> |
1554 | <p></p> |
1446 | <dt><strong><a name="item_grab">$success = $term->grab ($eventtime[, $sync])</a></strong><br /> |
1555 | <dt><strong><a name="item_grab">$success = $term->grab ($eventtime[, $sync])</a></strong><br /> |
1447 | </dt> |
1556 | </dt> |
1448 | <dd> |
1557 | <dd> |