mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
interactive: un-maximize only axes that are being resized
When resizing in only one axis (horizontal/vertical), there's no reason
to un-maximize the other axis.
Supporting logic was landed in the previous commit and in ebd39dfe0d
(which fixed the client-initiated resize case), so all that remains is
to make a small change in interactive_begin().
This commit is contained in:
parent
6d2140c4b7
commit
f9f4219ed4
1 changed files with 10 additions and 3 deletions
|
|
@ -119,10 +119,17 @@ interactive_begin(struct view *view, enum input_mode mode, enum lab_edge edges)
|
|||
|
||||
/*
|
||||
* If tiled or maximized in only one direction, reset
|
||||
* maximized/tiled state but keep the same geometry as
|
||||
* the starting point for the resize.
|
||||
* tiled state and un-maximize the relevant axes, but
|
||||
* keep the same geometry as the starting point.
|
||||
*/
|
||||
view_set_maximized(view, VIEW_AXIS_NONE);
|
||||
enum view_axis maximized = view->maximized;
|
||||
if (edges & LAB_EDGES_LEFT_RIGHT) {
|
||||
maximized &= ~VIEW_AXIS_HORIZONTAL;
|
||||
}
|
||||
if (edges & LAB_EDGES_TOP_BOTTOM) {
|
||||
maximized &= ~VIEW_AXIS_VERTICAL;
|
||||
}
|
||||
view_set_maximized(view, maximized);
|
||||
view_set_untiled(view);
|
||||
cursor_shape = cursor_get_from_edge(edges);
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue