Re: QtWayland decoration improvement

2018-02-20 Thread Marco Martin
On lunedì 19 febbraio 2018 16:37:55 CET Martin Bříza wrote:
> And even less complicated way would be to just do my own thing in
> QGnomePlatform and support only the decorations I wrote myself.
> 
> Which one is the best one, according to you, please? I'm open to every
> suggestion.

using kdecoration2 would feel just right


-- 
Marco Martin


Re: QtWayland decoration improvement

2018-02-19 Thread Martin Flöser

Am 2018-02-19 16:37, schrieb Martin Bříza:

Hello everyone,

I thought this would be a good place to discuss this small problem:

I'm trying to make Qt work better under Wayland and especially in
GNOME.  The current infrastructure in QtWayland doesn't allow for very
complicated  window decorations. First, QWaylandAbstractDecoration is
a private API  now, which is mostly fine, however I'd like to make it
a bit better.  Especially, there's a problem with the limited
possibilities we now have.  The decorations cannot have shadows and
the ability to handle mouse events  is pretty limited.

I'd like to solve this systematically, for everyone, likely by
patching  QtWayland to add new features to QWaylandAbstractDecoration
and I'd like  to ask for your advice.

I know there is the KDecoration2 API which is feature-complete (and in
my  opinion, it exposes a lot more stuff than what we would eventually
 actually need in Qt). Could (partially or completely) upstreaming
this  class help with this problem? There could be a base class in
QtWayland  implementing the core functionality and KDecoration2 could
just extend the  class with what's required for KWin. KWin decorations
could then be used  in other environments with a different compositor
and a different QPA  plugin. I'm CCing Martin as I'm pretty sure he'll
have something to say,  especially considering the stance on SSDs vs
CSDs.


One of the design goals of KDecoration2 was to make it possible to 
implement CSD with it.


I'm totally fine with upstreaming the implementation and agree to any 
license change required for it. But I'm not the only copyright holder, 
though probably > 90 % should be by me.


Personally I'm not interested in anything of it. I don't care whether Qt 
applications have good looking decorations. On Plasma we will continue 
to use server side decorations even if Qt uses our KDecoration2 (it 
provides a significant better performance in the compositor).


Cheers
Martin


QtWayland decoration improvement

2018-02-19 Thread Martin Bříza

Hello everyone,

I thought this would be a good place to discuss this small problem:

I'm trying to make Qt work better under Wayland and especially in GNOME.  
The current infrastructure in QtWayland doesn't allow for very complicated  
window decorations. First, QWaylandAbstractDecoration is a private API  
now, which is mostly fine, however I'd like to make it a bit better.  
Especially, there's a problem with the limited possibilities we now have.  
The decorations cannot have shadows and the ability to handle mouse events  
is pretty limited.


I'd like to solve this systematically, for everyone, likely by patching  
QtWayland to add new features to QWaylandAbstractDecoration and I'd like  
to ask for your advice.


I know there is the KDecoration2 API which is feature-complete (and in my  
opinion, it exposes a lot more stuff than what we would eventually  
actually need in Qt). Could (partially or completely) upstreaming this  
class help with this problem? There could be a base class in QtWayland  
implementing the core functionality and KDecoration2 could just extend the  
class with what's required for KWin. KWin decorations could then be used  
in other environments with a different compositor and a different QPA  
plugin. I'm CCing Martin as I'm pretty sure he'll have something to say,  
especially considering the stance on SSDs vs CSDs.


The other, less complicated (and less integrated) way would be to just add  
a few more properties to QWaylandAbstractDecoration, patch QtWaylandClient  
to handle shadows and improve damage/repaint support and patch Bradient to  
support all this new stuff.


And even less complicated way would be to just do my own thing in  
QGnomePlatform and support only the decorations I wrote myself.


Which one is the best one, according to you, please? I'm open to every  
suggestion.


Cheers
Martin