]> Dogcows Code - chaz/openbox/commitdiff
popups for moving and resizing
authorDana Jansens <danakj@orodu.net>
Thu, 30 Jan 2003 20:51:41 +0000 (20:51 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 30 Jan 2003 20:51:41 +0000 (20:51 +0000)
otk/renderstyle.cc
otk/widget.hh
scripts/Makefile.am
scripts/behavior.py
scripts/callbacks.py

index 9139c0bf8c7c20e211d2f905f7c343911335703c..01adeca834461ecfbf382e638e35f38cc98de295 100644 (file)
@@ -15,8 +15,8 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
     _file(stylefile)
 {
 // pick one..
-#define FIERON
-//#define MERRY
+//#define FIERON
+#define MERRY
 
 #ifdef FIERON
   _root_color = new RenderColor(_screen, 0x272a2f);
@@ -388,7 +388,6 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _max_mask = new PixmapMask();
   _max_mask->w = _max_mask->h = 7;
   {
-    //char data[] = { 0x7e, 0xff, 0xc3, 0xc3, 0xc3, 0xc3, 0xff, 0x7e };
     char data []  = {0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f  };
     _max_mask->mask =
       XCreateBitmapFromData(**display,
@@ -399,7 +398,6 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _icon_mask = new PixmapMask();
   _icon_mask->w = _icon_mask->h = 7;
   {
-    //char data[] = { 0x00, 0x00, 0xc3, 0xe7, 0x7e, 0x3c, 0x18, 0x00 };
     char data[] = {0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e };
     _icon_mask->mask =
       XCreateBitmapFromData(**display,
@@ -410,7 +408,6 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _alldesk_mask = new PixmapMask();
   _alldesk_mask->w = _alldesk_mask->h = 7;
   {
-    //char data[] = { 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00, 0x00 };
     char data[] = {0x00, 0x36, 0x36, 0x00, 0x36, 0x36, 0x00 };
     _alldesk_mask->mask =
       XCreateBitmapFromData(**display,
@@ -421,7 +418,6 @@ RenderStyle::RenderStyle(int screen, const std::string &stylefile)
   _close_mask = new PixmapMask();
   _close_mask->w = _close_mask->h = 7;
   {
-    //char data[] = { 0xc3, 0xe7, 0x7e, 0x3c, 0x3c, 0x7e, 0xe7, 0xc3 };
     char data[] = {  0x22, 0x77, 0x3e, 0x1c, 0x3e, 0x77, 0x22 };
     _close_mask->mask =
       XCreateBitmapFromData(**display,
index 698e856bd2bf838282bb20bb9547fdeb6c02ac7a..e2e477dfdb17cf46162c97446263c1d80945fa3b 100644 (file)
@@ -34,7 +34,7 @@ public:
 
   virtual ~Widget();
 
-  virtual void update(void);
+  virtual void update();
 
   void exposeHandler(const XExposeEvent &e);
   void configureHandler(const XConfigureEvent &e);
index 95deedade0507c01b808f3c8ad25f7561cfa19fd..36747ee504cb64d25dde698a5b8af13944f3fa15 100644 (file)
@@ -1,7 +1,7 @@
 scriptdir = $(libdir)/openbox/python
 MAINTAINERCLEANFILES = Makefile.in
 script_DATA = config.py builtins.py defaults.py focus.py callbacks.py \
-              focusmodel.py windowplacement.py behavior.py
+              focusmodel.py windowplacement.py behavior.py motion.py
 EXTRA_DIST = $(script_DATA)
 
 distclean-local:
index 3b407e101d1a3d6c690649785d5f697e64811c4f..5e475af8355fa1062d3ec6127b80a8b06e2a53c3 100644 (file)
@@ -6,6 +6,7 @@
 
 import ob
 import callbacks
+import motion
 
 def setup_window_clicks():
     """Sets up the default bindings for various mouse buttons for various
@@ -26,16 +27,26 @@ def setup_window_clicks():
         * Double-left click on a window's titlebar will toggle shading it
     """
     ob.mbind("A-Left", ob.MouseContext.Frame,
-             ob.MouseAction.Motion, callbacks.move)
+             ob.MouseAction.Motion, motion.move)
+    ob.mbind("A-Left", ob.MouseContext.Frame,
+             ob.MouseAction.Release, motion.end_move)
+    ob.mbind("Left", ob.MouseContext.Titlebar,
+             ob.MouseAction.Motion, motion.move)
     ob.mbind("Left", ob.MouseContext.Titlebar,
-             ob.MouseAction.Motion, callbacks.move)
+             ob.MouseAction.Release, motion.end_move)
+    ob.mbind("Left", ob.MouseContext.Handle,
+             ob.MouseAction.Motion, motion.move)
     ob.mbind("Left", ob.MouseContext.Handle,
-             ob.MouseAction.Motion, callbacks.move)
+             ob.MouseAction.Release, motion.end_move)
 
     ob.mbind("A-Right", ob.MouseContext.Frame,
-             ob.MouseAction.Motion, callbacks.resize)
+             ob.MouseAction.Motion, motion.resize)
+    ob.mbind("A-Right", ob.MouseContext.Frame,
+             ob.MouseAction.Release, motion.end_resize)
+    ob.mbind("Left", ob.MouseContext.Grip,
+             ob.MouseAction.Motion, motion.resize)
     ob.mbind("Left", ob.MouseContext.Grip,
-             ob.MouseAction.Motion, callbacks.resize)
+             ob.MouseAction.Release, motion.end_resize)
 
     ob.mbind("Left", ob.MouseContext.Titlebar,
              ob.MouseAction.Press, callbacks.raise_win)
index 1289a7bbf3a271c4dc1988d511aba83ec12ea0cd..4d5092680d3cc2baa98395f7ecc5d483c014c6fc 100644 (file)
@@ -5,10 +5,6 @@
 #############################################################################
 ### Options that can be modified to change the default hooks' behaviors.  ###
 ###                                                                       ###
-# resize_nearest - 1 to resize from the corner nearest where the mouse    ###
-###                  is, 0 to resize always from the bottom right corner. ###
-resize_nearest = 1                                                        ###
-###                                                                       ###
 #############################################################################
 
 import ob
@@ -66,55 +62,6 @@ def focus(data):
         return
     data.client.focus()
 
-def move(data):
-    """Moves the window interactively. This should only be used with
-       MouseMotion events"""
-    if not data.client: return
-
-    # not-normal windows dont get moved
-    if not data.client.normal(): return
-
-    dx = data.xroot - data.pressx
-    dy = data.yroot - data.pressy
-    data.client.move(data.press_clientx + dx, data.press_clienty + dy)
-
-def resize(data):
-    """Resizes the window interactively. This should only be used with
-       MouseMotion events"""
-    if not data.client: return
-
-    # not-normal windows dont get resized
-    if not data.client.normal(): return
-
-    px = data.pressx
-    py = data.pressy
-    dx = data.xroot - px
-    dy = data.yroot - py
-
-    # pick a corner to anchor
-    if not (resize_nearest or data.context == MC_Grip):
-        corner = ob.Client.TopLeft
-    else:
-        x = px - data.press_clientx
-        y = py - data.press_clienty
-        if y < data.press_clientheight / 2:
-            if x < data.press_clientwidth / 2:
-                corner = ob.Client.BottomRight
-                dx *= -1
-            else:
-                corner = ob.Client.BottomLeft
-            dy *= -1
-        else:
-            if x < data.press_clientwidth / 2:
-                corner = ob.Client.TopRight
-                dx *= -1
-            else:
-                corner = ob.Client.TopLeft
-
-    data.client.resize(corner,
-                       data.press_clientwidth + dx,
-                       data.press_clientheight + dy);
-
 def restart(data, other = ""):
     """Restarts openbox, optionally starting another window manager."""
     ob.openbox.restart(other)
This page took 0.03262 seconds and 4 git commands to generate.