From fa8ebfd0be95585116c28c5577d8c27b37a692bf Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 19 Dec 2023 04:45:45 +0900 Subject: [PATCH] Round corners of workspaces in multitasking view (#1734) --- data/gala.css | 1 + src/Background/BackgroundManager.vala | 10 +++++++++- src/Widgets/WorkspaceClone.vala | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/data/gala.css b/data/gala.css index 085fa48c7..5ee35d9ac 100644 --- a/data/gala.css +++ b/data/gala.css @@ -46,6 +46,7 @@ } .workspace.decoration { + border-radius: 6px; box-shadow: 0 0 0 1px alpha(#000, 0.2), 0 8px 10px 1px alpha(#000, 0.14), diff --git a/src/Background/BackgroundManager.vala b/src/Background/BackgroundManager.vala index 688b5616e..e56215492 100644 --- a/src/Background/BackgroundManager.vala +++ b/src/Background/BackgroundManager.vala @@ -117,6 +117,15 @@ public class Gala.BackgroundManager : Meta.BackgroundGroup { unowned var content = (Meta.BackgroundContent) background_actor.content; content.background = background.background; + var monitor = display.get_monitor_geometry (monitor_index); + var rect = Graphene.Rect () { + origin = {monitor.x, monitor.y}, + size = {monitor.width, monitor.height}, + }; + + content.set_rounded_clip_bounds (rect); + content.rounded_clip_radius = Utils.scale_to_int (6, display.get_monitor_scale (monitor_index)); + if (background_source.should_dim) { content.vignette = true; content.brightness = DIM_OPACITY; @@ -124,7 +133,6 @@ public class Gala.BackgroundManager : Meta.BackgroundGroup { insert_child_below (background_actor, null); - var monitor = display.get_monitor_geometry (monitor_index); background_actor.set_size (monitor.width, monitor.height); ulong changed_handler = 0; diff --git a/src/Widgets/WorkspaceClone.vala b/src/Widgets/WorkspaceClone.vala index b272e47e0..2051f1dd7 100644 --- a/src/Widgets/WorkspaceClone.vala +++ b/src/Widgets/WorkspaceClone.vala @@ -63,7 +63,7 @@ namespace Gala { var ctx = cached_context; ctx.set_source_rgba (255, 255, 255, 255); - ctx.rectangle (0, 0, (int) width, (int) height); + Drawing.Utilities.cairo_rounded_rectangle (ctx, 0, 0, width, height, 9); ctx.set_operator (Cairo.Operator.SOURCE); ctx.stroke (); ctx.restore ();