Funner mousebindings for the dock. Scrolling changes desktops. Button 8 does desktop...
authorMikael Magnusson <mikachu@comhem.se>
Mon, 23 Jul 2007 23:58:17 +0000 (01:58 +0200)
committerMikael Magnusson <mikachu@comhem.se>
Sat, 8 Mar 2008 16:24:54 +0000 (17:24 +0100)
openbox/event.c

index 520fcd0ea83fe90953a98a01310b97ad8f3371d0..fe838f7757344872e3a526e841d422fccdae2fd9 100644 (file)
@@ -1592,10 +1592,27 @@ static void event_handle_dock(ObDock *s, XEvent *e)
 {
     switch (e->type) {
     case ButtonPress:
-        if (e->xbutton.button == 1)
-            stacking_raise(DOCK_AS_WINDOW(s));
-        else if (e->xbutton.button == 2)
-            stacking_lower(DOCK_AS_WINDOW(s));
+        switch (e->xbutton.button) {
+            case 1:
+                stacking_raise(DOCK_AS_WINDOW(s));
+                break;
+            case 2:
+                stacking_lower(DOCK_AS_WINDOW(s));
+                break;
+            case 4:
+                screen_set_desktop(
+                        screen_find_desktop(screen_desktop, OB_DIRECTION_WEST,
+                                            TRUE, TRUE), TRUE);
+                break;
+            case 5:
+                screen_set_desktop(
+                        screen_find_desktop(screen_desktop, OB_DIRECTION_EAST,
+                                            TRUE, TRUE), TRUE);
+                break;
+            case 8:
+                screen_set_desktop(screen_last_desktop, TRUE);
+                break;
+        }
         break;
     case EnterNotify:
         dock_hide(FALSE);