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

View File

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

View File

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