buffet / kiwmi

A fully programmable Wayland Compositor
Mozilla Public License 2.0
585 stars 22 forks source link

Switch to wlr scene-graph #50

Closed ghost closed 2 years ago

ghost commented 2 years ago

It is still far from done, but apart from (not) raising view on focus it should be at least usable.

Depends on #44 (current commits from there are included) and wlroots 0.15 release.

TODOs –

heavyrain266 commented 2 years ago

Definitely looks interesting, not sure what convinced them to use stuff from gamedev and vector graphics editors in 2d linux and bsd desktops though, Scene-graph is widely used practice in game engines and programs in style of Adobe Illustrator to easier view data structure, mayby it makes sense for them 🤔.

ghost commented 2 years ago

6bd805cadd2283b4f702eaab6cc56c5713c9ba59 doesn’t fix the problem i thought it would fix (TODO: remove it, no need to move to another PR). Oh wait, for some reason i built kiwmi with 9c3adf0c414bf8f3bd94eaa8bc4abd7d11655953, which of course doesn’t tell me if the later commit fixed it. I can’t seem to reproduce the crash the usual way, now that i build at the right commit.

I’m not very motivated to write any code at all these days, but i hope i’ll get into it again soon enough.

Here’s a basic-tasks checklist i’ve managed to think of; pls let me know / edit if you come up with something more.


  1. From the xdg-shell protocol:

    For version 2 or older, the configure event for an xdg_popup is only ever sent once for the initial configuration. Starting with version 3, it may be sent again if the popup is setup with an xdg_positioner with set_reactive requested, or in response to xdg_popup.reposition requests.

    …and version 3+ is currently not supported by wlroots (there is wlroots!3514 for wlr 0.16)

ghost commented 2 years ago

Cleaned up the commit history so that it should now be easier to understand. However, there are still things to be done (see checklist in PR description).

ghost commented 2 years ago

This force-push is mostly renaming stuff and moving commits around iirc; there should be no real changes.

ghost commented 2 years ago

I’m planning only one change (plus the two minor TODOs somewhere in the code), namely getting rid of view::hidden. Just one TODO-question is left (it’s got a thread open somewhere above), can you pls help me decide on it?

The PR is ready for review, and if everything is okay, also for merge.

ghost commented 2 years ago

This force-push is mostly splitting commits; only minimal changes.

buffet commented 2 years ago

Thank you very much!