Skip to content

Commit f6f8084

Browse files
committed
Don't scale when using fractional scaling
1 parent 26178b8 commit f6f8084

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

lib/Utils.vala

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,5 +486,24 @@ namespace Gala {
486486
public static int calculate_button_size (float monitor_scale) {
487487
return Utils.scale_to_int (BUTTON_SIZE, monitor_scale);
488488
}
489+
490+
private static bool? framebuffer_is_logical = null;
491+
public static bool get_framebuffer_is_logical () {
492+
if (framebuffer_is_logical != null) {
493+
return framebuffer_is_logical;
494+
}
495+
496+
framebuffer_is_logical = false;
497+
498+
var experimental_features = new Settings ("org.gnome.mutter").get_strv ("experimental-features");
499+
for (var i = 0; i < experimental_features.length; i++) {
500+
if (experimental_features[i] == "scale-monitor-framebuffer") {
501+
framebuffer_is_logical = true;
502+
break;
503+
}
504+
}
505+
506+
return framebuffer_is_logical;
507+
}
489508
}
490509
}

src/BlurManager.vala

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,13 @@ public class Gala.BlurManager : Object {
3232

3333
public WindowManagerGala wm { get; construct; }
3434

35-
private bool framebuffer_is_logical = false;
3635
private GLib.HashTable<Meta.Window, BlurData?> blurred_windows = new GLib.HashTable<Meta.Window, BlurData?> (null, null);
3736

3837
private BlurManager (WindowManagerGala wm) {
3938
Object (wm: wm);
4039
}
4140

4241
construct {
43-
var experimental_features = new Settings ("org.gnome.mutter").get_strv ("experimental-features");
44-
for (var i = 0; i < experimental_features.length; i++) {
45-
if (experimental_features[i] == "scale-monitor-framebuffer") {
46-
framebuffer_is_logical = true;
47-
break;
48-
}
49-
}
50-
5142
wm.get_display ().window_created.connect ((window) => {
5243
window.notify["mutter-hints"].connect ((obj, pspec) => parse_mutter_hints ((Meta.Window) obj));
5344
parse_mutter_hints (window);
@@ -83,7 +74,7 @@ public class Gala.BlurManager : Object {
8374
var x_shadow_size = frame_rect.x - buffer_rect.x;
8475
var y_shadow_size = frame_rect.y - buffer_rect.y;
8576

86-
var monitor_scale = framebuffer_is_logical ? 1.0f : window.display.get_monitor_scale (window.get_monitor ());
77+
var monitor_scale = Utils.get_framebuffer_is_logical () ? 1.0f : window.display.get_monitor_scale (window.get_monitor ());
8778
var inverse_monitor_scale = 1.0f / monitor_scale;
8879

8980
blur_data.actor.set_position (

src/Widgets/MultitaskingView/Tooltip.vala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ public class Gala.Tooltip : Clutter.Actor {
4343
}
4444

4545
private static bool transform_monitor_scale_to_margin (Binding binding, Value from_value, ref Value to_value) {
46-
to_value.set_float (Utils.scale_to_int (TEXT_MARGIN, from_value.get_float ()));
46+
to_value.set_float (
47+
Utils.get_framebuffer_is_logical ()
48+
? TEXT_MARGIN
49+
: Utils.scale_to_int (TEXT_MARGIN, from_value.get_float ())
50+
);
4751
return true;
4852
}
4953
}

0 commit comments

Comments
 (0)