Skip to content

Expose locked state for Quickshell #414

@saltnpepper97

Description

@saltnpepper97

Feature Description

Provide a way for external applications to detect when Noctalia has engaged the lock screen. This could be via writing the lock state to a file, emitting a D-Bus signal, or another accessible method so that other programs (like session managers or status utilities) can track the lock status reliably.

Why Is This Needed?

Currently, Noctalia’s lock screen spawns ephemeral processes through QuickShell IPC, which exit immediately after locking. This makes it impossible for external programs to determine whether the session is currently locked. Without this feature, utilities like stasis or other session trackers cannot reliably detect the lock state, limiting integration with desktop environments and automation to

Suggested Solutions

  • Write the lock state to a known file (e.g., /run/noctalia/locked) when the lock engages and remove it when unlocked
  • Emit a D-Bus signal or other IPC event when the lock engages and disengages.
  • Optionally, provide a command or API to query the current lock state.

Additional Context

  • This is similar to how other compositors or lock utilities expose lock state (e.g., Sway, Hyprland via ext_lock_session_v1).
  • The goal is to allow programs to react to lock/unlock events without requiring custom wrappers or polling ephemeral processes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions