zzag added a comment. Restricted Application edited projects, added KWin; removed Plasma.
It seems to be working, but there is a problem with GTK apps. They have wrong positions in their geometries: Output like `"{...} -> {...}"` comes from `geometryChanged`: js geometryChanged: function (window, oldGeometry) { "use strict"; print(JSON.stringify(oldGeometry), "->", JSON.stringify(window.geometry)); if (window.fullScreenAnimation) { Output like `"oldGeometry = ..."` comes from `fullScreenChanged`: js fullScreenChanged: function (window) { "use strict"; if (!window.oldGeometry) { return; } var oldGeometry = window.oldGeometry, newGeometry = window.geometry; if (oldGeometry.width == newGeometry.width && oldGeometry.height == newGeometry.height) oldGeometry = window.olderGeometry; window.olderGeometry = window.oldGeometry; window.oldGeometry = newGeometry; print("oldGeometry=", JSON.stringify(oldGeometry)); print("newGeometry=", JSON.stringify(newGeometry)); print("contentsRect=", JSON.stringify(window.contentsRect)); print("decorationInnerRect=", JSON.stringify(window.decorationInnerRect)); window.fullScreenAnimation = animate({ Konsole(Qt): Entering Fullscreen mode ===================================== kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":55,\"y\":0,\"width\":1000,\"height\":583} -> {\"x\":59,\"y\":29,\"width\":992,\"height\":550}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":59,\"y\":29,\"width\":992,\"height\":550}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "newGeometry= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "contentsRect= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "decorationInnerRect= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":55,\"y\":0,\"width\":1000,\"height\":583} -> {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" everything fine! Konsole(Qt): Leaving Fullscreen mode ==================================== kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":-4,\"y\":-29,\"width\":1374,\"height\":801}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":-4,\"y\":-29,\"width\":1374,\"height\":801}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "newGeometry= {\"x\":55,\"y\":0,\"width\":1000,\"height\":583}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "contentsRect= {\"x\":4,\"y\":29,\"width\":992,\"height\":550}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "decorationInnerRect= {\"x\":4,\"y\":29,\"width\":992,\"height\":550}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":55,\"y\":0,\"width\":1000,\"height\":583} -> {\"x\":55,\"y\":0,\"width\":1000,\"height\":583}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":55,\"y\":0,\"width\":1000,\"height\":583}" everything fine! Gimp(gtk): Entering Fullscreen mode =================================== kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":87,\"y\":0,\"width\":1141,\"height\":593} -> {\"x\":87,\"y\":0,\"width\":1133,\"height\":560}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":87,\"y\":0,\"width\":1133,\"height\":560}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "newGeometry= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "contentsRect= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "decorationInnerRect= {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":87,\"y\":0,\"width\":1141,\"height\":593} -> {\"x\":0,\"y\":0,\"width\":1366,\"height\":768}" should be kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":87,\"y\":29,\"width\":1133,\"height\":560}" NOTE: width and height are ok! Gimp(gtk): Leaving Fullscreen mode ================================== kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":0,\"y\":0,\"width\":1374,\"height\":801}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":0,\"y\":0,\"width\":1374,\"height\":801}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "newGeometry= {\"x\":87,\"y\":0,\"width\":1141,\"height\":593}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "contentsRect= {\"x\":4,\"y\":29,\"width\":1133,\"height\":560}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "decorationInnerRect= {\"x\":4,\"y\":29,\"width\":1133,\"height\":560}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":87,\"y\":0,\"width\":1141,\"height\":593} -> {\"x\":87,\"y\":0,\"width\":1141,\"height\":593}" kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "{\"x\":0,\"y\":0,\"width\":1366,\"height\":768} -> {\"x\":87,\"y\":0,\"width\":1141,\"height\":593}" should be: kwin_scripting: "/home/dev/kde/usr/share/kwin/effects/kwin4_effect_fullscreen/contents/code/fullscreen.js" : "oldGeometry= {\"x\":-4,\"y\":-29,\"width\":1374,\"height\":801}" NOTE: width and height are ok! REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D9391 To: zzag, #kwin, #plasma Cc: graesslin, broulik, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart