Classic confinement request for aurora-screenshots

name: aurora-screenshots

description: Annotated screenshot and clipboard history tool for Linux with a fullscreen capture overlay, annotation editor, pixel measurement tools, and system tray integration.

snapcraft: aurora-screenshots/snap/snapcraft.yaml at main · daniacosta-dev/aurora-screenshots · GitHub

upstream: GitHub - daniacosta-dev/aurora-screenshots: Modern annotated screenshot tool for Linux with clipboard history, pixel measurement, blur, arrows, numbered bubbles, and multi-monitor support.

upstream-relation: I am the author and sole maintainer of the upstream project.

supported-category: Legacy desktop applications that have not been able to implement strict confinement support

reasoning: Aurora Screenshots requires classic confinement for the following technical reasons:

X11 keyboard and pointer grabs: The fullscreen capture overlay uses XGrabPointer and XGrabKeyboard to capture mouse and keyboard events globally while the user selects a screen region. This behavior is essential for screenshot tools and is not permitted under strict confinement.

Full display screenshot access: The application must capture arbitrary regions across the entire desktop, including multiple monitors and windows belonging to other applications. Under strict confinement the required unrestricted screen access is not available.

Global shortcut handling: Aurora Screenshots registers a system-wide shortcut (Ctrl+Shift+S) that allows launching the capture overlay from anywhere in the desktop environment. Strict confinement prevents reliable global keyboard shortcut registration.

X11 window queries for measurement and annotation context: The application inspects window geometry and screen coordinates to provide measurement tools and accurate annotation positioning. This requires querying arbitrary windows across the display, which is restricted under strict confinement.

WebKitGTK sandbox conflicts with Snap AppArmor profile: The application uses WebKitGTK through Tauri for the UI layer. WebKitGTK runs subprocesses and internal sandboxes that conflict with strict Snap confinement policies unless its internal sandbox is disabled. This combination currently requires classic confinement.

System tray integration: Aurora Screenshots integrates with the desktop system tray to expose quick actions and clipboard history. While some interfaces exist, they do not fully support the required behavior when combined with the unrestricted screen capture requirements above.

I understand that strict confinement is generally preferred over classic confinement. I have evaluated the available Snap interfaces and portals, but due to the requirements for global input grabs, unrestricted screenshot access, and WebKitGTK runtime behavior, strict confinement is not currently sufficient for this application.

This request has been added to the queue for review by the @reviewers team.

Hi @daniacosta-dev,

Thank you for submitting the request.

This does not fit into any of the supported category listed in the policy.

I would suggest you to implement the functionality using freedesktop portal, similar to how flameshot implements.

Perfect, thank you very much. I’ll check that route.

Regards