Respect the snapping settings for notify-client.
void view_toggle_visible_on_all_workspaces(struct view *view);
bool view_is_tiled(struct view *view);
+bool view_is_tiled_and_notify_tiled(struct view *view);
bool view_is_floating(struct view *view);
void view_move_to_workspace(struct view *view, struct workspace *workspace);
enum ssd_mode view_get_ssd_mode(struct view *view);
set_maximize_alt_icon(ssd, true);
ssd->state.was_maximized = true;
}
- if (view_is_tiled(view) && !maximized) {
+ if (view_is_tiled_and_notify_tiled(view) && !maximized) {
set_squared_corners(ssd, true);
ssd->state.was_tiled_not_maximized = true;
}
struct theme *theme = view->server->theme;
bool maximized = view->maximized == VIEW_AXIS_BOTH;
- bool tiled_not_maximized = view_is_tiled(ssd->view) && !maximized;
+ bool tiled_not_maximized = view_is_tiled_and_notify_tiled(ssd->view)
+ && !maximized;
+
if (ssd->state.was_maximized != maximized
|| ssd->state.was_tiled_not_maximized != tiled_not_maximized) {
set_squared_corners(ssd, maximized || tiled_not_maximized);
|| view->tiled_region_evacuate);
}
+bool
+view_is_tiled_and_notify_tiled(struct view *view)
+{
+ switch (rc.snap_tiling_events_mode) {
+ case LAB_TILING_EVENTS_NEVER:
+ return false;
+ case LAB_TILING_EVENTS_REGION:
+ return view->tiled_region || view->tiled_region_evacuate;
+ case LAB_TILING_EVENTS_EDGE:
+ return view->tiled;
+ case LAB_TILING_EVENTS_ALWAYS:
+ return view_is_tiled(view);
+ }
+
+ return false;
+}
+
bool
view_is_floating(struct view *view)
{