mirror of
https://github.com/labwc/labwc.git
synced 2025-11-02 09:01:47 -05:00
view: Set output prior to view_apply_tiled_geometry()
This commit is contained in:
parent
a9cbbe1e41
commit
0cc6ea2d8b
1 changed files with 12 additions and 9 deletions
21
src/view.c
21
src/view.c
|
|
@ -432,13 +432,11 @@ view_apply_region_geometry(struct view *view)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
view_apply_tiled_geometry(struct view *view, struct output *output)
|
view_apply_tiled_geometry(struct view *view)
|
||||||
{
|
{
|
||||||
assert(view->tiled);
|
assert(view->tiled);
|
||||||
if (!output) {
|
struct output *output = view_output(view);
|
||||||
output = view_output(view);
|
if (!output_is_usable(output)) {
|
||||||
}
|
|
||||||
if (!output) {
|
|
||||||
wlr_log(WLR_ERROR, "Can't tile: no output");
|
wlr_log(WLR_ERROR, "Can't tile: no output");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -506,7 +504,7 @@ view_apply_special_geometry(struct view *view)
|
||||||
} else if (view->maximized) {
|
} else if (view->maximized) {
|
||||||
view_apply_maximized_geometry(view);
|
view_apply_maximized_geometry(view);
|
||||||
} else if (view->tiled) {
|
} else if (view->tiled) {
|
||||||
view_apply_tiled_geometry(view, NULL);
|
view_apply_tiled_geometry(view);
|
||||||
} else if (view->tiled_region || view->tiled_region_evacuate) {
|
} else if (view->tiled_region || view->tiled_region_evacuate) {
|
||||||
view_apply_region_geometry(view);
|
view_apply_region_geometry(view);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -879,7 +877,7 @@ view_snap_to_edge(struct view *view, const char *direction,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
struct output *output = view_output(view);
|
struct output *output = view_output(view);
|
||||||
if (!output) {
|
if (output_is_usable(output)) {
|
||||||
wlr_log(WLR_ERROR, "no output");
|
wlr_log(WLR_ERROR, "no output");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -918,6 +916,10 @@ view_snap_to_edge(struct view *view, const char *direction,
|
||||||
/* Move to next output */
|
/* Move to next output */
|
||||||
edge = view_edge_invert(edge);
|
edge = view_edge_invert(edge);
|
||||||
output = output_from_wlr_output(view->server, new_output);
|
output = output_from_wlr_output(view->server, new_output);
|
||||||
|
if (!output_is_usable(output)) {
|
||||||
|
wlr_log(WLR_ERROR, "invalid output in layout");
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* No more output to move to
|
* No more output to move to
|
||||||
|
|
@ -934,7 +936,7 @@ view_snap_to_edge(struct view *view, const char *direction,
|
||||||
* caused by a keybind but doesn't make sense
|
* caused by a keybind but doesn't make sense
|
||||||
* when caused by mouse movement.
|
* when caused by mouse movement.
|
||||||
*/
|
*/
|
||||||
view_apply_tiled_geometry(view, output);
|
view_apply_tiled_geometry(view);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -947,8 +949,9 @@ view_snap_to_edge(struct view *view, const char *direction,
|
||||||
view_store_natural_geometry(view);
|
view_store_natural_geometry(view);
|
||||||
}
|
}
|
||||||
view_set_untiled(view);
|
view_set_untiled(view);
|
||||||
|
view->output = output;
|
||||||
view->tiled = edge;
|
view->tiled = edge;
|
||||||
view_apply_tiled_geometry(view, output);
|
view_apply_tiled_geometry(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue