Skip to content
Snippets Groups Projects

Preliminary Wayland support

Merged Andre Miranda requested to merge andreldm/xfce4-screenshooter:wayland into master

Summary

  • It doesn't crash anymore
  • Requires a wlroots-based compositor (as other Xfce components)
  • Fullscreen capture works using wlr-screencopy (tested with Wayfire and Labwc)
  • Rectangle region will be implemented in another MR
    • Probably we'll need to use wlr-layer-shell to create an overlay layer
    • gtk-layer-shell looks interesting
  • Active Window region is disabled, the screencopy protocol doesn't support single windows at the moment (issue)
    • I'm not sure if there is a way to accomplish that under Wayland, the last resort will be a custom protocol for our compositor

TODO

  • Better error handling, show messages to user
  • Support multi-monitor
  • Add support to region selection mode → out of scope for this MR
  • Disable features not supported by the wlr screencopy protocol, i.e. active window and whether to capture border
  • How to test image conversion beyond the ABGR8888 format (the one used by wlroots) → Hopefully the code works, if not we'll receive bug reports
  • Clean up wayland objects (call destroy for buffer, screencopy_manager, shm, etc)
  • Test panel plugin
  • Check for memory leaks
Edited by Andre Miranda

Merge request reports

Merge request pipeline #26459 passed

Merge request pipeline passed for 2c2a269a

Approval is optional

Merged by Andre MirandaAndre Miranda 1 year ago (Feb 27, 2024 3:58pm UTC)

Loading

Pipeline #26477 passed

Pipeline passed for 2c2a269a on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Andre Miranda changed the description

    changed the description

  • Andre Miranda added 1 commit

    added 1 commit

    • f64f8d8a - Better error reporting & fewer leaks

    Compare with previous version

  • Andre Miranda added 1 commit

    added 1 commit

    • 3e50b359 - Use g_abort instead of abort

    Compare with previous version

  • Andre Miranda marked the checklist item Better error handling, show messages to user as completed

    marked the checklist item Better error handling, show messages to user as completed

  • Andre Miranda resolved all threads

    resolved all threads

  • Andre Miranda marked the checklist item Clean up wayland objects (call destroy for buffer, screencopy_manager, shm, etc) as completed

    marked the checklist item Clean up wayland objects (call destroy for buffer, screencopy_manager, shm, etc) as completed

  • Andre Miranda marked the checklist item Disable features not supported by the wlr screencopy protocol, i.e. active window and whether to capture border as completed

    marked the checklist item Disable features not supported by the wlr screencopy protocol, i.e. active window and whether to capture border as completed

  • Andre Miranda added 2 commits

    added 2 commits

    • dcb6238e - Disable Active Window region in Wayland
    • a8d51834 - Slightly better error messages

    Compare with previous version

  • Andre Miranda changed the description

    changed the description

  • Andre Miranda changed the description

    changed the description

  • Andre Miranda changed the description

    changed the description

  • Andre Miranda marked the checklist item Add support to region selection mode out of scope for this MR as completed

    marked the checklist item Add support to region selection mode out of scope for this MR as completed

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading