un-maximize when swithing to another window in the same column (issue 93)
This commit is contained in:
@@ -297,13 +297,13 @@ class Column {
|
||||
}
|
||||
|
||||
public onWindowFocused(window: Window) {
|
||||
this.grid.onColumnFocused(this);
|
||||
this.grid.onColumnFocused(this, window);
|
||||
this.focusTaker = window;
|
||||
}
|
||||
|
||||
public restoreToTiled() {
|
||||
public restoreToTiled(focusedWindow: Window) {
|
||||
const lastFocusedWindow = this.getFocusTaker();
|
||||
if (lastFocusedWindow !== null) {
|
||||
if (lastFocusedWindow !== null && lastFocusedWindow !== focusedWindow) {
|
||||
lastFocusedWindow.restoreToTiled();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,10 +184,10 @@ class Grid {
|
||||
}
|
||||
}
|
||||
|
||||
public onColumnFocused(column: Column) {
|
||||
public onColumnFocused(column: Column, window: Window) {
|
||||
const lastFocusedColumn = this.getLastFocusedColumn();
|
||||
if (lastFocusedColumn !== null && lastFocusedColumn !== column) {
|
||||
lastFocusedColumn.restoreToTiled();
|
||||
if (lastFocusedColumn !== null) {
|
||||
lastFocusedColumn.restoreToTiled(window);
|
||||
}
|
||||
this.lastFocusedColumn = column;
|
||||
this.desktop.scrollToColumn(column, false);
|
||||
|
||||
@@ -143,6 +143,24 @@
|
||||
() => qtMock.fireShortcut("karousel-focus-end"),
|
||||
);
|
||||
assertWindowed(config, clients);
|
||||
|
||||
runOneOf(
|
||||
() => clients[2].fullScreen = true,
|
||||
() => clients[2].setMaximize(true, true),
|
||||
);
|
||||
assertFullScreenOrMaximized(clients);
|
||||
|
||||
runOneOf(
|
||||
() => workspaceMock.activeWindow = clients[1],
|
||||
() => qtMock.fireShortcut("karousel-focus-up"),
|
||||
);
|
||||
assertWindowed(config, clients);
|
||||
|
||||
runOneOf(
|
||||
() => workspaceMock.activeWindow = clients[2],
|
||||
() => qtMock.fireShortcut("karousel-focus-down"),
|
||||
);
|
||||
assertWindowed(config, clients);
|
||||
});
|
||||
|
||||
tests.register("Re-maximize enabled " + suffix, 100, () => {
|
||||
@@ -176,6 +194,18 @@
|
||||
() => qtMock.fireShortcut("karousel-focus-end"),
|
||||
);
|
||||
assertFullScreenOrMaximized(clients);
|
||||
|
||||
runOneOf(
|
||||
() => workspaceMock.activeWindow = clients[1],
|
||||
() => qtMock.fireShortcut("karousel-focus-up"),
|
||||
);
|
||||
assertWindowed(config, clients);
|
||||
|
||||
runOneOf(
|
||||
() => workspaceMock.activeWindow = clients[2],
|
||||
() => qtMock.fireShortcut("karousel-focus-down"),
|
||||
);
|
||||
assertFullScreenOrMaximized(clients);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user