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