D9391: [effects] Add 'Fullscreen' effect

2017-12-18 Thread Vlad Zagorodniy
zzag created this revision.
zzag added reviewers: KWin, Plasma.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.

REVISION SUMMARY
  This effect animates transition to/from fullscreen mode. For the
  most part it is a copy-paste of the Maximize effect with some editing.

TEST PLAN
  - open an application
  - toggle fullscreen mode

REPOSITORY
  R108 KWin

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  effects.cpp
  effects/CMakeLists.txt
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/package/CMakeLists.txt
  effects/fullscreen/package/contents/code/fullscreen.js
  effects/fullscreen/package/metadata.desktop
  libkwineffects/kwineffects.h

To: zzag, #kwin, #plasma
Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
hardening, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-18 Thread Kai Uwe Broulik
broulik added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  Thanks for your patch! I did a similar patch a while ago but I didn't submit 
it as it seems to cause visual glitches with various apps, such as when 
fullscreening Yakuake or Chrome.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma
Cc: broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-18 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  In https://phabricator.kde.org/D9391#180624, @broulik wrote:
  
  > Thanks for your patch! I did a similar patch a while ago but I didn't 
submit it as it seems to cause visual glitches with various apps, such as when 
fullscreening Yakuake or Chrome.
  
  
  I guess you should see glitches when maximizing windows too. For example, 
when I maximize Firefox with reddit, sidebar flickers, etc. So, I guess, that's 
a side effect of maximize effect.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma
Cc: broulik, plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-18 Thread Martin Flöser
graesslin added inline comments.
Restricted Application edited projects, added Plasma; removed KWin.

INLINE COMMENTS

> fullscreen.js:4
> +
> + Copyright (C) 2012 Martin Gr��lin 
> + Copyright (C) 2017 Vlad Zagorodniy 

*cough* utf8 please

> metadata.desktop:3
> +Name=Fullscreen
> +Name[x-test]=xxFullscreenxx
> +Comment=Animates transition to/from fullscreen mode

You don't need to add translations. The tooling will overwrite them 
automatically.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24139.
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24055&id=24139

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  effects/fullscreen/package/contents/code/fullscreen.js
  effects/fullscreen/package/metadata.desktop

To: zzag, #kwin, #plasma
Cc: graesslin, broulik, plasma-devel, kwin, bwowk, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
zzag marked 2 inline comments as done.
Restricted Application edited projects, added Plasma; removed KWin.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
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\"

D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  F5557841: fullscreen_konsole.mp4 
  
  F5557844: fullscreen_gimp.mp4 

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Seems like calculation of gravity in `Client::calculateGravitation()` is 
wrong for gtk apps.

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


D9391: [effects] Add 'Fullscreen' effect

2017-12-19 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24141.
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  [effects] Add 'Fullscreen' effect
  
  This effect animates transition to/from fullscreen mode. For the
  most part it is a copy-paste of the Maximize effect with some editing.

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24139&id=24141

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  effects.cpp
  effects/CMakeLists.txt
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/package/CMakeLists.txt
  effects/fullscreen/package/contents/code/fullscreen.js
  effects/fullscreen/package/metadata.desktop
  libkwineffects/kwineffects.h

To: zzag, #kwin, #plasma
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-22 Thread Kai Uwe Broulik
broulik added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  https://phabricator.kde.org/D6799 for the record (I like your patch better, 
actually, just if you want to look at my implementation)

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


D9391: [effects] Add 'Fullscreen' effect

2017-12-22 Thread Martin Flöser
graesslin requested changes to this revision.
graesslin added a comment.
This revision now requires changes to proceed.
Restricted Application edited projects, added Plasma; removed KWin.


  A possibility to solve this problem with gtk would be to restrict to Wayland 
windows. I'm absolutely against any changed to window gravity on X11. And I'm 
also not happy with a new animation if we already know that it doesn't work 
correctly. Given that 5.12 will be an LTS this might be unpleasant. I remember 
that it took several iterations and bugfixes to get the maximize effect work 
properly.
  
  Due to that I personally would prefer if we don't add this for 5.12 or only 
for Wayland windows.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Martin Flöser
graesslin added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  As this adds a new effect: all the effectloader autotests need to be 
adjusted, otherweise the tests will start to fail.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24522.
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect
  
  Add fullscreen effect to the effect loader tests.

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24141&id=24522

BRANCH
  arcpatch-D9391

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  autotests/test_plugin_effectloader.cpp
  autotests/test_scripted_effectloader.cpp

To: zzag, #kwin, #plasma, graesslin
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24524.
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect
  
  Squash commits.

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24522&id=24524

BRANCH
  arcpatch-D9391

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  autotests/test_plugin_effectloader.cpp
  autotests/test_scripted_effectloader.cpp
  effects.cpp
  effects/CMakeLists.txt
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/package/CMakeLists.txt
  effects/fullscreen/package/contents/code/fullscreen.js
  effects/fullscreen/package/metadata.desktop
  libkwineffects/kwineffects.h

To: zzag, #kwin, #plasma, graesslin
Cc: graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9391#182439, @graesslin wrote:
  
  > I'm absolutely against any changed to window gravity on X11. And I'm also 
not happy with a new animation if we already know that it doesn't work 
correctly.
  
  
  I don't like changing window gravity code either.
  
  > Given that 5.12 will be an LTS this might be unpleasant.
  
  Yeah, it should be at least 5.13
  
  > Due to that I personally would prefer if we don't add this for 5.12 or only 
for Wayland windows.
  
  Is it okay to support only Wayland?

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Andres Betts
abetts added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Could you please post a new video with a before and after? I would like to 
preview it.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  In https://phabricator.kde.org/D9391#184440, @abetts wrote:
  
  > Could you please post a new video with a before and after? I would like to 
preview it.
  
  
  Ok, I'll do it later. But keep in mind code hasn't changed much.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2017-12-31 Thread Andres Betts
abetts added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  In https://phabricator.kde.org/D9391#184475, @zzag wrote:
  
  > In https://phabricator.kde.org/D9391#184440, @abetts wrote:
  >
  > > Could you please post a new video with a before and after? I would like 
to preview it.
  >
  >
  > Ok, I'll do it later. But keep in mind code hasn't changed much.
  
  
  Awesome! Thanks

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-01 Thread Martin Flöser
graesslin added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  >> Due to that I personally would prefer if we don't add this for 5.12 or 
only for Wayland windows.
  > 
  > Is it okay to support only Wayland?
  
  Personally I would prefer to have the code generic. But we also see in the 
maximize effect that there are differences between X11 and Wayland which don't 
allow to have a generic effect (see bug 384462). So from a maintenance and 
forward compatibility point of view it makes sense to restrict to Wayland if we 
are aware that X11 is tricky.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-01 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  So, I've tested this effect on Wayland..
  
  Konsole(XWayland, Qt)
  =
  
  F5611762: fullscreen-konsole-xwayland.mp4 

  
  Seems, like cross fading doesn't work.
  
  Konsole(natively on Wayland, Qt)
  
  
  F5611764: fullscreen-konsole-wayland.mp4 

  
  - Maximize effect doesn't work (bug 384462?)
  - Konsole doesn't enter fullscreen mode
  
  Firefox(XWayland, gtk)
  ==
  
  F5611768: fullscreen-firefox-xwayland.mp4 

  
  Still, there are problems with FF.
  
  GNOME Terminal(XWayland, gtk)
  =
  
  F5611769: fullscreen-gnome-terminal-xwayland.mp4 

  
  GNOME Terminal(Wayland, gtk)
  
  
  F5611770: fullscreen-gnome-terminal-wayland.mp4 

  
  
  
  Also, this effect is really buggy. Just keep pressing F11:
  
  F5611777: fullscreen-bugs.mp4 
  
  That's a really bad idea to cancel currently running animation and start a 
new one. It would be better to toggle direction of a timeline, but seems like 
there is no way to do this with js api.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-04 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24718.
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect
  
  I think this should be rewritten in C++ for several reasons:
  
  - we need to control timeline
  - when entering or leaving fullscreen mode, we should handle docks in a 
special way and I don't really think it is possible with js api
  
  Also, please notice that signature of `windowFullScreenChanged` has changed.
  Now, it also includes previous geometry of a window. This plus several changes
  in `geometry.cpp` and `shell_client.cpp` should result in a generic
  fullscreen effect, I hope.
  
  PLEASE NOTICE THAT'S JUST A STUB, IT DOES NOTHING! (I'm intrested in feedback)
  
  Also, seems like Qt have a bug. If you enter/leave fullscreen mode in any
  Qt app, `ShellClient::setFullScreen` is not called.

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24524&id=24718

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  effects/CMakeLists.txt
  effects/effect_builtins.cpp
  effects/effect_builtins.h
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/fullscreen.cpp
  effects/fullscreen/fullscreen.h
  libkwineffects/kwineffects.h

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-06 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24849.
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect
  
  Re-implemented this effect. The only missing part is emitters of 
`windowFullScreenChanged`
  signal. For development I've made stub in `void 
EffectsHandlerImpl::setupClientConnections(Client* c)`:
  
cpp
connect(c, &AbstractClient::fullScreenChanged, this,
[this, c]() {
bool entered = c->isFullScreen();
QRect oldGeometry = entered
? c->geometryFSRestore()
: QRect(0, 0, 1366, 768); // 1366x768 my screen resolution 
:(
emit windowFullScreenChanged(c->effectWindow(), entered, 
oldGeometry);
});

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24718&id=24849

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  autotests/test_builtin_effectloader.cpp
  autotests/test_plugin_effectloader.cpp
  autotests/test_scripted_effectloader.cpp
  effects/CMakeLists.txt
  effects/effect_builtins.cpp
  effects/effect_builtins.h
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/fullscreen.cpp
  effects/fullscreen/fullscreen.h
  effects/fullscreen/timeline.h
  libkwineffects/kwineffects.h

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-06 Thread Vlad Zagorodniy
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  X11
  ===
  
  F5625140: fullscreen-animation-x11.mp4 
  
  Xwayland
  
  
  F5625142: fullscreen-animation-xwayland.mp4 

  
  Problems
  
  
  Seems like KWin has a bug. When a window enters/leaves fullscreen mode, there 
is a moment when the window is smaller than original(or some sort of it):
  
  With 'Fullscreen' effect turned on
  
  F5625143: fullscreen-animation-behind-scene-resizes.mp4 

  
  With 'Fullscreen' effect turned off
  
  F5625158: fullscreen-animation-behind-scene-resizes-disabled-effect.mp4 


REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-01-07 Thread Vlad Zagorodniy
zzag updated this revision to Diff 24871.
zzag added a comment.
Restricted Application edited projects, added KWin; removed Plasma.


  Updating https://phabricator.kde.org/D9391: [effects] Add 'Fullscreen' effect
  
  - Emit `windowFullScreenChanged` signal
  - Unreference previous pixmap when a window is deleted

REPOSITORY
  R108 KWin

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D9391?vs=24849&id=24871

BRANCH
  effects/fullscreen

REVISION DETAIL
  https://phabricator.kde.org/D9391

AFFECTED FILES
  abstract_client.h
  autotests/test_builtin_effectloader.cpp
  autotests/test_plugin_effectloader.cpp
  autotests/test_scripted_effectloader.cpp
  client.h
  effects.cpp
  effects/CMakeLists.txt
  effects/effect_builtins.cpp
  effects/effect_builtins.h
  effects/fullscreen/CMakeLists.txt
  effects/fullscreen/fullscreen.cpp
  effects/fullscreen/fullscreen.h
  effects/fullscreen/timeline.h
  libkwineffects/kwineffects.h
  shell_client.h

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, iodelay, bwowk, ZrenBot, 
progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, sebas, apol, mart


D9391: [effects] Add 'Fullscreen' effect

2018-02-15 Thread Vlad Zagorodniy
zzag abandoned this revision.
zzag added a comment.
Restricted Application edited projects, added Plasma; removed KWin.


  The code is really bloated. Also, I lost interest in developing this effect.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D9391

To: zzag, #kwin, #plasma, graesslin
Cc: abetts, graesslin, broulik, plasma-devel, kwin, ZrenBot, progwolff, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart, iodelay, bwowk, 
hardening