Thoughts about decoration information in the xdg_shell
Bill Spitzak
spitzak at gmail.com
Fri Nov 15 11:37:27 PST 2013
One thing everybody seems to be ignoring is that current wl_shell
already has a "don't draw CSD" flag. It is the "fullscreen" indicator.
As I see it:
- Clients must be able to draw CSD.
- The compositor can tell the client whether to draw CSD and can change
this over time. It can also tell it to draw "parts" of the CSD, in
particular it can tell it to remove any of the 4 resize+shadow edges
without removing the "titlebar". This information is added to the
configure request. Client must obey this, and if it is drawing widgets
it needs in the CSD it must move them or insure that the lost
functionality is not critical.
- There *may* need to be an api for the client to tell the compositor
how "thick" the CSD is. This is so the compositor can smoothly do
snap-to-edge.
- There is no need for a client to indicate whether it "prefers" CSD.
By far the main reason for a client to not draw CSD is not because the
compositor is doing SSD, but because it does not want any decorations!
Actual SSD is only for remote display on a system that cannot work
unless it adds it's own frame around the window (ie old X or Windows).
More information about the wayland-devel
mailing list