Skip to content

Commit 534658e

Browse files
committed
src: Fix (un)maximize usage for GNOME 49.
The API had changed here: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4415 Thus we had warnings being logged when in stacked mode. The commit which added support for GNOME 49 forgot to change that. Also, to be in line with the fixes commit, we remove the unmaxize(HORIZONTAL); unmaximize(VERTICAL); unmaximize(BOTH); code to checking for whether the window is maximized and then using BOTH (i.e. its replacement) directly. Closes: #1801 Fixes: d22d2ff ("fix: update window maximization logic to use new properties and added gnome 49 shell version in metadata") Signed-off-by: Siddh Raman Pant <25429745+siddhpant@users.noreply.github.com>
1 parent fd57bcc commit 534658e

4 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/extension.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -909,10 +909,10 @@ export class Ext extends Ecs.System<ExtEvent> {
909909
) {
910910
if (prev.rect().contains(win.rect())) {
911911
if (prev.is_maximized()) {
912-
prev.meta.unmaximize(Meta.MaximizeFlags.BOTH);
912+
prev.meta.unmaximize();
913913
}
914914
} else if (prev.stack) {
915-
prev.meta.unmaximize(Meta.MaximizeFlags.BOTH);
915+
prev.meta.unmaximize();
916916
this.auto_tiler.forest.stacks.get(prev.stack)?.restack();
917917
}
918918
}
@@ -1034,7 +1034,7 @@ export class Ext extends Ecs.System<ExtEvent> {
10341034
compare.is_maximized() &&
10351035
win.entity[0] !== compare.entity[0]
10361036
) {
1037-
compare.meta.unmaximize(Meta.MaximizeFlags.BOTH);
1037+
compare.meta.unmaximize();
10381038
}
10391039
}
10401040
}
@@ -1257,18 +1257,16 @@ export class Ext extends Ecs.System<ExtEvent> {
12571257
}
12581258

12591259
if (this.auto_tiler) {
1260-
if (this.is_floating(win)) {
1261-
win.meta.unmaximize(Meta.MaximizeFlags.HORIZONTAL);
1262-
win.meta.unmaximize(Meta.MaximizeFlags.VERTICAL);
1263-
win.meta.unmaximize(Meta.MaximizeFlags.BOTH);
1260+
if (this.is_floating(win) && win.is_maximized()) {
1261+
win.meta.unmaximize();
12641262
}
12651263

12661264
this.register(Events.window_move(this, win, rect));
12671265
} else {
12681266
win.move(this, rect, () => { });
12691267
// if the resulting dimensions of rect == next
12701268
if (rect.width == next_area.width && rect.height == next_area.height) {
1271-
win.meta.maximize(Meta.MaximizeFlags.BOTH);
1269+
win.meta.maximize();
12721270
}
12731271
}
12741272
}

src/mod.d.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,13 +306,15 @@ declare namespace Meta {
306306
is_skip_taskbar(): boolean;
307307
make_above(): void;
308308
make_fullscreen(): void;
309-
maximize(flags: MaximizeFlags): void;
309+
maximize(): void;
310+
unmaximize(): void;
311+
unminimize(): void;
312+
set_maximize_flags(flags: MaximizeFlags): void;
313+
set_unmaximize_flags(flags: MaximizeFlags): void;
310314
move_frame(user_op: boolean, x: number, y: number): void;
311315
move_resize_frame(user_op: boolean, x: number, y: number, w: number, h: number): boolean;
312316
raise(): void;
313317
skip_taskbar: boolean;
314-
unmaximize(flags: any): void;
315-
unminimize(): void;
316318
}
317319

318320
interface WindowActor extends Clutter.Actor {

src/tiling.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,7 @@ export class Tiler {
758758
this.window = win.entity;
759759

760760
if (win.is_maximized()) {
761-
win.meta.unmaximize(Meta.MaximizeFlags.BOTH);
761+
win.meta.unmaximize();
762762
}
763763

764764
// Set overlay to match window

src/window.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ export class ShellWindow {
373373

374374
if (actor) {
375375
if (this.is_maximized()) {
376-
meta.unmaximize(Meta.MaximizeFlags.BOTH);
376+
meta.unmaximize();
377377
}
378378
actor.remove_all_transitions();
379379

0 commit comments

Comments
 (0)