mirror of
https://github.com/labwc/labwc.git
synced 2025-11-04 13:30:07 -05:00
xdg-shell: set fallback geometry if width/height == 0 on unmaximize
This commit is contained in:
parent
a1cf5b3e96
commit
bacabdc4a1
1 changed files with 24 additions and 0 deletions
24
src/view.c
24
src/view.c
|
|
@ -215,9 +215,33 @@ view_apply_maximized_geometry(struct view *view)
|
||||||
view_move_resize(view, box);
|
view_move_resize(view, box);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAB_FALLBACK_WIDTH (640)
|
||||||
|
#define LAB_FALLBACK_HEIGHT (480)
|
||||||
|
|
||||||
|
static void
|
||||||
|
set_fallback_geometry(struct view *view)
|
||||||
|
{
|
||||||
|
view->unmaximized_geometry.width = LAB_FALLBACK_WIDTH;
|
||||||
|
view->unmaximized_geometry.height = LAB_FALLBACK_HEIGHT;
|
||||||
|
view_compute_centered_position(view,
|
||||||
|
view->unmaximized_geometry.width,
|
||||||
|
view->unmaximized_geometry.height,
|
||||||
|
&view->unmaximized_geometry.x,
|
||||||
|
&view->unmaximized_geometry.y);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
view_apply_unmaximized_geometry(struct view *view)
|
view_apply_unmaximized_geometry(struct view *view)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* If an application was started maximized, its unmaximized_geometry
|
||||||
|
* width/height may still be zero in which case we set some fallback
|
||||||
|
* values. This is the case with foot and Qt applications.
|
||||||
|
*/
|
||||||
|
if (wlr_box_empty(&view->unmaximized_geometry)) {
|
||||||
|
set_fallback_geometry(view);
|
||||||
|
}
|
||||||
|
|
||||||
struct wlr_output_layout *layout = view->server->output_layout;
|
struct wlr_output_layout *layout = view->server->output_layout;
|
||||||
if (wlr_output_layout_intersects(layout, NULL,
|
if (wlr_output_layout_intersects(layout, NULL,
|
||||||
&view->unmaximized_geometry)) {
|
&view->unmaximized_geometry)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue