mirror of
https://github.com/labwc/labwc.git
synced 2025-11-01 22:58:47 -04:00
xdg: add snapping.notifyClient option to control tiling events
This commit is contained in:
parent
9f51384b6a
commit
3162bbb3c2
7 changed files with 100 additions and 41 deletions
26
src/view.c
26
src/view.c
|
|
@ -1043,6 +1043,15 @@ view_is_floating(struct view *view)
|
|||
|| view_is_tiled(view));
|
||||
}
|
||||
|
||||
static void
|
||||
view_notify_tiled(struct view *view)
|
||||
{
|
||||
assert(view);
|
||||
if (view->impl->notify_tiled) {
|
||||
view->impl->notify_tiled(view);
|
||||
}
|
||||
}
|
||||
|
||||
/* Reset tiled state of view without changing geometry */
|
||||
void
|
||||
view_set_untiled(struct view *view)
|
||||
|
|
@ -1051,10 +1060,7 @@ view_set_untiled(struct view *view)
|
|||
view->tiled = VIEW_EDGE_INVALID;
|
||||
view->tiled_region = NULL;
|
||||
zfree(view->tiled_region_evacuate);
|
||||
|
||||
if (view->impl->set_tiled) {
|
||||
view->impl->set_tiled(view);
|
||||
}
|
||||
view_notify_tiled(view);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -1775,11 +1781,7 @@ view_snap_to_edge(struct view *view, enum view_edge edge,
|
|||
view_set_untiled(view);
|
||||
view_set_output(view, output);
|
||||
view->tiled = edge;
|
||||
|
||||
if (view->impl->set_tiled) {
|
||||
view->impl->set_tiled(view);
|
||||
}
|
||||
|
||||
view_notify_tiled(view);
|
||||
view_apply_tiled_geometry(view);
|
||||
}
|
||||
|
||||
|
|
@ -1813,11 +1815,7 @@ view_snap_to_region(struct view *view, struct region *region,
|
|||
}
|
||||
view_set_untiled(view);
|
||||
view->tiled_region = region;
|
||||
|
||||
if (view->impl->set_tiled) {
|
||||
view->impl->set_tiled(view);
|
||||
}
|
||||
|
||||
view_notify_tiled(view);
|
||||
view_apply_region_geometry(view);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue