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

idle_inhibit: Session lock and unmapped surface fixes #8175

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Jul 10, 2024

  1. idle_inhibit: Ignore inhibitors when locked

    When a session is locked, no views are visible and there is no way to
    interact with the user session. This means that all inhibitors based on
    visibility - with the exception being inhibitors on the session lock
    surfaces themselves - become inert, allowing the session to go idle.
    
    The only inhibitor type on normal views that one could argue should
    remain active is INHIBIT_IDLE_OPEN, but for now we disable all view
    inhibitors regardless of type.
    kennylevinsen committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    0668c0a View commit details
    Browse the repository at this point in the history
  2. idle_inhibit: Explicitly handle layer surfaces

    Layer surfaces do not have a view, and while they can be occluded they
    are always visible on their associated output - assuming it is enabled.
    kennylevinsen committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    6ccfa7a View commit details
    Browse the repository at this point in the history
  3. idle_inhibit: Assume view is invisible by default

    We have historically considered surfaces without a view visible. This
    made sense in case of layer surfaces which do not have a view, but it
    also allows unmapped surfaces to act as global inhibitors irrespective
    of the current view state, which is not the intention fo the protocol.
    
    As we now explicitly handle layer surfaces, assume that views are only
    visible if they can be found and their visibility checked.
    kennylevinsen committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    444017f View commit details
    Browse the repository at this point in the history
  4. idle_inhibit: Check if layer surface output is enabled

    While we we cannot easily check for true visibility of layer surfaces as
    easily as for views, we can check at least check that the output
    associated with the surface is enabled.
    kennylevinsen committed Jul 10, 2024
    Configuration menu
    Copy the full SHA
    1a1bc78 View commit details
    Browse the repository at this point in the history