WIP
This commit is contained in:
@@ -7,22 +7,40 @@ function initWorkspaceSignalHandlers(world: World, focusPasser: FocusPassing.Pas
|
||||
});
|
||||
});
|
||||
|
||||
manager.connect(Workspace.windowRemoved, (kwinClient: KwinClient) => {
|
||||
world.do((clientManager, desktopManager) => {
|
||||
clientManager.removeClient(kwinClient, FocusPassing.Type.Immediate);
|
||||
});
|
||||
});
|
||||
|
||||
manager.connect(Workspace.windowActivated, (kwinClient: KwinClient|null) => {
|
||||
if (kwinClient === null) {
|
||||
focusPasser.activate();
|
||||
} else {
|
||||
focusPasser.clearIfDifferent(kwinClient);
|
||||
world.do((clientManager, desktopManager) => {
|
||||
clientManager.onClientFocused(kwinClient);
|
||||
});
|
||||
}
|
||||
});
|
||||
new SignalGrouping.Group([
|
||||
new SignalGrouping.Handler(
|
||||
[Workspace.windowRemoved, Workspace.windowActivated] as const,
|
||||
(windowRemovedArgs, windowActivatedArgs) => {
|
||||
const kwinClient = windowRemovedArgs[0];
|
||||
world.do((clientManager, desktopManager) => {
|
||||
clientManager.removeClient(kwinClient, FocusPassing.Type.Immediate);
|
||||
});
|
||||
},
|
||||
),
|
||||
new SignalGrouping.Handler(
|
||||
[Workspace.windowRemoved],
|
||||
(windowRemovedArgs) => {
|
||||
const kwinClient = windowRemovedArgs[0];
|
||||
world.do((clientManager, desktopManager) => {
|
||||
clientManager.removeClient(kwinClient, FocusPassing.Type.Immediate);
|
||||
});
|
||||
},
|
||||
),
|
||||
new SignalGrouping.Handler(
|
||||
[Workspace.windowActivated],
|
||||
(windowActivatedArgs) => {
|
||||
const kwinClient = windowActivatedArgs[0];
|
||||
if (kwinClient === null) {
|
||||
focusPasser.activate();
|
||||
} else {
|
||||
focusPasser.clearIfDifferent(kwinClient);
|
||||
world.do((clientManager, desktopManager) => {
|
||||
clientManager.onClientFocused(kwinClient);
|
||||
});
|
||||
}
|
||||
},
|
||||
),
|
||||
]).connect(manager);
|
||||
|
||||
manager.connect(Workspace.currentDesktopChanged, () => {
|
||||
world.do(() => {}); // re-arrange desktop
|
||||
|
||||
Reference in New Issue
Block a user