Skip to content

Commit 9bbea70

Browse files
authored
Merge branch 'main' into leolost/panel-window-use-window-positioner
2 parents 4efd67a + f252f74 commit 9bbea70

Some content is hidden

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

208 files changed

+6097
-4856
lines changed

data/gala.metainfo.xml.in

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

2929
<releases>
30+
<release version="8.0.4" date="2024-11-23" urgency="medium">
31+
<description>
32+
<p>Improvements:</p>
33+
<ul>
34+
<li>Updated translations</li>
35+
<li>Improved shadows performance</li>
36+
</ul>
37+
</description>
38+
<issues>
39+
</issues>
40+
</release>
41+
3042
<release version="8.0.3" date="2024-11-20" urgency="medium">
3143
<description>
3244
<p>Improvements:</p>

lib/ShadowEffect.vala

Lines changed: 46 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ public class Gala.ShadowEffect : Clutter.Effect {
1717

1818
// the sizes of the textures often repeat, especially for the background actor
1919
// so we keep a cache to avoid creating the same texture all over again.
20-
private static Gee.HashMap<string,Shadow> shadow_cache;
21-
// Delay the style context creation at render stage as Gtk need to access
22-
// the current display.
20+
private static Gee.HashMap<string, Shadow> shadow_cache;
21+
22+
// Sometimes we use a shadow in only one place and rapidly switch between two shadows
23+
// In order to not drop them and create them all over again we wait 5 seconds before finally dropping a shadow.
24+
private static Gee.HashMap<string, uint> shadows_marked_for_dropping;
2325

2426
static construct {
25-
shadow_cache = new Gee.HashMap<string,Shadow> ();
27+
shadow_cache = new Gee.HashMap<string, Shadow> ();
28+
shadows_marked_for_dropping = new Gee.HashMap<string, uint> ();
2629
}
2730

2831
private string _css_class;
@@ -80,9 +83,9 @@ public class Gala.ShadowEffect : Clutter.Effect {
8083
decrement_shadow_users (old_key);
8184
}
8285

83-
Shadow? shadow = null;
84-
if ((shadow = shadow_cache.@get (current_key)) != null) {
85-
shadow.users++;
86+
var shadow = shadow_cache.@get (current_key);
87+
if (shadow != null) {
88+
increment_shadow_users (current_key);
8689
return shadow.texture;
8790
}
8891

@@ -126,18 +129,6 @@ public class Gala.ShadowEffect : Clutter.Effect {
126129
}
127130
}
128131

129-
private void decrement_shadow_users (string key) {
130-
var shadow = shadow_cache.@get (key);
131-
132-
if (shadow == null) {
133-
return;
134-
}
135-
136-
if (--shadow.users == 0) {
137-
shadow_cache.unset (key);
138-
}
139-
}
140-
141132
public override void paint (Clutter.PaintNode node, Clutter.PaintContext context, Clutter.EffectPaintFlags flags) {
142133
var bounding_box = get_bounding_box ();
143134
var width = (int) (bounding_box.x2 - bounding_box.x1);
@@ -159,7 +150,7 @@ public class Gala.ShadowEffect : Clutter.Effect {
159150
actor.continue_paint (context);
160151
}
161152

162-
public virtual Clutter.ActorBox get_bounding_box () {
153+
private Clutter.ActorBox get_bounding_box () {
163154
var size = shadow_size * scale_factor;
164155
var bounding_box = Clutter.ActorBox ();
165156

@@ -184,4 +175,39 @@ public class Gala.ShadowEffect : Clutter.Effect {
184175

185176
return true;
186177
}
178+
179+
private static void increment_shadow_users (string key) {
180+
var shadow = shadow_cache.@get (key);
181+
182+
if (shadow == null) {
183+
return;
184+
}
185+
186+
shadow.users++;
187+
188+
uint timeout_id;
189+
if (shadows_marked_for_dropping.unset (key, out timeout_id)) {
190+
Source.remove (timeout_id);
191+
}
192+
}
193+
194+
private static void decrement_shadow_users (string key) {
195+
var shadow = shadow_cache.@get (key);
196+
197+
if (shadow == null) {
198+
return;
199+
}
200+
201+
if (--shadow.users == 0) {
202+
queue_shadow_drop (key);
203+
}
204+
}
205+
206+
private static void queue_shadow_drop (string key) {
207+
shadows_marked_for_dropping[key] = Timeout.add_seconds (5, () => {
208+
shadow_cache.unset (key);
209+
shadows_marked_for_dropping.unset (key);
210+
return Source.REMOVE;
211+
});
212+
}
187213
}

po/aa.po

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: gala 3.2.0\n"
99
"Report-Msgid-Bugs-To: https://github.com/elementary/gala/issues\n"
10-
"POT-Creation-Date: 2024-10-15 19:33+0000\n"
10+
"POT-Creation-Date: 2024-11-23 16:06+0000\n"
1111
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212
"Last-Translator: Automatically generated\n"
1313
"Language-Team: none\n"
@@ -102,53 +102,59 @@ msgstr ""
102102
msgid "elementary, Inc."
103103
msgstr ""
104104

105-
#: data/gala.metainfo.xml.in:32 data/gala.metainfo.xml.in:47
106-
#: data/gala.metainfo.xml.in:63 data/gala.metainfo.xml.in:104
107-
#: data/gala.metainfo.xml.in:129 data/gala.metainfo.xml.in:145
105+
#: data/gala.metainfo.xml.in:32 data/gala.metainfo.xml.in:44
106+
#: data/gala.metainfo.xml.in:59 data/gala.metainfo.xml.in:76
107+
#: data/gala.metainfo.xml.in:92 data/gala.metainfo.xml.in:133
108+
#: data/gala.metainfo.xml.in:158 data/gala.metainfo.xml.in:174
108109
msgid "Improvements:"
109110
msgstr ""
110111

111-
#: data/gala.metainfo.xml.in:34 data/gala.metainfo.xml.in:51
112-
#: data/gala.metainfo.xml.in:67 data/gala.metainfo.xml.in:110
113-
#: data/gala.metainfo.xml.in:132 data/gala.metainfo.xml.in:147
112+
#: data/gala.metainfo.xml.in:34 data/gala.metainfo.xml.in:46
113+
#: data/gala.metainfo.xml.in:61 data/gala.metainfo.xml.in:80
114+
#: data/gala.metainfo.xml.in:96 data/gala.metainfo.xml.in:139
115+
#: data/gala.metainfo.xml.in:161 data/gala.metainfo.xml.in:176
114116
msgid "Updated translations"
115117
msgstr ""
116118

117-
#: data/gala.metainfo.xml.in:49
119+
#: data/gala.metainfo.xml.in:35
120+
msgid "Improved shadows performance"
121+
msgstr ""
122+
123+
#: data/gala.metainfo.xml.in:78
118124
msgid "Fix a potential crash when moving windows between workspaces"
119125
msgstr ""
120126

121-
#: data/gala.metainfo.xml.in:50
127+
#: data/gala.metainfo.xml.in:79
122128
msgid "Fix notification animation when entering multitasking view"
123129
msgstr ""
124130

125-
#: data/gala.metainfo.xml.in:65
131+
#: data/gala.metainfo.xml.in:94
126132
msgid "Improve keyboard navigation in Multitasking View"
127133
msgstr ""
128134

129-
#: data/gala.metainfo.xml.in:66
135+
#: data/gala.metainfo.xml.in:95
130136
msgid "Change panel color at the same time as wallpaper transition"
131137
msgstr ""
132138

133-
#: data/gala.metainfo.xml.in:106
139+
#: data/gala.metainfo.xml.in:135
134140
msgid ""
135141
"Changing the wallpaper or going to sleep respects the \"Reduce Motion\" "
136142
"option"
137143
msgstr ""
138144

139-
#: data/gala.metainfo.xml.in:107
145+
#: data/gala.metainfo.xml.in:136
140146
msgid "Use appropriate drag-and-drop pointers when moving windows"
141147
msgstr ""
142148

143-
#: data/gala.metainfo.xml.in:108
149+
#: data/gala.metainfo.xml.in:137
144150
msgid "Fix the issue when gestures in the multitasking view might stop working"
145151
msgstr ""
146152

147-
#: data/gala.metainfo.xml.in:109
153+
#: data/gala.metainfo.xml.in:138
148154
msgid "Improve dynamic workspaces behaviour with multiple monitors"
149155
msgstr ""
150156

151-
#: data/gala.metainfo.xml.in:131
157+
#: data/gala.metainfo.xml.in:160
152158
msgid "Improve handling of move-to-workspace shortcut"
153159
msgstr ""
154160

@@ -222,39 +228,39 @@ msgstr ""
222228
msgid "Deny"
223229
msgstr ""
224230

225-
#: src/ScreenshotManager.vala:290
231+
#: src/ScreenshotManager.vala:296
226232
msgid "Screenshots"
227233
msgstr ""
228234

229-
#: src/ScreenshotManager.vala:382
235+
#: src/ScreenshotManager.vala:388
230236
msgid "Screenshot taken"
231237
msgstr ""
232238

233239
#: src/Widgets/WindowSwitcher/WindowSwitcher.vala:73
234240
msgid "Window switcher"
235241
msgstr ""
236242

237-
#: src/WindowManager.vala:2365
243+
#: src/WindowManager.vala:2355
238244
#, c-format
239245
msgid "Changes will automatically revert after %i second."
240246
msgid_plural "Changes will automatically revert after %i seconds."
241247
msgstr[0] ""
242248
msgstr[1] ""
243249

244-
#: src/WindowManager.vala:2372
250+
#: src/WindowManager.vala:2362
245251
msgid "Keep new display settings?"
246252
msgstr ""
247253

248-
#: src/WindowManager.vala:2376
254+
#: src/WindowManager.vala:2366
249255
msgid "Keep Settings"
250256
msgstr ""
251257

252-
#: src/WindowManager.vala:2377
258+
#: src/WindowManager.vala:2367
253259
msgid "Use Previous Settings"
254260
msgstr ""
255261

256262
#. / TRANSLATORS: %s represents a timestamp here
257-
#: src/WindowManager.vala:2416
263+
#: src/WindowManager.vala:2406
258264
#, c-format
259265
msgid "Screenshot from %s"
260266
msgstr ""

po/ab.po

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: gala 3.2.0\n"
99
"Report-Msgid-Bugs-To: https://github.com/elementary/gala/issues\n"
10-
"POT-Creation-Date: 2024-10-15 19:33+0000\n"
10+
"POT-Creation-Date: 2024-11-23 16:06+0000\n"
1111
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1212
"Last-Translator: Automatically generated\n"
1313
"Language-Team: none\n"
@@ -102,53 +102,59 @@ msgstr ""
102102
msgid "elementary, Inc."
103103
msgstr ""
104104

105-
#: data/gala.metainfo.xml.in:32 data/gala.metainfo.xml.in:47
106-
#: data/gala.metainfo.xml.in:63 data/gala.metainfo.xml.in:104
107-
#: data/gala.metainfo.xml.in:129 data/gala.metainfo.xml.in:145
105+
#: data/gala.metainfo.xml.in:32 data/gala.metainfo.xml.in:44
106+
#: data/gala.metainfo.xml.in:59 data/gala.metainfo.xml.in:76
107+
#: data/gala.metainfo.xml.in:92 data/gala.metainfo.xml.in:133
108+
#: data/gala.metainfo.xml.in:158 data/gala.metainfo.xml.in:174
108109
msgid "Improvements:"
109110
msgstr ""
110111

111-
#: data/gala.metainfo.xml.in:34 data/gala.metainfo.xml.in:51
112-
#: data/gala.metainfo.xml.in:67 data/gala.metainfo.xml.in:110
113-
#: data/gala.metainfo.xml.in:132 data/gala.metainfo.xml.in:147
112+
#: data/gala.metainfo.xml.in:34 data/gala.metainfo.xml.in:46
113+
#: data/gala.metainfo.xml.in:61 data/gala.metainfo.xml.in:80
114+
#: data/gala.metainfo.xml.in:96 data/gala.metainfo.xml.in:139
115+
#: data/gala.metainfo.xml.in:161 data/gala.metainfo.xml.in:176
114116
msgid "Updated translations"
115117
msgstr ""
116118

117-
#: data/gala.metainfo.xml.in:49
119+
#: data/gala.metainfo.xml.in:35
120+
msgid "Improved shadows performance"
121+
msgstr ""
122+
123+
#: data/gala.metainfo.xml.in:78
118124
msgid "Fix a potential crash when moving windows between workspaces"
119125
msgstr ""
120126

121-
#: data/gala.metainfo.xml.in:50
127+
#: data/gala.metainfo.xml.in:79
122128
msgid "Fix notification animation when entering multitasking view"
123129
msgstr ""
124130

125-
#: data/gala.metainfo.xml.in:65
131+
#: data/gala.metainfo.xml.in:94
126132
msgid "Improve keyboard navigation in Multitasking View"
127133
msgstr ""
128134

129-
#: data/gala.metainfo.xml.in:66
135+
#: data/gala.metainfo.xml.in:95
130136
msgid "Change panel color at the same time as wallpaper transition"
131137
msgstr ""
132138

133-
#: data/gala.metainfo.xml.in:106
139+
#: data/gala.metainfo.xml.in:135
134140
msgid ""
135141
"Changing the wallpaper or going to sleep respects the \"Reduce Motion\" "
136142
"option"
137143
msgstr ""
138144

139-
#: data/gala.metainfo.xml.in:107
145+
#: data/gala.metainfo.xml.in:136
140146
msgid "Use appropriate drag-and-drop pointers when moving windows"
141147
msgstr ""
142148

143-
#: data/gala.metainfo.xml.in:108
149+
#: data/gala.metainfo.xml.in:137
144150
msgid "Fix the issue when gestures in the multitasking view might stop working"
145151
msgstr ""
146152

147-
#: data/gala.metainfo.xml.in:109
153+
#: data/gala.metainfo.xml.in:138
148154
msgid "Improve dynamic workspaces behaviour with multiple monitors"
149155
msgstr ""
150156

151-
#: data/gala.metainfo.xml.in:131
157+
#: data/gala.metainfo.xml.in:160
152158
msgid "Improve handling of move-to-workspace shortcut"
153159
msgstr ""
154160

@@ -222,39 +228,39 @@ msgstr ""
222228
msgid "Deny"
223229
msgstr ""
224230

225-
#: src/ScreenshotManager.vala:290
231+
#: src/ScreenshotManager.vala:296
226232
msgid "Screenshots"
227233
msgstr ""
228234

229-
#: src/ScreenshotManager.vala:382
235+
#: src/ScreenshotManager.vala:388
230236
msgid "Screenshot taken"
231237
msgstr ""
232238

233239
#: src/Widgets/WindowSwitcher/WindowSwitcher.vala:73
234240
msgid "Window switcher"
235241
msgstr ""
236242

237-
#: src/WindowManager.vala:2365
243+
#: src/WindowManager.vala:2355
238244
#, c-format
239245
msgid "Changes will automatically revert after %i second."
240246
msgid_plural "Changes will automatically revert after %i seconds."
241247
msgstr[0] ""
242248
msgstr[1] ""
243249

244-
#: src/WindowManager.vala:2372
250+
#: src/WindowManager.vala:2362
245251
msgid "Keep new display settings?"
246252
msgstr ""
247253

248-
#: src/WindowManager.vala:2376
254+
#: src/WindowManager.vala:2366
249255
msgid "Keep Settings"
250256
msgstr ""
251257

252-
#: src/WindowManager.vala:2377
258+
#: src/WindowManager.vala:2367
253259
msgid "Use Previous Settings"
254260
msgstr ""
255261

256262
#. / TRANSLATORS: %s represents a timestamp here
257-
#: src/WindowManager.vala:2416
263+
#: src/WindowManager.vala:2406
258264
#, c-format
259265
msgid "Screenshot from %s"
260266
msgstr ""

0 commit comments

Comments
 (0)