mirror of
https://github.com/labwc/labwc.git
synced 2025-11-03 09:01:51 -05:00
view:c Do not overwrite unmaximized dimensions on fullscreen
Before: window -> maximize -> fullscreen -> unfullscreen would reset pre maximized state Now: window -> maximize -> fullscreen -> unfullscreen -> unmaximize works as expected
This commit is contained in:
parent
310c36c86d
commit
4b2a7a28c6
1 changed files with 16 additions and 5 deletions
21
src/view.c
21
src/view.c
|
|
@ -223,10 +223,12 @@ view_set_fullscreen(struct view *view, bool fullscreen,
|
|||
view->toplevel_handle, fullscreen);
|
||||
}
|
||||
if (fullscreen) {
|
||||
view->unmaximized_geometry.x = view->x;
|
||||
view->unmaximized_geometry.y = view->y;
|
||||
view->unmaximized_geometry.width = view->w;
|
||||
view->unmaximized_geometry.height = view->h;
|
||||
if (!view->maximized) {
|
||||
view->unmaximized_geometry.x = view->x;
|
||||
view->unmaximized_geometry.y = view->y;
|
||||
view->unmaximized_geometry.width = view->w;
|
||||
view->unmaximized_geometry.height = view->h;
|
||||
}
|
||||
|
||||
if (!wlr_output) {
|
||||
wlr_output = view_wlr_output(view);
|
||||
|
|
@ -245,7 +247,16 @@ view_set_fullscreen(struct view *view, bool fullscreen,
|
|||
view_move_resize(view, box);
|
||||
} else {
|
||||
/* restore to normal */
|
||||
view_move_resize(view, view->unmaximized_geometry);
|
||||
if (view->maximized) {
|
||||
view->maximized = false;
|
||||
view->x = view->unmaximized_geometry.x;
|
||||
view->y = view->unmaximized_geometry.y;
|
||||
view->w = view->unmaximized_geometry.width;
|
||||
view->h = view->unmaximized_geometry.height;
|
||||
view_maximize(view, true);
|
||||
} else {
|
||||
view_move_resize(view, view->unmaximized_geometry);
|
||||
}
|
||||
view->fullscreen = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue