Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21eacd7ba4 | ||
|
|
5004417285 | ||
|
|
a110aee7ce | ||
|
|
817ea64171 |
2
Makefile
2
Makefile
@@ -17,7 +17,7 @@ uninstall:
|
||||
kpackagetool5 --type=KWin/Script -r ./package
|
||||
|
||||
package: build config
|
||||
tar -czf ./karousel_${subst .,_,${VERSION}}.tar.gz ./package
|
||||
tar -czf ./karousel_${subst .,_,${VERSION}}.tar.gz ./package --transform s/package/karousel/
|
||||
|
||||
logs:
|
||||
journalctl -t kwin_x11 -g '^qml:|^file://.*karousel' -f
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
}],
|
||||
"Id": "karousel",
|
||||
"ServiceTypes": ["KWin/Script"],
|
||||
"Version": "0.7.1",
|
||||
"Version": "0.7.2",
|
||||
"License": "GPLv3",
|
||||
"Website": "https://github.com/peterfajdiga/karousel",
|
||||
"BugReportUrl": "https://github.com/peterfajdiga/karousel/issues"
|
||||
|
||||
@@ -33,13 +33,14 @@ class ClientWrapper {
|
||||
// window is being manually resized, prevent fighting with the user
|
||||
return;
|
||||
}
|
||||
this.lastPlacement = Qt.rect(x, y, width, height);
|
||||
this.kwinClient.frameGeometry = this.lastPlacement;
|
||||
if (this.kwinClient.frameGeometry !== this.lastPlacement) {
|
||||
const clientWrapper = this; // workaround for bug in Qt5's JS engine
|
||||
clientWrapper.lastPlacement = Qt.rect(x, y, width, height);
|
||||
clientWrapper.kwinClient.frameGeometry = clientWrapper.lastPlacement;
|
||||
if (clientWrapper.kwinClient.frameGeometry !== clientWrapper.lastPlacement) {
|
||||
// frameGeometry assignment failed. This sometimes happens on Wayland
|
||||
// when a window is off-screen, effectively making it stuck there.
|
||||
this.kwinClient.frameGeometry.x = x; // This makes it unstuck.
|
||||
this.kwinClient.frameGeometry = this.lastPlacement;
|
||||
clientWrapper.kwinClient.frameGeometry.x = x; // This makes it unstuck.
|
||||
clientWrapper.kwinClient.frameGeometry = clientWrapper.lastPlacement;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ class DesktopManager {
|
||||
}
|
||||
|
||||
public getDesktopForClient(kwinClient: KwinClient) {
|
||||
if (kwinClient.activities.length !== 1 && kwinClient.desktop === 0) {
|
||||
if (kwinClient.activities.length !== 1 || kwinClient.desktop <= 0) {
|
||||
return undefined;
|
||||
}
|
||||
return this.getDesktop(kwinClient.activities[0], kwinClient.desktop);
|
||||
|
||||
Reference in New Issue
Block a user