mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
ssd: set squared corners for tiled views conditionally
Respect the snapping settings for notify-client.
This commit is contained in:
parent
2c979fe269
commit
3b605b0142
3 changed files with 22 additions and 2 deletions
|
|
@ -495,6 +495,7 @@ void view_toggle_always_on_bottom(struct view *view);
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ ssd_titlebar_create(struct ssd *ssd)
|
|||
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;
|
||||
}
|
||||
|
|
@ -193,7 +193,9 @@ ssd_titlebar_update(struct ssd *ssd)
|
|||
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);
|
||||
|
|
|
|||
17
src/view.c
17
src/view.c
|
|
@ -1171,6 +1171,23 @@ view_is_tiled(struct view *view)
|
|||
|| 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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue