diff --git a/src/extern/kwin.d.ts b/src/extern/kwin.d.ts index 834ef06..9ee30da 100644 --- a/src/extern/kwin.d.ts +++ b/src/extern/kwin.d.ts @@ -14,6 +14,7 @@ declare const workspace: { activeClient: KwinClient; // Signals + currentDesktopChanged: QSignal<[oldDesktopNumber: number]> clientAdded: QSignal<[KwinClient]>; clientRemoved: QSignal<[AbstractClient]>; clientMinimized: QSignal<[AbstractClient]>; @@ -21,6 +22,7 @@ declare const workspace: { clientMaximizeSet: QSignal<[AbstractClient, horizontally: boolean, vertically: boolean]>; clientActivated: QSignal<[AbstractClient]>; numberDesktopsChanged: QSignal<[oldNumberOfVirtualDesktops: number]>; + currentActivityChanged: QSignal<[newActivity: string]>; virtualScreenSizeChanged: QSignal<[void]>; // Functions diff --git a/src/workspace.ts b/src/workspace.ts index 5219c09..524df53 100644 --- a/src/workspace.ts +++ b/src/workspace.ts @@ -52,6 +52,14 @@ function initWorkspaceSignalHandlers(world: World) { }); }); + manager.connect(workspace.currentDesktopChanged, () => { + world.do(() => {}); // re-arrange desktop + }); + + manager.connect(workspace.currentActivityChanged, () => { + world.do(() => {}); // re-arrange desktop + }); + manager.connect(workspace.numberDesktopsChanged, (oldNumberOfVirtualDesktops: number) => { world.updateDesktops(); });