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>
Thu, 28 Feb 2008 03:35:30 +0000 (04:35 +0100)
openbox/event.c

index 41b1ad185a1bfbf823685abb4f1bd8d4cff0c13c..9d66fde0b18a338c4cb6c4533621ed94bb767f12 100644 (file)
@@ -1585,10 +1585,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);