On 21/04/2017 10:42 μμ, Martin Gräßlin wrote:
Am 2017-04-21 15:05, schrieb Michail Vourlakos:
Following the previous discussion concerning this topic:
https://www.mail-archive.com/plasma-devel@kde.org/msg62432.html
https://www.reddit.com/r/kde/comments/668yul/common_developer_forum_for_docks_wayland_case/?st=j1ru5ogg&sh=5771f221
Based on the latest information, external docks can use the same
interface plasmashell does in order to achieve this goal. But based on
the discussions I am not persuaded that all the people involved have
something concrete and specific for the future. Investing time and
commitment in something that will die soon in the future is not the
best way to proceed in my opinion.
What as a Latte developer would like to know is if this is considered
a feasible use case for the plasma wayland branch and how the plasma
community would like to handle it.
As I have said before I don't give any guarantees on whether the
interfaces
which could be used currently, will be available to 3rd party in the
future.
Like David said we don't have a concrete plan for that and due to that
you
won't get any specific answer. I don't want to be responsible if it
breaks so
I tell you "it might break, no guarantee".
this is ok Martin
There is one thing which I can guarantee: you won't get any Latte dock
specific changes into KWin. When you still based your work on Plasma
and Plasma
devs would have said "yeah, that makes sense" adjustments to the
handling would
have been possible. But the protocol we have is designed only for the
use cases
of Plasma. This is reflected in the naming of the interfaces calling them
PlasmaShellSurface and PlasmaWindowManagement. Anything that is not
going to be
used by Plasma won't have a chance to be added to those protocols.
I dont think we need any Latte specific code in kwin. Latte is using
just two visibility modes from what kwin provides "AlwaysVisible"(in
order to update the struts) and "WindowsGoBelow". Almost all modes
provided by Latte are just a "WindowsGoBelow" panel window that just
updates its window mask when needed.
The decision for Latte to live outside plasmashell it was very difficult
for me Martin, but on the other hand it was a technical one. It was
obvious from the first patches which I tried to get into panelview that
we were trying to combine to different design approaches, one of plasma
and one of nowdock (back then). I dont say this with hard feelings but
as a simple fact. Latte focuses in a very specific user case(simple
user, fancy interface) and is used only on desktops. Plasma panels on
the other hand have a much broader audience both on users and devices
spectrum.
Just a few statements from the Latte developement team...
We try to use only kde frameworks and plasma libraries, and this is a
strict design decision for us as we are calling ourselves kde. We dont
want to break kwin experience in any means, if that happens we consider
it a bug and regression that should fixed. The Latte code stays
intentionally close to plasmashell in many parts and we dont hide it,
there is plasma devs blood and commitment that we are using in many
parts of our code and we are grateful for this (this helps us to follow
bug fixes of course and discover bug fixes faster that influence both
project).
In the very rare case that we want something to be added in kwin, we
will communicate first the plasma devs and if they want that feature we
will implement it first for plasmashell.
If there were cross-desktop specific dock protocols we could talk
about adding
support for it. But I would be very reluctant. I don't want the
cross-desktop
dock mess we have on X11. On X11 all docks which are "cross-desktop"
are broken or
are breaking the desktop environment they are running in. None uses
KWin's screen
edge auto-hide handling, none uses activities, etc. etc. In many cases
they are
affectively and knowingly breaking window managers. This is something
I don't want
to see on Wayland. I don't think that it is possible to have cross
desktop docks, be
it X11 or Wayland. Doesn't matter. The DEs are too different to make
it work.
You have the choice of having a spec which is so vague that all
desktops are covered
or one which is too limiting by using the least common denominator.
NETWM which is used
by X11 is the first case and thus it cannot work. One way for virtual
desktops? No, there
are two! And now docks start to break.
So this is really not a Wayland thing as you are putting it on your
reddit thread.
It's just that those working on Wayland now have the chance to fix the
mess the
people 25 years ago created.
Also I doubt that there will ever be a cross desktop Dock protocol. I
don't think
any DE which develops a Wayland compositor is interested in a cross
desktop
Dock protocol.
pretty clear... either way I dont see any interest from other dock
developers for this. we can consider it a dead
end. The wayland future is pretty clear that docks will be implemented
for specific DEs. In my opinion this makes it even more important to be
able to have plasma specific docks in wayland. (my personal opinion)
regards,
michail