Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to wlr scene-graph #50

Merged
merged 10 commits into from Jul 30, 2022
Merged

Switch to wlr scene-graph #50

merged 10 commits into from Jul 30, 2022

Commits on Jul 30, 2022

  1. output: While destroying, destroy layers

    Also handle NULL output in output_damage().
    
    Co-authored-by: Uks2 <tom@tomg.xyz>
    tiosgz and Uks2 committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    398e0f1 View commit details
    Browse the repository at this point in the history
  2. Remove API that relies on our rendering

    This is a preparation for switching to the wlroots scene-graph. There is
    no replacement planned for output:redraw() because it will no longer be
    necessary (as far as i can tell), while scene-compatible replacements
    for the view pre_render/post_render events are planned.
    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    7c98b5e View commit details
    Browse the repository at this point in the history
  3. Introduce kiwmi_strata

    With the migration to wlr_scene, some objects (desktop, output etc)
    will no longer have any reason to care about individual shells and
    similar; handling each one on its own would introduce code that is,
    from their perspective, over-complicated.
    
    Strata (sg. stratum; this name was chosen to avoid confusion with the
    over-used 'layer') represent logical layers of surfaces on the desktop,
    such as every layer shell layer, one for xdg shell, another for popups.
    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    8c191d2 View commit details
    Browse the repository at this point in the history
  4. Keep an up-to-date wlr scene-graph

    At the moment it isn't used at all and a lot of data is duplicated. This
    is a temporary state introduced for nicer diff separation into several
    commits.
    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    f144eb1 View commit details
    Browse the repository at this point in the history
  5. Render using wlr_scene

    Apart from removing a lot of code, this commit also introduces (thanks
    to wlr_scene) fine-grained damage tracking.
    
    The lack of our own rendering code will only be an issue if the need for
    custom effects (such as blur) arises; however, that's very unlikely and
    it would probably require a lot of changes anyway.
    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    670b63b View commit details
    Browse the repository at this point in the history
  6. Prefer wlr_scene as the source of truth

    Use it for getting the surface under cursor, position of surfaces, etc.
    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    b82e612 View commit details
    Browse the repository at this point in the history
  7. Move popup unconstraining logic

    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    a8a8282 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ac0f6b7 View commit details
    Browse the repository at this point in the history
  9. Support protocols made easy by wlr_scene

    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    8dcfffb View commit details
    Browse the repository at this point in the history
  10. (Un)focus logic improvements

    tiosgz committed Jul 30, 2022
    Configuration menu
    Copy the full SHA
    37312b9 View commit details
    Browse the repository at this point in the history