diff --git a/meson.build b/meson.build
index 4744213a0..68100464a 100644
--- a/meson.build
+++ b/meson.build
@@ -184,7 +184,6 @@ subdir('data')
subdir('lib')
subdir('src')
subdir('daemon')
-subdir('plugins/maskcorners')
subdir('plugins/pip')
subdir('plugins/template')
if get_option('documentation')
diff --git a/plugins/maskcorners/Main.vala b/plugins/maskcorners/Main.vala
deleted file mode 100644
index 8a6b236e2..000000000
--- a/plugins/maskcorners/Main.vala
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright 2021 elementary, Inc (https://elementary.io)
- * 2015 Rory J Sanderson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-public class Gala.Plugins.MaskCorners.Main : Gala.Plugin {
- private const int DEFAULT_CORNER_RADIUS = 6;
-
- private Gala.WindowManager? wm = null;
- private GLib.Settings settings;
- private int[] corner_radii;
- private List[] cornermasks;
- private Meta.Display display;
-
- public override void initialize (Gala.WindowManager wm) {
- this.wm = wm;
- display = wm.get_display ();
-
- settings = new GLib.Settings (Config.SCHEMA + ".mask-corners");
-
- setup_cornermasks ();
-
- settings.changed.connect (resetup_cornermasks);
- }
-
- public override void destroy () {
- destroy_cornermasks ();
- }
-
- private void setup_cornermasks () {
- if (!settings.get_boolean ("enable")) {
- return;
- }
-
- int n_monitors = display.get_n_monitors ();
- corner_radii = new int[n_monitors];
- cornermasks = new List[n_monitors];
-
- for (int m = 0; m < n_monitors; m++) {
- corner_radii[m] = Utils.scale_to_int (DEFAULT_CORNER_RADIUS, display.get_monitor_scale (m));
- }
-
- if (settings.get_boolean ("only-on-primary")) {
- add_cornermasks (display.get_primary_monitor ());
- } else {
- for (int m = 0; m < n_monitors; m++)
- add_cornermasks (m);
- }
-
- if (settings.get_boolean ("disable-on-fullscreen")) {
- display.in_fullscreen_changed.connect (fullscreen_changed);
- }
-
- unowned Meta.MonitorManager monitor_manager = display.get_context ().get_backend ().get_monitor_manager ();
- monitor_manager.monitors_changed.connect (resetup_cornermasks);
-
- display.gl_video_memory_purged.connect (resetup_cornermasks);
- }
-
- private void destroy_cornermasks () {
- display.gl_video_memory_purged.disconnect (resetup_cornermasks);
-
- unowned Meta.MonitorManager monitor_manager = display.get_context ().get_backend ().get_monitor_manager ();
- monitor_manager.monitors_changed.disconnect (resetup_cornermasks);
- display.in_fullscreen_changed.disconnect (fullscreen_changed);
-
- foreach (unowned List list in cornermasks) {
- foreach (Clutter.Actor actor in list) {
- actor.destroy ();
- }
- }
- }
-
- private void resetup_cornermasks () {
- destroy_cornermasks ();
- setup_cornermasks ();
- }
-
- private void fullscreen_changed () {
- for (int i = 0; i < display.get_n_monitors (); i++) {
- foreach (Clutter.Actor actor in cornermasks[i]) {
- if (display.get_monitor_in_fullscreen (i)) {
- actor.hide ();
- } else {
- actor.show ();
- }
- }
- }
- }
-
- private void add_cornermasks (int monitor_no) {
- var monitor_geometry = display.get_monitor_geometry (monitor_no);
-
- var canvas = new Clutter.Canvas ();
- canvas.set_size (corner_radii[monitor_no], corner_radii[monitor_no]);
- canvas.draw.connect ((context) => draw_cornermask (context, monitor_no));
- canvas.invalidate ();
-
- var actor = new Clutter.Actor ();
- actor.set_content (canvas);
- actor.set_size (corner_radii[monitor_no], corner_radii[monitor_no]);
- actor.set_position (monitor_geometry.x, monitor_geometry.y);
- actor.set_pivot_point ((float) 0.5, (float) 0.5);
-
- cornermasks[monitor_no].append (actor);
- wm.stage.add_child (actor);
-
- for (int p = 1; p < 4; p++) {
- var clone = new Clutter.Clone (actor);
- clone.rotation_angle_z = p * 90;
-
- switch (p) {
- case 1:
- clone.set_position (monitor_geometry.x + monitor_geometry.width, monitor_geometry.y);
- break;
- case 2:
- clone.set_position (monitor_geometry.x + monitor_geometry.width, monitor_geometry.y + monitor_geometry.height);
- break;
- case 3:
- clone.set_position (monitor_geometry.x, monitor_geometry.y + monitor_geometry.height);
- break;
- }
-
- cornermasks[monitor_no].append (clone);
- wm.stage.add_child (clone);
- }
- }
-
- private bool draw_cornermask (Cairo.Context context, int monitor_no) requires (corner_radii.length > monitor_no) {
- var buffer = new Drawing.BufferSurface (corner_radii[monitor_no], corner_radii[monitor_no]);
- var buffer_context = buffer.context;
-
- buffer_context.arc (corner_radii[monitor_no], corner_radii[monitor_no], corner_radii[monitor_no], Math.PI, 1.5 * Math.PI);
- buffer_context.line_to (0, 0);
- buffer_context.line_to (0, corner_radii[monitor_no]);
- buffer_context.set_source_rgb (0, 0, 0);
- buffer_context.fill ();
-
- context.set_operator (Cairo.Operator.CLEAR);
- context.paint ();
- context.set_operator (Cairo.Operator.OVER);
- context.set_source_surface (buffer.surface, 0, 0);
- context.paint ();
-
- return true;
- }
-}
-
-public Gala.PluginInfo register_plugin () {
- return {
- "Mask Corners",
- "Gala Developers",
- typeof (Gala.Plugins.MaskCorners.Main),
- Gala.PluginFunction.ADDITION,
- Gala.LoadPriority.IMMEDIATE
- };
-}
diff --git a/plugins/maskcorners/meson.build b/plugins/maskcorners/meson.build
deleted file mode 100644
index 5bf13e2d3..000000000
--- a/plugins/maskcorners/meson.build
+++ /dev/null
@@ -1,13 +0,0 @@
-gala_maskcorners_sources = [
- 'Main.vala'
-]
-
-gala_maskcorners_lib = shared_library(
- 'gala-maskcorners',
- gala_maskcorners_sources,
- dependencies: [gala_dep, gala_base_dep],
- include_directories: config_inc_dir,
- install: true,
- install_dir: plugins_dir,
- install_rpath: mutter_typelib_dir,
-)
diff --git a/src/Background/SystemBackground.vala b/src/Background/SystemBackground.vala
index 85c0fdd85..7631d54f8 100644
--- a/src/Background/SystemBackground.vala
+++ b/src/Background/SystemBackground.vala
@@ -5,7 +5,7 @@
*/
public class Gala.SystemBackground : GLib.Object {
- private const Clutter.Color DEFAULT_BACKGROUND_COLOR = { 0x2e, 0x34, 0x36, 0xff };
+ private const Clutter.Color DEFAULT_BACKGROUND_COLOR = { 0, 0, 0, 0xff };
public Meta.BackgroundActor background_actor { get; construct; }