@@ -9,17 +9,7 @@ public class Gala.CloseButton : Clutter.Actor {
99
1010 public signal void triggered (uint32 timestamp );
1111
12- private float _monitor_scale = 1.0f ;
13- public float monitor_scale {
14- get {
15- return _monitor_scale;
16- }
17- set {
18- _monitor_scale = value ;
19-
20- load_pixbuf ();
21- }
22- }
12+ public float monitor_scale { get ; construct set ; }
2313
2414 // used to avoid changing hitbox of the button
2515 private Clutter . Actor pixbuf_actor;
@@ -29,6 +19,10 @@ public class Gala.CloseButton : Clutter.Actor {
2919 close_pixbufs = new Gee .HashMap<int, Gdk . Pixbuf ?> ();
3020 }
3121
22+ public CloseButton (float monitor_scale) {
23+ Object (monitor_scale: monitor_scale);
24+ }
25+
3226 construct {
3327 reactive = true ;
3428
@@ -38,6 +32,7 @@ public class Gala.CloseButton : Clutter.Actor {
3832 add_child (pixbuf_actor);
3933
4034 load_pixbuf ();
35+ notify[" monitor-scale" ]. connect (load_pixbuf);
4136 }
4237
4338 private void load_pixbuf () {
@@ -53,7 +48,7 @@ public class Gala.CloseButton : Clutter.Actor {
5348 }
5449
5550 private static Gdk . Pixbuf ? get_close_button_pixbuf (float monitor_scale) {
56- var height = Utils . calculate_button_size (scale );
51+ var height = Utils . calculate_button_size (monitor_scale );
5752
5853 if (close_pixbufs[height] == null ) {
5954 try {
@@ -78,7 +73,7 @@ public class Gala.CloseButton : Clutter.Actor {
7873 // works as good as some weird fallback-image-failed-to-load pixbuf
7974 critical (" Could not create close button" );
8075
81- var size = Utils . calculate_button_size (scale );
76+ var size = Utils . calculate_button_size (monitor_scale );
8277 pixbuf_actor. set_size (size, size);
8378 pixbuf_actor. background_color = { 255 , 0 , 0 , 255 };
8479 }
0 commit comments