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

Reply via email to