base pinning on KwinClient.tile instead of frameGeometry

This commit is contained in:
Peter Fajdiga
2023-09-22 14:40:25 +02:00
parent 5ef71c92ce
commit 2882bb8d5d
3 changed files with 16 additions and 21 deletions

View File

@@ -40,9 +40,9 @@ namespace ClientState {
manager.connect(kwinClient.tileChanged, () => { manager.connect(kwinClient.tileChanged, () => {
// on X11, this fires after `frameGeometryChanged` // on X11, this fires after `frameGeometryChanged`
const quickTileMode = Clients.guessQuickTileMode(kwinClient); if (kwinClient.tile !== null) {
if (quickTileMode !== Clients.QuickTileMode.Untiled) {
world.do((clientManager, desktopManager) => { world.do((clientManager, desktopManager) => {
const quickTileMode = Clients.guessQuickTileMode(kwinClient);
clientManager.pinClient(kwinClient, quickTileMode); clientManager.pinClient(kwinClient, quickTileMode);
}); });
} }
@@ -51,12 +51,10 @@ namespace ClientState {
manager.connect(kwinClient.frameGeometryChanged, () => { manager.connect(kwinClient.frameGeometryChanged, () => {
// on Wayland, this fires after `tileChanged` // on Wayland, this fires after `tileChanged`
if (kwinClient.tile !== null) { if (kwinClient.tile !== null) {
const quickTileMode = Clients.guessQuickTileMode(kwinClient); world.do((clientManager, desktopManager) => {
if (quickTileMode !== Clients.QuickTileMode.Untiled) { const quickTileMode = Clients.guessQuickTileMode(kwinClient);
world.do((clientManager, desktopManager) => { clientManager.pinClient(kwinClient, quickTileMode);
clientManager.pinClient(kwinClient, quickTileMode); });
});
}
} }
}) })

View File

@@ -34,8 +34,7 @@ namespace ClientState {
let oldActivities = kwinClient.activities; let oldActivities = kwinClient.activities;
manager.connect(kwinClient.tileChanged, () => { manager.connect(kwinClient.tileChanged, () => {
const quickTileMode = Clients.guessQuickTileMode(kwinClient); if (kwinClient.tile === null) {
if (quickTileMode === Clients.QuickTileMode.Untiled) {
world.do((clientManager, desktopManager) => { world.do((clientManager, desktopManager) => {
clientManager.unpinClient(kwinClient); clientManager.unpinClient(kwinClient);
}); });
@@ -43,8 +42,7 @@ namespace ClientState {
}); });
manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => { manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => {
const quickTileMode = Clients.guessQuickTileMode(kwinClient); if (kwinClient.tile === null) {
if (quickTileMode === Clients.QuickTileMode.Untiled) {
world.do((clientManager, desktopManager) => { world.do((clientManager, desktopManager) => {
clientManager.unpinClient(kwinClient); clientManager.unpinClient(kwinClient);
}); });
@@ -52,6 +50,7 @@ namespace ClientState {
} }
world.do((clientManager, desktopManager) => { world.do((clientManager, desktopManager) => {
const quickTileMode = Clients.guessQuickTileMode(kwinClient);
pinManager.setClient(kwinClient, quickTileMode); pinManager.setClient(kwinClient, quickTileMode);
for (const desktop of desktopManager.getDesktopsForClient(kwinClient)) { for (const desktop of desktopManager.getDesktopsForClient(kwinClient)) {
desktop.onPinsChanged(); desktop.onPinsChanged();

View File

@@ -84,13 +84,11 @@ namespace ClientState {
manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => { manager.connect(kwinClient.frameGeometryChanged, (kwinClient: KwinClient, oldGeometry: QRect) => {
// on Wayland, this fires after `tileChanged` // on Wayland, this fires after `tileChanged`
if (kwinClient.tile !== null) { if (kwinClient.tile !== null) {
const quickTileMode = Clients.guessQuickTileMode(kwinClient); world.do((clientManager, desktopManager) => {
if (quickTileMode !== Clients.QuickTileMode.Untiled) { const quickTileMode = Clients.guessQuickTileMode(kwinClient);
world.do((clientManager, desktopManager) => { clientManager.pinClient(kwinClient, quickTileMode);
clientManager.pinClient(kwinClient, quickTileMode); });
}); return;
return;
}
} }
const newGeometry = client.kwinClient.frameGeometry; const newGeometry = client.kwinClient.frameGeometry;
@@ -121,9 +119,9 @@ namespace ClientState {
manager.connect(kwinClient.tileChanged, () => { manager.connect(kwinClient.tileChanged, () => {
// on X11, this fires after `frameGeometryChanged` // on X11, this fires after `frameGeometryChanged`
const quickTileMode = Clients.guessQuickTileMode(kwinClient); if (kwinClient.tile === null) {
if (quickTileMode !== Clients.QuickTileMode.Untiled) {
world.do((clientManager, desktopManager) => { world.do((clientManager, desktopManager) => {
const quickTileMode = Clients.guessQuickTileMode(kwinClient);
clientManager.pinClient(kwinClient, quickTileMode); clientManager.pinClient(kwinClient, quickTileMode);
}); });
} }