Skip to content

Commit 28f36e6

Browse files
committed
Handle monitor change in screenshield and make it a local variable
1 parent 282dfe3 commit 28f36e6

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

src/Widgets/ScreenShield.vala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ namespace Gala {
141141

142142
expand_to_screen_size ();
143143

144+
unowned var monitor_manager = wm.get_display ().get_context ().get_backend ().get_monitor_manager ();
145+
monitor_manager.monitors_changed.connect (expand_to_screen_size);
146+
144147
init_dbus_interfaces.begin ();
145148
}
146149

@@ -196,7 +199,7 @@ namespace Gala {
196199
connected_to_buses = success;
197200
}
198201

199-
public void expand_to_screen_size () {
202+
private void expand_to_screen_size () {
200203
int screen_width, screen_height;
201204
wm.get_display ().get_size (out screen_width, out screen_height);
202205
width = screen_width;

src/WindowManager.vala

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@ namespace Gala {
4747
/**
4848
* {@inheritDoc}
4949
*/
50-
public Gala.ActivatableComponent workspace_view { get; protected set; }
51-
52-
public ScreenShield? screen_shield { get; private set; }
50+
public Gala.ActivatableComponent workspace_view { get; protected set; }
5351

5452
public PointerLocator pointer_locator { get; private set; }
5553

@@ -184,9 +182,6 @@ namespace Gala {
184182
private void show_stage () {
185183
unowned Meta.Display display = get_display ();
186184

187-
screen_shield = new ScreenShield (this);
188-
screensaver = new ScreenSaverManager (screen_shield);
189-
190185
DBus.init (this);
191186
DBusAccelerator.init (display);
192187
MediaFeedback.init ();
@@ -200,11 +195,6 @@ namespace Gala {
200195

201196
notification_stack = new NotificationStack (display);
202197

203-
// Due to a bug which enables access to the stage when using multiple monitors
204-
// in the screensaver, we have to listen for changes and make sure the input area
205-
// is set to NONE when we are in locked mode
206-
screensaver.active_changed.connect (update_input_area);
207-
208198
stage = display.get_stage () as Clutter.Stage;
209199
var background_settings = new GLib.Settings ("org.gnome.desktop.background");
210200
var color = background_settings.get_string ("primary-color");
@@ -309,8 +299,15 @@ namespace Gala {
309299
ui_group.add_child (pointer_locator);
310300
ui_group.add_child (new DwellClickTimer (display));
311301

302+
var screen_shield = new ScreenShield (this);
312303
ui_group.add_child (screen_shield);
313304

305+
screensaver = new ScreenSaverManager (screen_shield);
306+
// Due to a bug which enables access to the stage when using multiple monitors
307+
// in the screensaver, we have to listen for changes and make sure the input area
308+
// is set to NONE when we are in locked mode
309+
screensaver.active_changed.connect (update_input_area);
310+
314311
FilterManager.init (this);
315312

316313
/*keybindings*/
@@ -373,7 +370,7 @@ namespace Gala {
373370
}
374371

375372
unowned var monitor_manager = display.get_context ().get_backend ().get_monitor_manager ();
376-
monitor_manager.monitors_changed.connect (on_monitors_changed);
373+
monitor_manager.monitors_changed.connect (update_ui_group_size);
377374

378375
hot_corner_manager = new HotCornerManager (this, behavior_settings, new_behavior_settings);
379376
hot_corner_manager.on_configured.connect (update_input_area);
@@ -440,11 +437,6 @@ namespace Gala {
440437
}
441438
}
442439

443-
private void on_monitors_changed () {
444-
update_ui_group_size ();
445-
screen_shield.expand_to_screen_size ();
446-
}
447-
448440
[CCode (instance_pos = -1)]
449441
private void handle_cycle_workspaces (Meta.Display display, Meta.Window? window, Clutter.KeyEvent event,
450442
Meta.KeyBinding binding) {

0 commit comments

Comments
 (0)