labwc / labwc

A Wayland window-stacking compositor

Home Page:https://labwc.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Round bottom window corners

tmpm697 opened this issue · comments

Currently labwc only rounds their window decoration which is added by its own.

A client that hints labwc to use SSD to round its window would not able to do that due to labwc does not have this ability yet and the window would be in a square shape.

It's nice to have feature if labwc can round client window if they're asking to.

It's nice to have feature if labwc can round client window if they're asking to.

There is no protocol for that so this is not going to work.

As far as I understood our IRC conversation the main issue is that when using rounded corners for SSD clients only the top ones are rounded and the bottom corners are not. This is not easy to implement (and potentially impossible) at the current state of the wlroots scene graph API.

If we have ToggleDecorations on a client window, then currently all corners of that window will be square, so it might be not for only bottom corners.

We need to have a way to decorate all corners of a client window round if they're asking to, then decide round the top or not base on ToggleDecorations enabled or disabled.

Labwc can't detect if some window decides to use rounded corners or not. Windows using client side decorations do not "ask" for rounded corners, it is something they decide completely on their own and they do not tell the compositor about it (as far as I remember the xdg-shell protocol at least).

what I meant is: if clients let labwc knows that they want to decorate window their own, let them, but if not then labwc can nice to have decorate window base on user option in rc.xml which is whatever shadow or rounded window they want.

Rounded corners on our decorations are fine, and if you are talking about adding a radius to the bottom part of our drawn borders, I guess that would be OK, but kind of pointless because you'd have to configure really fat borders to make a rounded corner visible.

If you're talking about actually clipping the contents of a client window to some radius, I am strictly opposed even if this were possible. We have no way to notify clients that their contents anre being altered, so we shouldn't be clipping window contents. If clients intend to draw rectangular windows, rectangles should be presented.

@ahesford : What I'm keen to express here is that if a labwc user wants to have rounded windows, what would we provide?

and rounded windows is like de-factor nowaday for a window manager and stacking window manager especially.

We can just provide the best solution for rounded windows, in real life you will never miss any info/text from that rounded corner like in this picture.

https://i.imgur.com/oxIFmHn.png

and rounded windows is like de-factor nowaday for a window manager and stacking window manager especially.

Not so sure, see kwin_wayland default corners:

immagine

[btw this thunderbird window shows that icon lookup isn't easy even for kwin]

Having rounded corners on all 4 corners, is something that I'm seeing more of, not a default, but becoming common. Rounded at top and square at bottom, goes back to almost pre-wayland days, semi-common in X.

The only thing I have to say is make it optional if implemented, those that want it have it, for others same old same old. :)

I've started using labwc (and wayland) recently on Arch (coming from X with openbox mostly, for many years) and I really realy like it, first thing that stuck was the impossibility of window shadows which for me is a visual aid more then anything else and lately I feel the same about rounded corners (as i type I notice the rounded corners of this text area). I think some decorations are actually needed not for any esthetic reason but for a better visual experience on a desktop. I think both of these should be optional, if it's not too much work.

Slightly hijacking this thread as reading rounded corners reminded me of something.
Had a default labwc session and in the default config rounded corners are active. If a window is set to fullscreen those corners won't be round anymore (dunno if that is to be expected or intended), but the shadow on the close-button (if the mouse hovers above) will still be with rounded corners.

Don't hijack threads. Open an issue to document the close-button issue.

I've started using labwc (and wayland) recently on Arch (coming from X with openbox mostly, for many years) and I really realy like it, first thing that stuck was the impossibility of window shadows which for me is a visual aid more then anything else and lately I feel the same about rounded corners (as i type I notice the rounded corners of this text area). I think some decorations are actually needed not for any esthetic reason but for a better visual experience on a desktop. I think both of these should be optional, if it's not too much work.

Just so we are on the same page, labwc does support rounded corners (for the titlebar). And there is a pending PR for shadows that should make it into the next release.

@tmpm697 You can set <core><decoration> to client and get rounded-bottom corners that way.