Here a patch to enable Vertical/Horizontal maximization in 
gtk-window-decorator.

Cedric
diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c
index fe2efde..ff67073 100644
--- a/gtk/window-decorator/gtk-window-decorator.c
+++ b/gtk/window-decorator/gtk-window-decorator.c
@@ -4102,7 +4102,7 @@ max_button_event (WnckWindow *win,
 
     switch (xevent->type) {
     case ButtonPress:
-	if (xevent->xbutton.button == 1)
+	if (xevent->xbutton.button <= 3)
 	    d->button_states[BUTTON_MAX] |= PRESSED_EVENT_WINDOW;
 	break;
     case ButtonRelease:
@@ -4118,6 +4118,30 @@ max_button_event (WnckWindow *win,
 
 	    d->button_states[BUTTON_MAX] &= ~PRESSED_EVENT_WINDOW;
 	}
+	else if (xevent->xbutton.button == 2)
+	{
+	    if (d->button_states[BUTTON_MAX] == BUTTON_EVENT_ACTION_STATE)
+	    {
+		if (wnck_window_is_maximized_vertically (win))
+		    wnck_window_unmaximize_vertically (win);
+		else
+		    wnck_window_maximize_vertically (win);
+	    }
+
+	    d->button_states[BUTTON_MAX] &= ~PRESSED_EVENT_WINDOW;
+	}
+	else if (xevent->xbutton.button == 3)
+	{
+	    if (d->button_states[BUTTON_MAX] == BUTTON_EVENT_ACTION_STATE)
+	    {
+		if (wnck_window_is_maximized_horizontally (win))
+		    wnck_window_unmaximize_horizontally (win);
+		else
+		    wnck_window_maximize_horizontally (win);
+	    }
+
+	    d->button_states[BUTTON_MAX] &= ~PRESSED_EVENT_WINDOW;
+	}
 	break;
     case EnterNotify:
 	d->button_states[BUTTON_MAX] |= IN_EVENT_WINDOW;
_______________________________________________
compiz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/compiz

Reply via email to