Updating branch refs/heads/xfce-4.8 to 15a5fa2fb459aa175e4b6f98e341bdff0395eccd (commit) from 5f703756fce60eb42396d6e6870abb82172d7e2f (commit)
commit 15a5fa2fb459aa175e4b6f98e341bdff0395eccd Author: Nick Schermer <n...@xfce.org> Date: Sun Jan 23 20:21:52 2011 +0100 Fix autohide direction based on orientation and edge. When the panel is horizontal and snapped to the left or right border (not in a corner) is should hide sideways. Same when a vertical panel is snapped to the top or bottom of the screen. panel/panel-window.c | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/panel/panel-window.c b/panel/panel-window.c index f8cd275..822c303 100644 --- a/panel/panel-window.c +++ b/panel/panel-window.c @@ -1159,10 +1159,33 @@ panel_window_size_allocate (GtkWidget *widget, /* set hidden window size */ w = h = 3; - if (window->horizontal) - w = alloc->width; - else - h = alloc->height; + + switch (window->snap_position) + { + /* left or right of the screen */ + case SNAP_POSITION_E: + case SNAP_POSITION_EC: + case SNAP_POSITION_W: + case SNAP_POSITION_WC: + h = alloc->height; + break; + + /* top or bottom of the screen */ + case SNAP_POSITION_NC: + case SNAP_POSITION_SC: + case SNAP_POSITION_N: + case SNAP_POSITION_S: + w = alloc->width; + break; + + /* corner or floating panel */ + default: + if (window->horizontal) + w = alloc->width; + else + h = alloc->height; + break; + } /* position the autohide window */ panel_window_size_allocate_set_xy (window, w, h, &x, &y); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits