function notifyActiveWindow(client) {
if (!client) {
return;
}
callDBus(
"com.k0kubun.Xremap",
"/com/k0kubun/Xremap",
"com.k0kubun.Xremap",
"NotifyActiveWindow2",
"caption" in client ? client.caption : "",
"resourceClass" in client ? client.resourceClass : "",
);
}
var currentActiveWindow = null;
function onCaptionChanged() {
if (currentActiveWindow) {
notifyActiveWindow(currentActiveWindow);
}
}
function onWindowActivated(window) {
if (currentActiveWindow && currentActiveWindow.captionChanged) {
try {
currentActiveWindow.captionChanged.disconnect(onCaptionChanged);
} catch (err) {
}
}
currentActiveWindow = window;
if (currentActiveWindow && currentActiveWindow.captionChanged) {
currentActiveWindow.captionChanged.connect(onCaptionChanged);
}
notifyActiveWindow(currentActiveWindow);
}
if (workspace.windowList) {
workspace.windowActivated.connect(onWindowActivated);
} else {
workspace.clientActivated.connect(onWindowActivated);
}