Skip to content

Commit 57e4e1a

Browse files
authored
Merge branch 'main' into leolost/introduce-simple-test
2 parents 82a35a6 + 3f61d3e commit 57e4e1a

File tree

259 files changed

+16826
-11050
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+16826
-11050
lines changed

daemon/MonitorLabel.vala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
var provider = new Gtk.CssProvider ();
3232
try {
3333
provider.load_from_string (COLORED_STYLE_CSS.printf (title, info.background_color, info.text_color));
34-
get_style_context ().add_class (title);
35-
get_style_context ().add_class ("monitor-label");
34+
add_css_class (title);
35+
add_css_class ("monitor-label");
3636

3737
Gtk.StyleContext.add_provider_for_display (
3838
Gdk.Display.get_default (),

data/gala.metainfo.xml.in

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,39 @@
2727
<update_contact>contact_at_elementary.io</update_contact>
2828

2929
<releases>
30+
<release version="8.3.0" date="2025-10-28" urgency="medium">
31+
<description>
32+
<p>Improvements:</p>
33+
<ul>
34+
<li>Updated translations</li>
35+
<li>Improved HiDPI support</li>
36+
<li>Improved render performance</li>
37+
<li>Reveal dock and panel in sync when starting</li>
38+
<li>Improved workspace switch dock animation</li>
39+
<li>Picture-in-Picture windows now have rounded corners</li>
40+
</ul>
41+
</description>
42+
<issues>
43+
<issue url="https://github.com/elementary/gala/issues/501">Tiled and maximized widows show different behaviour on wingpanel when in front of fullscreen windows</issue>
44+
<issue url="https://github.com/elementary/gala/issues/1385">Urgent notifications can get offset</issue>
45+
<issue url="https://github.com/elementary/gala/issues/1998">Blur Behind</issue>
46+
<issue url="https://github.com/elementary/gala/issues/2057">Trying to change desktop bg to a color don´t work</issue>
47+
<issue url="https://github.com/elementary/gala/issues/2079">Gala app icon shows up in Dock briefly</issue>
48+
<issue url="https://github.com/elementary/gala/issues/2333">Wingpanel crashes than reappears in the middle of the screen</issue>
49+
<issue url="https://github.com/elementary/gala/issues/2399">Horizontal swipe to switch workspace no longer follows natural scrolling setting</issue>
50+
<issue url="https://github.com/elementary/gala/issues/2444">Multitasking view - wrong animation with multiple monitors</issue>
51+
<issue url="https://github.com/elementary/gala/issues/2445">Multitasking view - window preview sometimes disappears</issue>
52+
<issue url="https://github.com/elementary/gala/issues/2451">Windows get burned onto the screen when "Reduce Motion" is on in Secure Session</issue>
53+
<issue url="https://github.com/elementary/gala/issues/2454">Right-click menu in wrong location with 2x DPI setting</issue>
54+
<issue url="https://github.com/elementary/gala/issues/2489">Flatpaks don't open upon switching from Secure to Classic: DISPLAY not set</issue>
55+
<issue url="https://github.com/elementary/gala/issues/2507">Logs filled with assertion fails / failure messages</issue>
56+
<issue url="https://github.com/elementary/gala/issues/2515">Main window is being resized to dialog/child window size after reopen</issue>
57+
<issue url="https://github.com/elementary/gala/issues/2530">Freezing minimized windows</issue>
58+
<issue url="https://github.com/elementary/dock/discussions/478">Dock is shown over fullscreen apps</issue>
59+
<issue url="https://github.com/elementary/wingpanel/issues/639">Wingpanel starts at middle of the screen</issue>
60+
</issues>
61+
</release>
62+
3063
<release version="8.2.5" date="2025-07-09" urgency="medium">
3164
<description>
3265
<p>Improvements:</p>

lib/CloseButton.vala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class Gala.CloseButton : Clutter.Actor {
4646
}
4747

4848
private static Gdk.Pixbuf? get_close_button_pixbuf (float scale) {
49-
var height = Utils.scale_to_int (36, scale);
49+
var height = Utils.calculate_button_size (scale);
5050

5151
if (close_pixbufs[height] == null) {
5252
try {
@@ -71,7 +71,7 @@ public class Gala.CloseButton : Clutter.Actor {
7171
// works as good as some weird fallback-image-failed-to-load pixbuf
7272
critical ("Could not create close button");
7373

74-
var size = Utils.scale_to_int (36, scale);
74+
var size = Utils.calculate_button_size (scale);
7575
pixbuf_actor.set_size (size, size);
7676
pixbuf_actor.background_color = { 255, 0, 0, 255 };
7777
}

lib/Drawing/Color.vala

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,25 @@ namespace Gala.Drawing {
99
* A class containing an RGBA color and methods for more powerful color manipulation.
1010
*/
1111
public class Color : GLib.Object {
12-
public const Gdk.RGBA LIGHT_BACKGROUND = { (250f / 255f), (250f / 255f), (250f / 255f), 1};
13-
public const Gdk.RGBA DARK_BACKGROUND = { (51 / 255f), (51 / 255f), (51 / 255f), 1};
14-
public const Gdk.RGBA LIGHT_BORDER = { 0, 0, 0, 0.2f};
15-
public const Gdk.RGBA DARK_BORDER = { 0, 0, 0, 0.75f};
16-
public const Gdk.RGBA LIGHT_HIGHLIGHT = { 255, 255, 255, 1};
17-
public const Gdk.RGBA DARK_HIGHLIGHT = { 255, 255, 255, 0.05f};
18-
public const Gdk.RGBA TOOLTIP_BACKGROUND = { 0, 0, 0, 1};
19-
public const Gdk.RGBA TOOLTIP_TEXT_COLOR = { 1, 1, 1, 1};
12+
#if !HAS_MUTTER47
13+
public const Clutter.Color LIGHT_BACKGROUND = { 250, 250, 250, 255};
14+
public const Clutter.Color DARK_BACKGROUND = { 51, 51, 51, 255};
15+
public const Clutter.Color LIGHT_BORDER = { 0, 0, 0, 51};
16+
public const Clutter.Color DARK_BORDER = { 0, 0, 0, 191};
17+
public const Clutter.Color LIGHT_HIGHLIGHT = { 255, 255, 255, 255};
18+
public const Clutter.Color DARK_HIGHLIGHT = { 255, 255, 255, 13};
19+
public const Clutter.Color TOOLTIP_BACKGROUND = { 0, 0, 0, 255};
20+
public const Clutter.Color TOOLTIP_TEXT_COLOR = { 255, 255, 255, 255};
21+
#else
22+
public const Cogl.Color LIGHT_BACKGROUND = { 250, 250, 250, 255};
23+
public const Cogl.Color DARK_BACKGROUND = { 51, 51, 51, 255};
24+
public const Cogl.Color LIGHT_BORDER = { 0, 0, 0, 51};
25+
public const Cogl.Color DARK_BORDER = { 0, 0, 0, 191};
26+
public const Cogl.Color LIGHT_HIGHLIGHT = { 255, 255, 255, 255};
27+
public const Cogl.Color DARK_HIGHLIGHT = { 255, 255, 255, 13};
28+
public const Cogl.Color TOOLTIP_BACKGROUND = { 0, 0, 0, 255};
29+
public const Cogl.Color TOOLTIP_TEXT_COLOR = { 255, 255, 255, 255};
30+
#endif
2031

2132
/**
2233
* The value of the red channel, with 0 being the lowest value and 1.0 being the greatest value.
@@ -93,15 +104,6 @@ namespace Gala.Drawing {
93104
this.A = A;
94105
}
95106

96-
/**
97-
* Constructs a new {@link Gala.Drawing.Color} from a {@link Gdk.RGBA}.
98-
*
99-
* @param color the {@link Gdk.RGBA}
100-
*/
101-
public Color.from_rgba (Gdk.RGBA color) {
102-
set_from_rgba (color);
103-
}
104-
105107
/**
106108
* Constructs a new {@link Gala.Drawing.Color} from a string.
107109
*
@@ -112,14 +114,20 @@ namespace Gala.Drawing {
112114
* * A RGB color in the form “rgb(r,g,b)” (In this case the color will have full opacity)
113115
* * A RGBA color in the form “rgba(r,g,b,a)”
114116
*
115-
* For more details on formatting and how this function works see {@link Gdk.RGBA.parse}
117+
* For more details on formatting and how this function works see {@link Clutter.Color.from_string}
116118
*
117119
* @param color the string specifying the color
118120
*/
119121
public Color.from_string (string color) {
120-
Gdk.RGBA rgba = Gdk.RGBA ();
121-
rgba.parse (color);
122-
set_from_rgba (rgba);
122+
#if !HAS_MUTTER47
123+
var parsed_color = Clutter.Color.from_string (color);
124+
#else
125+
var parsed_color = Cogl.Color.from_string (color);
126+
#endif
127+
R = parsed_color.red / 255.0;
128+
G = parsed_color.green / 255.0;
129+
B = parsed_color.blue / 255.0;
130+
A = parsed_color.alpha / 255.0;
123131
}
124132

125133
/**
@@ -508,13 +516,17 @@ namespace Gala.Drawing {
508516
* Note: that this string representation may lose some precision, since r, g and b are represented
509517
* as 8-bit integers. If this is a concern, you should use a different representation.
510518
*
511-
* This returns the same string as a {@link Gdk.RGBA} would return in {@link Gdk.RGBA.to_string}
519+
* This returns the same string as a {@link Clutter.Color} would return in {@link Clutter.Color.to_string}
512520
*
513521
* @return the text string
514522
*/
515523
public string to_string () {
516-
Gdk.RGBA rgba = {(float)R, (float)G, (float)B, (float)A};
517-
return rgba.to_string ();
524+
#if !HAS_MUTTER47
525+
Clutter.Color color = { (uint8) (R * 255), (uint8) (G * 255), (uint8) (B * 255), (uint8) (A * 255) };
526+
#else
527+
Cogl.Color color = { (uint8) (R * 255), (uint8) (G * 255), (uint8) (B * 255), (uint8) (A * 255) };
528+
#endif
529+
return color.to_string ();
518530
}
519531

520532
/**
@@ -546,12 +558,5 @@ namespace Gala.Drawing {
546558

547559
return (alpha << 24) | (red << 16) | (green << 8) | blue;
548560
}
549-
550-
private void set_from_rgba (Gdk.RGBA color) {
551-
R = color.red;
552-
G = color.green;
553-
B = color.blue;
554-
A = color.alpha;
555-
}
556561
}
557562
}

lib/Drawing/StyleManager.vala

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,19 @@ public class Gala.Drawing.StyleManager : Object {
3030

3131
private const string FDO_ACCOUNTS_NAME = "org.freedesktop.Accounts";
3232
private const string FDO_ACCOUNTS_PATH = "/org/freedesktop/Accounts";
33-
34-
private const float ACCENT_COLOR_ALPHA = 0.25f;
35-
private const Gdk.RGBA DEFAULT_ACCENT_COLOR = { 0, 0, 0, ACCENT_COLOR_ALPHA };
33+
private const uint8 ACCENT_COLOR_ALPHA = 64;
3634

3735
private static GLib.Once<StyleManager> instance;
3836
public static StyleManager get_instance () {
3937
return instance.once (() => new StyleManager ());
4038
}
4139

4240
public ColorScheme prefers_color_scheme { get; private set; default = LIGHT; }
43-
public Gdk.RGBA theme_accent_color { get; private set; default = DEFAULT_ACCENT_COLOR; }
41+
#if !HAS_MUTTER47
42+
public Clutter.Color theme_accent_color { get; private set; default = { 0, 0, 0, ACCENT_COLOR_ALPHA }; }
43+
#else
44+
public Cogl.Color theme_accent_color { get; private set; default = { 0, 0, 0, ACCENT_COLOR_ALPHA }; }
45+
#endif
4446

4547
private PantheonAccountsService? pantheon_proxy;
4648
private SettingsDaemonAccountsService? settings_daemon_proxy;
@@ -94,16 +96,11 @@ public class Gala.Drawing.StyleManager : Object {
9496
private void update_color (int color) {
9597
var rgb = get_color (color);
9698

97-
var r = ((rgb >> 16) & 255) / 255.0f;
98-
var g = ((rgb >> 8) & 255) / 255.0f;
99-
var b = (rgb & 255) / 255.0f;
99+
var r = (uint8) ((rgb >> 16) & 255);
100+
var g = (uint8) ((rgb >> 8) & 255);
101+
var b = (uint8) (rgb & 255);
100102

101-
theme_accent_color = {
102-
r,
103-
g,
104-
b,
105-
ACCENT_COLOR_ALPHA
106-
};
103+
theme_accent_color = { r, g, b, ACCENT_COLOR_ALPHA };
107104
}
108105

109106
private int get_color (int color) {
@@ -137,6 +134,9 @@ public class Gala.Drawing.StyleManager : Object {
137134

138135
case 10: // Slate
139136
return 0x667885;
137+
138+
case 11: // Latte
139+
return 0xe7c591;
140140
}
141141

142142
return 0;

lib/Gestures/ActorTarget.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class Gala.ActorTarget : Clutter.Actor, GestureTarget {
6464
public virtual void commit_progress (GestureAction action, double to) {}
6565
public virtual void end_progress (GestureAction action) {}
6666

67-
public override void propagate (UpdateType update_type, GestureAction action, double progress) {
67+
public void propagate (UpdateType update_type, GestureAction action, double progress) {
6868
if (update_type == COMMIT) {
6969
current_commit[action] = progress;
7070
} else {

lib/Gestures/GestureController.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class Gala.GestureController : Object {
7373
get { return _progress; }
7474
set {
7575
_progress = value;
76-
target.propagate (UPDATE, action, value);
76+
target?.propagate (UPDATE, action, value);
7777
}
7878
}
7979

lib/Gestures/GestureSettings.vala

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,6 @@ private class Gala.GestureSettings : Object {
3434
: touchpad_settings.get_boolean ("natural-scroll");
3535
}
3636

37-
public Meta.MotionDirection? get_direction (Gesture gesture) {
38-
switch (gesture.direction) {
39-
case GestureDirection.UP:
40-
return Meta.MotionDirection.UP;
41-
case GestureDirection.DOWN:
42-
return Meta.MotionDirection.DOWN;
43-
case GestureDirection.LEFT:
44-
return Meta.MotionDirection.LEFT;
45-
case GestureDirection.RIGHT:
46-
return Meta.MotionDirection.RIGHT;
47-
default:
48-
return null;
49-
}
50-
}
51-
5237
public Meta.MotionDirection? get_natural_scroll_direction (Gesture gesture) {
5338
bool natural_scroll = is_natural_scroll_enabled (gesture.performed_on_device_type);
5439

lib/Gestures/GestureTarget.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ public interface Gala.GestureTarget : Object {
1313
END
1414
}
1515

16-
public virtual void propagate (UpdateType update_type, GestureAction action, double progress) { }
16+
public abstract void propagate (UpdateType update_type, GestureAction action, double progress);
1717
}

lib/Gestures/PropertyTarget.vala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class Gala.PropertyTarget : Object, GestureTarget {
3030
target = null;
3131
}
3232

33-
public override void propagate (UpdateType update_type, GestureAction action, double progress) {
33+
public void propagate (UpdateType update_type, GestureAction action, double progress) {
3434
if (target == null || update_type != UPDATE || action != this.action) {
3535
return;
3636
}

0 commit comments

Comments
 (0)