D9391: [effects] Add 'Fullscreen' effect
Vlad Zagorodniy
noreply at phabricator.kde.org
Wed Dec 20 03:36:43 UTC 2017
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20171220/617dcec9/attachment-0001.html>
More information about the Plasma-devel
mailing list