Skip to content

Commit b2e1f8b

Browse files
authored
Merge branch 'main' into leolost/cleanup-window-overview
2 parents 3ca29b6 + f3382c1 commit b2e1f8b

File tree

7 files changed

+73
-45
lines changed

7 files changed

+73
-45
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.2.5" date="2025-07-09" urgency="medium">
31+
<description>
32+
<p>Improvements:</p>
33+
<ul>
34+
<li>Updated translations</li>
35+
</ul>
36+
</description>
37+
<issues>
38+
<issue url="https://github.com/elementary/gala/issues/2458">Gala still segfaults while closing LibreOffice windows</issue>
39+
</issues>
40+
</release>
41+
3042
<release version="8.2.4" date="2025-06-30" urgency="medium">
3143
<description>
3244
<p>Improvements:</p>

meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
project('gala',
22
'c', 'vala',
3-
version: '8.2.4',
3+
version: '8.2.5',
44
meson_version: '>= 0.59.0',
55
license: 'GPL3',
66
)

po/ja.po

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgstr ""
88
"Project-Id-Version: noise\n"
99
"Report-Msgid-Bugs-To: https://github.com/elementary/gala/issues\n"
1010
"POT-Creation-Date: 2025-06-30 17:54+0000\n"
11-
"PO-Revision-Date: 2025-06-05 07:55+0000\n"
11+
"PO-Revision-Date: 2025-07-14 01:55+0000\n"
1212
"Last-Translator: Ryo Nakano <[email protected]>\n"
1313
"Language-Team: Japanese <https://l10n.elementaryos.org/projects/desktop/gala/"
1414
"ja/>\n"
@@ -224,25 +224,26 @@ msgstr "不明なプログラム"
224224
#: src/Dialogs/CloseDialog.vala:23
225225
#, c-format
226226
msgid "“%s” is not responding"
227-
msgstr "“%s”は応答していません"
227+
msgstr "“%s”の応答がありません"
228228

229229
#: src/Dialogs/CloseDialog.vala:25
230230
msgid "Application is not responding"
231-
msgstr "アプリケーションは応答していません"
231+
msgstr "アプリケーションの応答がありません"
232232

233233
#: src/Dialogs/CloseDialog.vala:28
234234
msgid ""
235235
"You may choose to wait a short while for the application to continue, or "
236236
"force it to quit entirely."
237-
msgstr "アプリケーションの再開を待つか、強制終了させるかを選択できます。"
237+
msgstr "もうしばらくアプリケーションの再開を待つか、完全に強制終了させるかを選択でき"
238+
"ます。"
238239

239240
#: src/Dialogs/CloseDialog.vala:29
240241
msgid "Force Quit"
241242
msgstr "強制終了"
242243

243244
#: src/Dialogs/CloseDialog.vala:30
244245
msgid "Wait"
245-
msgstr "待機"
246+
msgstr "再開を待つ"
246247

247248
#: src/Dialogs/InhibitShortcutsDialog.vala:23
248249
#, c-format

po/pl.po

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgstr ""
88
"Project-Id-Version: gala\n"
99
"Report-Msgid-Bugs-To: https://github.com/elementary/gala/issues\n"
1010
"POT-Creation-Date: 2025-06-30 17:54+0000\n"
11-
"PO-Revision-Date: 2025-03-30 11:55+0000\n"
11+
"PO-Revision-Date: 2025-07-07 19:55+0000\n"
1212
"Last-Translator: Marcin Serwin <[email protected]>\n"
1313
"Language-Team: Polish <https://l10n.elementaryos.org/projects/desktop/gala/"
1414
"pl/>\n"
@@ -18,7 +18,7 @@ msgstr ""
1818
"Content-Transfer-Encoding: 8bit\n"
1919
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
2020
"|| n%100>=20) ? 1 : 2;\n"
21-
"X-Generator: Weblate 5.10.4\n"
21+
"X-Generator: Weblate 5.11.4\n"
2222
"X-Launchpad-Export-Date: 2017-04-20 06:29+0000\n"
2323

2424
#: daemon/DBus.vala:84 daemon-gtk3/BackgroundMenu.vala:11
@@ -135,11 +135,11 @@ msgstr "Stan okna jest teraz zapisywany przy usypianiu i wyłączaniu"
135135

136136
#: data/gala.metainfo.xml.in:103
137137
msgid "Remove scaling effect from menus"
138-
msgstr ""
138+
msgstr "Usuń efekt skalowania z menu"
139139

140140
#: data/gala.metainfo.xml.in:104
141141
msgid "Swipe up to close windows in Multitasking View"
142-
msgstr ""
142+
msgstr "Przeciągnij w górę aby zamknąć okna w widoku wielozadaniowym"
143143

144144
#: data/gala.metainfo.xml.in:135
145145
msgid "Fixed rare crash when a dock window was killed"
@@ -284,10 +284,9 @@ msgstr "Zrzut ekranu z %s"
284284

285285
#. / TRANSLATORS: %s represents a name of file manager
286286
#: src/ScreenshotManager.vala:167
287-
#, fuzzy, c-format
288-
#| msgid "Show in Files"
287+
#, c-format
289288
msgid "Show in %s"
290-
msgstr "Pokaż w Plikach"
289+
msgstr "Pokaż w %s"
291290

292291
#: src/ScreenshotManager.vala:174 src/ScreenshotManager.vala:553
293292
msgid "Screenshot taken"

src/ShellClients/PanelWindow.vala

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
3131
private GestureController gesture_controller;
3232
private HideTracker hide_tracker;
3333

34-
private int width = -1;
35-
private int height = -1;
36-
3734
public PanelWindow (WindowManager wm, Meta.Window window, Pantheon.Desktop.Anchor anchor) {
3835
Object (wm: wm, anchor: anchor, window: window, position: Position.from_anchor (anchor));
3936
}
@@ -53,6 +50,8 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
5350

5451
window.size_changed.connect (update_strut);
5552
window.position_changed.connect (update_strut);
53+
notify["width"].connect (update_strut);
54+
notify["height"].connect (update_strut);
5655

5756
gesture_controller = new GestureController (DOCK, wm);
5857
add_gesture_controller (gesture_controller);
@@ -62,32 +61,6 @@ public class Gala.PanelWindow : ShellWindow, RootTarget {
6261
hide_tracker.show.connect (show);
6362
}
6463

65-
public Mtk.Rectangle get_custom_window_rect () {
66-
var window_rect = window.get_frame_rect ();
67-
68-
if (width > 0) {
69-
window_rect.width = width;
70-
}
71-
72-
if (height > 0) {
73-
window_rect.height = height;
74-
75-
if (anchor == BOTTOM) {
76-
var geom = wm.get_display ().get_monitor_geometry (window.get_monitor ());
77-
window_rect.y = geom.y + geom.height - height;
78-
}
79-
}
80-
81-
return window_rect;
82-
}
83-
84-
public void set_size (int width, int height) {
85-
this.width = width;
86-
this.height = height;
87-
88-
update_strut ();
89-
}
90-
9164
private void hide () {
9265
gesture_controller.goto (1);
9366
}

src/ShellClients/PositionedWindow.vala

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ public class Gala.PositionedWindow : Object {
2929
public Position position { get; construct set; }
3030
public Variant? position_data { get; construct set; }
3131

32+
private int width = -1;
33+
private int height = -1;
34+
3235
private ulong position_changed_id;
3336

3437
public PositionedWindow (Meta.Window window, Position position, Variant? position_data = null) {
@@ -50,6 +53,30 @@ public class Gala.PositionedWindow : Object {
5053
notify["position-data"].connect (position_window);
5154
}
5255

56+
public Mtk.Rectangle get_custom_window_rect () {
57+
var window_rect = window.get_frame_rect ();
58+
59+
if (width > 0) {
60+
window_rect.width = width;
61+
}
62+
63+
if (height > 0) {
64+
window_rect.height = height;
65+
66+
if (position == BOTTOM) {
67+
var geom = window.display.get_monitor_geometry (window.get_monitor ());
68+
window_rect.y = geom.y + geom.height - height;
69+
}
70+
}
71+
72+
return window_rect;
73+
}
74+
75+
public void set_size (int width, int height) {
76+
this.width = width;
77+
this.height = height;
78+
}
79+
5380
private void position_window () {
5481
int x = 0, y = 0;
5582
var window_rect = window.get_frame_rect ();

src/ShellClients/ShellWindow.vala

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
2929
window_actor.notify["translation-y"].connect (update_clip);
3030
notify["position"].connect (update_clip);
3131

32-
window_actor.notify["height"].connect (update_target);
32+
window.size_changed.connect (update_target);
3333
notify["position"].connect (update_target);
3434
update_target ();
3535
}
@@ -93,6 +93,20 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
9393

9494
window_actor.visible = animating || visible;
9595

96+
if (window_actor.visible) {
97+
#if HAS_MUTTER48
98+
window.display.get_compositor ().disable_unredirect ();
99+
#else
100+
window.display.disable_unredirect ();
101+
#endif
102+
} else {
103+
#if HAS_MUTTER48
104+
window.display.get_compositor ().enable_unredirect ();
105+
#else
106+
window.display.enable_unredirect ();
107+
#endif
108+
}
109+
96110
if (!Meta.Util.is_wayland_compositor ()) {
97111
if (window_actor.visible) {
98112
Utils.x11_unset_window_pass_through (window, restore_previous_x11_region);
@@ -136,11 +150,13 @@ public class Gala.ShellWindow : PositionedWindow, GestureTarget {
136150
}
137151

138152
private Value calculate_value (bool hidden) {
153+
var custom_rect = get_custom_window_rect ();
154+
139155
switch (position) {
140156
case TOP:
141-
return hidden ? -window_actor.height : 0f;
157+
return hidden ? -custom_rect.height : 0f;
142158
case BOTTOM:
143-
return hidden ? window_actor.height : 0f;
159+
return hidden ? custom_rect.height : 0f;
144160
default:
145161
return hidden ? 0u : 255u;
146162
}

0 commit comments

Comments
 (0)