*** empty log message ***
authorroot <root>
Wed, 18 Jan 2006 10:31:37 +0000 (10:31 +0000)
committerroot <root>
Wed, 18 Jan 2006 10:31:37 +0000 (10:31 +0000)
src/command.C
src/hookinc.h
src/perl/selection-pastebin
src/rxvtperl.xs
src/urxvt.pm

index b303e8934cc9648221e419a29555fa9c9fa26841..0a4e46c8bfd2a4e2ea0168d17e9709b6b4b9db99 100644 (file)
@@ -1504,6 +1504,8 @@ rxvt_term::x_cb (XEvent &ev)
                 resize_all_windows (ev.xconfigure.width, ev.xconfigure.height, 1);
               }
 
+            HOOK_INVOKE ((this, HOOK_CONFIGURE_NOTIFY, DT_XEVENT, &ev, DT_END));
+
 #ifdef TRANSPARENT             /* XXX: maybe not needed - leave in for now */
             if (OPTION (Opt_transparent))
               check_our_parents ();
index 18d1ca40e967cada8b12ce0ec122e2edb1e607b6..d081424914dd2e2186afba01f34b298b5803545d 100644 (file)
@@ -34,4 +34,5 @@
   def (MOTION_NOTIFY)
   def (MAP_NOTIFY)
   def (UNMAP_NOTIFY)
+  def (CONFIGURE_NOTIFY)
   def (CUSTOM_REND) // hovering over custom rendition, generate enter/leave maybe?
index 731dcff524e3f65ebb40e57ffc6389abfe6b9f2c..5bb7ab5dff1548df676254a67b55cbd4d830ebd9 100644 (file)
@@ -16,7 +16,8 @@ sub upload_paste {
 
    my $msg = "uploaded $filename";
 
-   if (open my $o, ">" . $tmpfile) {
+   if (open my $o, ">$tmpfile") {
+      chmod 0644, $tmpfile;
       print $o $txt;
       close $o;
    } else {
index 75b840b59e962cc14494d9f54a0a88832e005db5..60fcd562e4bb8923781ba013f77d74cf993c928e 100644 (file)
@@ -537,6 +537,7 @@ rxvt_perl_interp::invoke (rxvt_term *term, hook_type htype, ...)
 
 #           define set(name, sv) hv_store (hv, # name,  sizeof (# name) - 1, sv, 0)
 #           define setiv(name, val) hv_store (hv, # name,  sizeof (# name) - 1, newSViv (val), 0)
+#           define setuv(name, val) hv_store (hv, # name,  sizeof (# name) - 1, newSVuv (val), 0)
 #           undef set
 
                   setiv (type,       xe->type);
@@ -550,31 +551,54 @@ rxvt_perl_interp::invoke (rxvt_term *term, hook_type htype, ...)
                       case ButtonPress:
                       case ButtonRelease:
                       case MotionNotify:
-                        setiv (time,   xe->xmotion.time);
-                        setiv (x,      xe->xmotion.x);
-                        setiv (y,      xe->xmotion.y);
-                        setiv (row,    xe->xmotion.y / term->fheight);
-                        setiv (col,    xe->xmotion.x / term->fwidth);
-                        setiv (x_root, xe->xmotion.x_root);
-                        setiv (y_root, xe->xmotion.y_root);
-                        setiv (state,  xe->xmotion.state);
-                        break;
-                    }
+                        setuv (window,    xe->xmotion.window);
+                        setuv (root,      xe->xmotion.root);
+                        setuv (subwindow, xe->xmotion.subwindow);
+                        setuv (time,      xe->xmotion.time);
+                        setiv (x,         xe->xmotion.x);
+                        setiv (y,         xe->xmotion.y);
+                        setiv (row,       xe->xmotion.y / term->fheight);
+                        setiv (col,       xe->xmotion.x / term->fwidth);
+                        setiv (x_root,    xe->xmotion.x_root);
+                        setiv (y_root,    xe->xmotion.y_root);
+                        setuv (state,     xe->xmotion.state);
+
+                        switch (xe->type)
+                          {
+                            case KeyPress:
+                            case KeyRelease:
+                              setuv (keycode, xe->xkey.keycode);
+                              break;
+
+                            case ButtonPress:
+                            case ButtonRelease:
+                              setuv (button,  xe->xbutton.button);
+                              break;
+
+                            case MotionNotify:
+                              setiv (is_hint, xe->xmotion.is_hint);
+                              break;
+                          }
 
-                  switch (xe->type)
-                    {
-                      case KeyPress:
-                      case KeyRelease:
-                        setiv (keycode, xe->xkey.keycode);
                         break;
 
-                      case ButtonPress:
-                      case ButtonRelease:
-                        setiv (button,  xe->xbutton.button);
-                        break;
+                      case MapNotify:
+                      case UnmapNotify:
+                      case ConfigureNotify:
+                        setuv (event,  xe->xconfigure.event);
+                        setuv (window, xe->xconfigure.window);
+
+                        switch (xe->type)
+                          {
+                            case ConfigureNotify:
+                              setiv (x,      xe->xconfigure.x);
+                              setiv (y,      xe->xconfigure.y);
+                              setiv (width,  xe->xconfigure.width);
+                              setiv (height, xe->xconfigure.height);
+                              setuv (above,  xe->xconfigure.above);
+                              break;
+                          }
 
-                      case MotionNotify:
-                        setiv (is_hint, xe->xmotion.is_hint);
                         break;
                     }
 
index f332a1307d85af31c06189950e2c9dd101ed0cb9..2b984c6e67d791b0893b3ff4dbb9ca43f9158cd0 100644 (file)
@@ -436,6 +436,8 @@ does focus in processing.
 Called wheneever the window loses keyboard focus, before rxvt-unicode does
 focus out processing.
 
+=item on_configure_notify $term, $event
+
 =item on_key_press $term, $event, $keysym, $octets
 
 =item on_key_release $term, $event, $keysym