mirror of
https://github.com/esjeon/krohnkite.git
synced 2024-10-04 07:18:09 +03:00
detailed client resize/move event
This commit is contained in:
parent
32154d4f4e
commit
0f8b4edaf2
@ -186,18 +186,37 @@ class KWinDriver {
|
||||
}
|
||||
|
||||
private bindClientEvents(client: KWin.Client) {
|
||||
this.connect(client.geometryChanged, () => {
|
||||
if (client.move || client.resize) return;
|
||||
|
||||
debugObj(() => ["geometryChanged", {client, geometry: client.geometry}]);
|
||||
this.engine.enforceClientSize(client);
|
||||
});
|
||||
let moving = false;
|
||||
let resizing = false;
|
||||
|
||||
this.connect(client.moveResizedChanged, () => {
|
||||
if (client.move || client.resize) {
|
||||
debugObj(() => ["moveResizedChanged", {client}]);
|
||||
if (this.engine.setClientFloat(client) === true)
|
||||
this.engine.arrange();
|
||||
debugObj(() => ["moveResizedChanged", {client, move: client.move, resize: client.resize}]);
|
||||
if (moving !== client.move) {
|
||||
moving = client.move;
|
||||
if (moving)
|
||||
this.onClientMoveStart(client);
|
||||
else
|
||||
this.onClientMoveOver(client);
|
||||
}
|
||||
|
||||
if (resizing !== client.resize) {
|
||||
resizing = client.resize;
|
||||
if (resizing)
|
||||
this.onClientResizeStart(client);
|
||||
else
|
||||
this.onClientResizeOver(client);
|
||||
}
|
||||
});
|
||||
|
||||
this.connect(client.geometryChanged, () => {
|
||||
if (moving) {
|
||||
this.onClientMove(client);
|
||||
} else if (resizing) {
|
||||
this.onClientResize(client);
|
||||
} else {
|
||||
/* client geometry changed without user intervention */
|
||||
debugObj(() => ["geometryChanged", {client, geometry: client.geometry}]);
|
||||
this.engine.enforceClientSize(client);
|
||||
}
|
||||
});
|
||||
|
||||
@ -225,6 +244,28 @@ class KWinDriver {
|
||||
this.engine.unmanageClient(client);
|
||||
}
|
||||
|
||||
private onClientMoveStart = (client: KWin.Client) => {
|
||||
if (this.engine.setClientFloat(client) === true)
|
||||
this.engine.arrange();
|
||||
}
|
||||
|
||||
private onClientMove = (client: KWin.Client) => {
|
||||
}
|
||||
|
||||
private onClientMoveOver = (client: KWin.Client) => {
|
||||
}
|
||||
|
||||
private onClientResizeStart = (client: KWin.Client) => {
|
||||
if (this.engine.setClientFloat(client) === true)
|
||||
this.engine.arrange();
|
||||
}
|
||||
|
||||
private onClientResize = (client: KWin.Client) => {
|
||||
}
|
||||
|
||||
private onClientResizeOver = (client: KWin.Client) => {
|
||||
}
|
||||
|
||||
private onClientChanged = (client: KWin.Client, comment?: string) => {
|
||||
debugObj(() => ["onClientChanged", {client, comment}]);
|
||||
this.engine.arrange();
|
||||
|
Loading…
Reference in New Issue
Block a user