repo: rxvt-unicode-sixel
action: commit
revision: 
path_from: 
revision_from: 98e5e8e15132bdacd4b18dedc1dfba9d2e934bda:
path_to: 
revision_to: 
git.thebackupbox.net
rxvt-unicode-sixel
git clone git://git.thebackupbox.net/rxvt-unicode-sixel
commit 98e5e8e15132bdacd4b18dedc1dfba9d2e934bda
Author: Marc Lehmann 
Date:   Wed Jan 25 00:57:57 2006 +0000

    *** empty log message ***

diff --git a/README.configure b/README.configure
index 75f51a0dd583b2bad064cc17d24b33b48f41423e..
index ..5397ab6ae89252dd0ebe73e201774e7a2d3feec4 100644
--- a/README.configure
+++ b/README.configure
@@ -50,6 +50,8 @@ CONFIGURE OPTIONS
         up the input for people using dead keys or compose keys.

     --enable-unicode3 (default: off)
+        Recommended to stay off unless you really need non-BMP characters.
+
         Enable direct support for displaying unicode codepoints above 65535
         (the basic multilingual page). This increases storage requirements
         per character from 2 to 4 bytes. X11 fonts do not yet support these
@@ -69,9 +71,8 @@ CONFIGURE OPTIONS
         pseudo-characters when no precomposed form exists.

         Without --enable-unicode3, the number of additional precomposed
-        characters is rather limited (2048, if this is full, rxvt-unicode
-        will use the private use area, extending the number of combinations
-        to 8448). With --enable-unicode3, no practical limit exists.
+        characters is somewhat limited (the 6400 private use characters will
+        be (ab-)used). With --enable-unicode3, no practical limit exists.

         This option will also enable storage (but not display) of characters
         beyond plane 0 (>65535) when --enable-unicode3 was not specified.
@@ -135,6 +136,10 @@ CONFIGURE OPTIONS
         the favourite of the rxvt-unicode author, having used it for many
         years.

+    --enable-ttygid (default: off)
+        Change tty device setting to group "tty" - only use this if your
+        system uses this type of security.
+
     --disable-backspace-key
         Removes any handling of the backspace key by us - let the X server
         do it.
@@ -216,7 +221,7 @@ CONFIGURE OPTIONS
     --enable-pointer-blank (default: on)
         Add support to have the pointer disappear when typing or inactive.

-    --enable-perl (default: off)
+    --enable-perl (default: on)
         Enable an embedded perl interpreter. See the rxvtperl(3) manpage
         (doc/rxvtperl.txt) for more info on this feature, or the files in
         src/perl-ext/ for the extensions that are installed by default. The
diff --git a/doc/rxvt.1.html b/doc/rxvt.1.html
index b486059df6bc6997e953fc9b2fd6d90506914171..
index ..daea813f3ada2869bf464d386745368448eacfce 100644
--- a/doc/rxvt.1.html
+++ b/doc/rxvt.1.html
@@ -48,7 +48,7 @@
 


DESCRIPTION

-

rxvt-unicode, version 7.1, is a colour vt102 terminal +

rxvt-unicode, version 7.2, is a colour vt102 terminal emulator intended as an xterm(1) replacement for users who do not require features such as Tektronix 4014 emulation and toolkit-style configurability. As a result, rxvt-unicode uses much less swap space -- @@ -1585,10 +1585,13 @@ the selection.

Insertion:
-Pressing and releasing the Middle mouse button in an rxvt window -causes the value of the PRIMARY selection (Shift for CLIPBOARD) to be inserted -as if it had been typed on the keyboard. -Shift-Insert causes the value of the PRIMARY selection to be inserted too. +Pressing and releasing the Middle mouse button in an rxvt +window causes the value of the PRIMARY selection (or CLIPBOARD with the +Meta modifier) to be inserted as if it had been typed on the keyboard. +
+
+

Pressing Shift-Insert causes the value of the PRIMARY selection to be +inserted too.

diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in

index daa15b2ef755830255dff7d1cf015ad1129d3ef2..
index ..14a9646cba0572e5cd2688ffbcacc632b42bd117 100644
--- a/doc/rxvt.1.man.in
+++ b/doc/rxvt.1.man.in
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "rxvt 1"
-.TH rxvt 1 "2006-01-20" "7.1" "RXVT-UNICODE"
+.TH rxvt 1 "2006-01-25" "7.2" "RXVT-UNICODE"
 .SH "NAME"
 rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system)
 .SH "SYNOPSIS"
@@ -1201,10 +1201,12 @@ selection, and trailing whitespace is visually underlined and removed from
 the selection.
 .IP "\fBInsertion\fR:" 4
 .IX Item "Insertion:"
-Pressing and releasing the Middle mouse button in an \fB@@RXVT_NAME@@\fR window
-causes the value of the \s-1PRIMARY\s0 selection (Shift for \s-1CLIPBOARD\s0) to be inserted
-as if it had been typed on the keyboard.
-\&\fBShift-Insert\fR causes the value of the \s-1PRIMARY\s0 selection to be inserted too.
+Pressing and releasing the Middle mouse button in an \fB@@RXVT_NAME@@\fR
+window causes the value of the \s-1PRIMARY\s0 selection (or \s-1CLIPBOARD\s0 with the
+Meta modifier) to be inserted as if it had been typed on the keyboard.
+.Sp
+Pressing \fBShift-Insert\fR causes the value of the \s-1PRIMARY\s0 selection to be
+inserted too.
 .SH "CHANGING FONTS"
 .IX Header "CHANGING FONTS"
 Changing fonts (or font sizes, respectively) via the keypad is not yet
diff --git a/doc/rxvt.1.txt b/doc/rxvt.1.txt
index 5a71cdf2ea08e7222bfc0d95f10fee8ca5e4eabe..
index ..0de6a6205dac916e95b82dfc101d1f79ccc5c790 100644
--- a/doc/rxvt.1.txt
+++ b/doc/rxvt.1.txt
@@ -6,7 +6,7 @@ SYNOPSIS
     rxvt [options] [-e command [ args ]]

 DESCRIPTION
-    rxvt-unicode, version 7.1, is a colour vt102 terminal emulator intended
+    rxvt-unicode, version 7.2, is a colour vt102 terminal emulator intended
     as an *xterm*(1) replacement for users who do not require features such
     as Tektronix 4014 emulation and toolkit-style configurability. As a
     result, rxvt-unicode uses much less swap space -- a significant
@@ -1037,9 +1037,12 @@ TEXT SELECTION AND INSERTION

     Insertion:
         Pressing and releasing the Middle mouse button in an rxvt window
-        causes the value of the PRIMARY selection (Shift for CLIPBOARD) to
-        be inserted as if it had been typed on the keyboard. Shift-Insert
-        causes the value of the PRIMARY selection to be inserted too.
+        causes the value of the PRIMARY selection (or CLIPBOARD with the
+        Meta modifier) to be inserted as if it had been typed on the
+        keyboard.
+
+        Pressing Shift-Insert causes the value of the PRIMARY selection to
+        be inserted too.

 CHANGING FONTS
     Changing fonts (or font sizes, respectively) via the keypad is not yet
diff --git a/doc/rxvt.7.html b/doc/rxvt.7.html
index 5a55465364eadae4d189800b56e0e79dc61e448c..
index ..b5d4eb5b7f4a0f78e8097a909e0723c63ef5b126 100644
--- a/doc/rxvt.7.html
+++ b/doc/rxvt.7.html
@@ -2228,10 +2228,13 @@ set up the input for people using dead keys or compose keys.
 
--enable-unicode3 (default: off)
-Enable direct support for displaying unicode codepoints above +Recommended to stay off unless you really need non-BMP characters. +
+
+

Enable direct support for displaying unicode codepoints above 65535 (the basic multilingual page). This increases storage requirements per character from 2 to 4 bytes. X11 fonts do not yet -support these extra characters, but Xft does. +support these extra characters, but Xft does.

Please note that rxvt-unicode can store unicode code points >65535 @@ -2251,10 +2254,9 @@ done by using precomposited characters when available or creating new pseudo-characters when no precomposed form exists.

-

Without --enable-unicode3, the number of additional precomposed characters -is rather limited (2048, if this is full, rxvt-unicode will use the -private use area, extending the number of combinations to 8448). With ---enable-unicode3, no practical limit exists.

+

Without --enable-unicode3, the number of additional precomposed +characters is somewhat limited (the 6400 private use characters will be +(ab-)used). With --enable-unicode3, no practical limit exists.

This option will also enable storage (but not display) of characters @@ -2269,7 +2271,8 @@ tell me how these are to be used...).

--enable-fallback(=CLASS) (default: Rxvt)
-When reading resource settings, also read settings for class CLASS. To disable resource fallback use --disable-fallback. +When reading resource settings, also read settings for class CLASS. To +disable resource fallback use --disable-fallback.

--with-res-name=NAME (default: urxvt)
@@ -2495,7 +2498,7 @@ the screen in a fixed position. Add support to have the pointer disappear when typing or inactive.

-
--enable-perl (default: off)
+
--enable-perl (default: on)
Enable an embedded perl interpreter. See the rxvtperl(3) diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
index bd7aa01507a0f9136f80e8942dff0faef1bbbdc5..
index ..c0fc929fbf3fb37d193b3fa10d108f1e58d7e028 100644
--- a/doc/rxvt.7.man.in
+++ b/doc/rxvt.7.man.in
@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "rxvt 7"
-.TH rxvt 7 "2006-01-19" "7.1" "RXVT-UNICODE"
+.TH rxvt 7 "2006-01-25" "7.2" "RXVT-UNICODE"
 .SH "NAME"
 RXVT REFERENCE \- FAQ, command sequences and other background information
 .SH "SYNOPSIS"
@@ -2045,6 +2045,8 @@ alternative input methods (e.g. kinput2) and will also correctly
 set up the input for people using dead keys or compose keys.
 .IP "\-\-enable\-unicode3 (default: off)" 4
 .IX Item "--enable-unicode3 (default: off)"
+Recommended to stay off unless you really need non-BMP characters.
+.Sp
 Enable direct support for displaying unicode codepoints above
 65535 (the basic multilingual page). This increases storage
 requirements per character from 2 to 4 bytes. X11 fonts do not yet
@@ -2063,10 +2065,9 @@ where accents are encoded as seperate unicode characters. This is
 done by using precomposited characters when available or creating
 new pseudo-characters when no precomposed form exists.
 .Sp
-Without \-\-enable\-unicode3, the number of additional precomposed characters
-is rather limited (2048, if this is full, rxvt-unicode will use the
-private use area, extending the number of combinations to 8448). With
-\&\-\-enable\-unicode3, no practical limit exists.
+Without \-\-enable\-unicode3, the number of additional precomposed
+characters is somewhat limited (the 6400 private use characters will be
+(ab\-)used). With \-\-enable\-unicode3, no practical limit exists.
 .Sp
 This option will also enable storage (but not display) of characters
 beyond plane 0 (>65535) when \-\-enable\-unicode3 was not specified.
@@ -2076,7 +2077,8 @@ but these are not currently used. Bug me if you want these to be used (and
 tell me how these are to be used...).
 .IP "\-\-enable\-fallback(=CLASS) (default: Rxvt)" 4
 .IX Item "--enable-fallback(=CLASS) (default: Rxvt)"
-When reading resource settings, also read settings for class \s-1CLASS\s0. To disable resource fallback use \-\-disable\-fallback.
+When reading resource settings, also read settings for class \s-1CLASS\s0. To
+disable resource fallback use \-\-disable\-fallback.
 .IP "\-\-with\-res\-name=NAME (default: urxvt)" 4
 .IX Item "--with-res-name=NAME (default: urxvt)"
 Use the given name as default application name when
@@ -2214,8 +2216,8 @@ the screen in a fixed position.
 .IP "\-\-enable\-pointer\-blank (default: on)" 4
 .IX Item "--enable-pointer-blank (default: on)"
 Add support to have the pointer disappear when typing or inactive.
-.IP "\-\-enable\-perl (default: off)" 4
-.IX Item "--enable-perl (default: off)"
+.IP "\-\-enable\-perl (default: on)" 4
+.IX Item "--enable-perl (default: on)"
 Enable an embedded perl interpreter. See the \fB@@RXVT_NAME@@\f(BIperl\fB\|(3)\fR
 manpage (\fIdoc/rxvtperl.txt\fR) for more info on this feature, or the files
 in \fIsrc/perl\-ext/\fR for the extensions that are installed by default. The
diff --git a/doc/rxvt.7.txt b/doc/rxvt.7.txt
index 4ce96c174359bbbb19fa35d27469488b8cbc82bd..
index ..76882136a852b4e7040246b2323a0c32ccb8e799 100644
--- a/doc/rxvt.7.txt
+++ b/doc/rxvt.7.txt
@@ -1561,6 +1561,8 @@ CONFIGURE OPTIONS
         up the input for people using dead keys or compose keys.

     --enable-unicode3 (default: off)
+        Recommended to stay off unless you really need non-BMP characters.
+
         Enable direct support for displaying unicode codepoints above 65535
         (the basic multilingual page). This increases storage requirements
         per character from 2 to 4 bytes. X11 fonts do not yet support these
@@ -1580,9 +1582,8 @@ CONFIGURE OPTIONS
         pseudo-characters when no precomposed form exists.

         Without --enable-unicode3, the number of additional precomposed
-        characters is rather limited (2048, if this is full, rxvt-unicode
-        will use the private use area, extending the number of combinations
-        to 8448). With --enable-unicode3, no practical limit exists.
+        characters is somewhat limited (the 6400 private use characters will
+        be (ab-)used). With --enable-unicode3, no practical limit exists.

         This option will also enable storage (but not display) of characters
         beyond plane 0 (>65535) when --enable-unicode3 was not specified.
@@ -1731,7 +1732,7 @@ CONFIGURE OPTIONS
     --enable-pointer-blank (default: on)
         Add support to have the pointer disappear when typing or inactive.

-    --enable-perl (default: off)
+    --enable-perl (default: on)
         Enable an embedded perl interpreter. See the rxvtperl(3) manpage
         (doc/rxvtperl.txt) for more info on this feature, or the files in
         src/perl-ext/ for the extensions that are installed by default. The
diff --git a/doc/rxvtperl.3.html b/doc/rxvtperl.3.html
index 28e77b4f0e24da45cff90d1e4e997007d5f27186..
index ..b79392dcdd159ecf41efc5d4acf26f1c491badea 100644
--- a/doc/rxvtperl.3.html
+++ b/doc/rxvtperl.3.html
@@ -123,6 +123,16 @@ between two vertical bars:

URxvt.selection.pattern-0: \\|([^|]+)\\|
+

Another example: Programs I use often output ``absolute path: '' at the +beginning of a line when they process multiple files. The following +pattern matches the filename (note, there is a single space at the very +end):

+
+
+
+   URxvt.selection.pattern-0: ^(/[^:]+):\
+
+

You can look at the source of the selection extension to see more interesting uses, such as parsing a line from beginning to end.

@@ -295,6 +305,23 @@ resource urlLauncher (default x-www-browser) will be s the URL as first argument.

+
xim-onthespot
+
+
+This (experimental) perl extension implements OnTheSpot editing. It does +not work perfectly, and some input methods don't seem to work well with +OnTheSpot editing in general, but it seems to work at leats for SCIM and +kinput2. +
+
+

You enable it by specifying this extension and a preedit style of +OnTheSpot, i.e.:

+
+
+
+   rxvt -pt OnTheSpot -pe xim-onthespot
+
+

automove-background
@@ -479,9 +506,8 @@ trying to map (display) the toplevel and returning to the mainloop.
on_destroy $term
-Called whenever something tries to destroy terminal, before doing anything -yet. If this hook returns true, then destruction is skipped, but this is -rarely a good idea. +Called whenever something tries to destroy terminal, when the terminal is +still fully functional (not for long, though).

on_reset $term
diff --git a/doc/rxvtperl.3.man.in b/doc/rxvtperl.3.man.in
index dfbff3fce611de75f164422a681dbe69c8c45eca..
index ..77b88af6ddb22e4453701917f2770933e12c743e 100644
--- a/doc/rxvtperl.3.man.in
+++ b/doc/rxvtperl.3.man.in
@@ -129,7 +129,7 @@
 .\" ========================================================================
 .\"
 .IX Title "rxvt 3"
-.TH rxvt 3 "2006-01-22" "7.2" "RXVT-UNICODE"
+.TH rxvt 3 "2006-01-25" "7.2" "RXVT-UNICODE"
 .SH "NAME"
 @@RXVT_NAME@@perl \- rxvt\-unicode's embedded perl interpreter
 .SH "SYNOPSIS"
@@ -208,6 +208,15 @@ between two vertical bars:
 \&   URxvt.selection.pattern-0: \e\e|([^|]+)\e\e|
 .Ve
 .Sp
+Another example: Programs I use often output \*(L"absolute path: \*(R" at the
+beginning of a line when they process multiple files. The following
+pattern matches the filename (note, there is a single space at the very
+end):
+.Sp
+.Vb 1
+\&   URxvt.selection.pattern-0: ^(/[^:]+):\e
+.Ve
+.Sp
 You can look at the source of the selection extension to see more
 interesting uses, such as parsing a line from beginning to end.
 .Sp
@@ -351,6 +360,19 @@ Uses per-line display filtering (\f(CW\*(C`on_line_update\*(C'\fR) to underline
 make them clickable. When middle\-clicked, the program specified in the
 resource \f(CW\*(C`urlLauncher\*(C'\fR (default \f(CW\*(C`x\-www\-browser\*(C'\fR) will be started with
 the \s-1URL\s0 as first argument.
+.IP "xim-onthespot" 4
+.IX Item "xim-onthespot"
+This (experimental) perl extension implements OnTheSpot editing. It does
+not work perfectly, and some input methods don't seem to work well with
+OnTheSpot editing in general, but it seems to work at leats for \s-1SCIM\s0 and
+kinput2.
+.Sp
+You enable it by specifying this extension and a preedit style of
+\&\f(CW\*(C`OnTheSpot\*(C'\fR, i.e.:
+.Sp
+.Vb 1
+\&   @@RXVT_NAME@@ -pt OnTheSpot -pe xim-onthespot
+.Ve
 .IP "automove-background" 4
 .IX Item "automove-background"
 This is basically a one-line extension that dynamically changes the background pixmap offset
@@ -495,9 +517,8 @@ trying to map (display) the toplevel and returning to the mainloop.
 .ie n .IP "on_destroy $term" 4
 .el .IP "on_destroy \f(CW$term\fR" 4
 .IX Item "on_destroy $term"
-Called whenever something tries to destroy terminal, before doing anything
-yet. If this hook returns true, then destruction is skipped, but this is
-rarely a good idea.
+Called whenever something tries to destroy terminal, when the terminal is
+still fully functional (not for long, though).
 .ie n .IP "on_reset $term" 4
 .el .IP "on_reset \f(CW$term\fR" 4
 .IX Item "on_reset $term"
diff --git a/doc/rxvtperl.3.txt b/doc/rxvtperl.3.txt
index 6cb0a57b08824e6d94236e391d81a71366b31b3d..
index ..1348750c1aa16066b3f8e3b4c32b86f21071e8d3 100644
--- a/doc/rxvtperl.3.txt
+++ b/doc/rxvtperl.3.txt
@@ -60,6 +60,13 @@ PREPACKAGED EXTENSIONS

            URxvt.selection.pattern-0: \\|([^|]+)\\|

+        Another example: Programs I use often output "absolute path: " at
+        the beginning of a line when they process multiple files. The
+        following pattern matches the filename (note, there is a single
+        space at the very end):
+
+           URxvt.selection.pattern-0: ^(/[^:]+):\ 
+
         You can look at the source of the selection extension to see more
         interesting uses, such as parsing a line from beginning to end.

@@ -184,6 +191,17 @@ PREPACKAGED EXTENSIONS
         in the resource "urlLauncher" (default "x-www-browser") will be
         started with the URL as first argument.

+    xim-onthespot
+        This (experimental) perl extension implements OnTheSpot editing. It
+        does not work perfectly, and some input methods don't seem to work
+        well with OnTheSpot editing in general, but it seems to work at
+        leats for SCIM and kinput2.
+
+        You enable it by specifying this extension and a preedit style of
+        "OnTheSpot", i.e.:
+
+           rxvt -pt OnTheSpot -pe xim-onthespot
+
     automove-background
         This is basically a one-line extension that dynamically changes the
         background pixmap offset to the window position, in effect creating
@@ -315,9 +333,8 @@ API DOCUMENTATION
         mainloop.

     on_destroy $term
-        Called whenever something tries to destroy terminal, before doing
-        anything yet. If this hook returns true, then destruction is
-        skipped, but this is rarely a good idea.
+        Called whenever something tries to destroy terminal, when the
+        terminal is still fully functional (not for long, though).

     on_reset $term
         Called after the screen is "reset" for any reason, such as resizing
diff --git a/src/main.C b/src/main.C
index d87b108d9fb7b811c218c2634b78202083ebf635..
index ..609e53e70a9b1d4738d48dde81fbaa4cf5e1b8f3 100644
--- a/src/main.C
+++ b/src/main.C
@@ -1302,6 +1302,7 @@ xim_preedit_draw (XIC ic, XPointer client_data, XIMPreeditDrawCallbackStruct *ca
                   DT_END));
 }

+#if 0
 static void
 xim_preedit_caret (XIC ic, XPointer client_data, XIMPreeditCaretCallbackStruct *call_data)
 {
@@ -1312,6 +1313,7 @@ xim_preedit_caret (XIC ic, XPointer client_data, XIMPreeditCaretCallbackStruct *
                 DT_INT, call_data->style,
                 DT_END));
 }
+#endif

 #endif

@@ -1484,13 +1486,17 @@ foundpet:
       xcb[0].client_data = (XPointer)this; xcb[0].callback = (XIMProc)xim_preedit_start;
       xcb[1].client_data = (XPointer)this; xcb[1].callback = (XIMProc)xim_preedit_done;
       xcb[2].client_data = (XPointer)this; xcb[2].callback = (XIMProc)xim_preedit_draw;
+#if 0
       xcb[3].client_data = (XPointer)this; xcb[3].callback = (XIMProc)xim_preedit_caret;
+#endif

       preedit_attr = XVaCreateNestedList (0,
                                           XNPreeditStartCallback, &xcb[0],
                                           XNPreeditDoneCallback , &xcb[1],
                                           XNPreeditDrawCallback , &xcb[2],
+#if 0
                                           XNPreeditCaretCallback, &xcb[3],
+#endif
                                           NULL);
     }

diff --git a/src/rxvtperl.xs b/src/rxvtperl.xs
index 9dc23a7f33cb4bdbae379ef93d38e067dada2044..
index ..918946dab4f2fb311f4492ba882ebac894ee0f63 100644
--- a/src/rxvtperl.xs
+++ b/src/rxvtperl.xs
@@ -867,7 +867,7 @@ BOOT:
     const_iv (XIMVisibleToForward),
     const_iv (XIMVisibleToBackword),
     const_iv (XIMVisibleToCenter),
-
+#   if 0
     const_iv (XIMForwardChar),
     const_iv (XIMBackwardChar),
     const_iv (XIMForwardWord),
@@ -880,6 +880,7 @@ BOOT:
     const_iv (XIMLineEnd),
     const_iv (XIMAbsolutePosition),
     const_iv (XIMDontChange),
+#   endif
 #   endif
   };

diff --git a/src/urxvt.pm b/src/urxvt.pm
index f2f314bd15daa4942c4d71c2e717443762dc0554..
index ..8f4f29ed6a4ddd2f80942361e9148029b95328e4 100644
--- a/src/urxvt.pm
+++ b/src/urxvt.pm
@@ -214,6 +214,18 @@ make them clickable. When middle-clicked, the program specified in the
 resource C (default C) will be started with
 the URL as first argument.

+=item xim-onthespot
+
+This (experimental) perl extension implements OnTheSpot editing. It does
+not work perfectly, and some input methods don't seem to work well with
+OnTheSpot editing in general, but it seems to work at leats for SCIM and
+kinput2.
+
+You enable it by specifying this extension and a preedit style of
+C, i.e.:
+
+   @@RXVT_NAME@@ -pt OnTheSpot -pe xim-onthespot
+
 =item automove-background

 This is basically a one-line extension that dynamically changes the background pixmap offset

-----END OF PAGE-----