Skip to content

DMS Screenshot tool improvements #2819

Description

@daniel-fs

Feature Description

The DMS screenshot tool is currently very simple and gets the job done, but I think that some improvements could potentially make it better and just overall have better QoL.

For starters, it would be nice if the command line options were integrated into the screenshot tool UI. Things like choosing the image format, whether we want a selection, the entire screen, a specific output or all outputs, whether to copy to clipboard or not, whether to save to write the screenshot to disk or not. All of these are possible from the cli tool, but it's not possible to control this from the screenshot UI.

Another additions could be optionally be considered, such as:

  • Select a specific application window to screenshot
  • Niri's screenshot UI tool has an interesting flow where if you press Ctrl+C, it takes the screenshot and copies it to clipboard only. However, if you press Enter, it both copies to clipboard and writes the screenshot to disk. Maybe something similar could be done or configurable in DMS screenshot tool?
  • Support for saving in JXL format. JXL is an excellent format, where even the lossless setting generates file sizes much smaller than PNG. Currently I have a bash script that converts the captured screenshot to JXL, but if DMS had support for it, it would be great, not to mention I could just pick another image type on the fly before taking the screenshot.

Use Case

This is mostly a quality of life feature, enabling the use all the features that DMS Screenshot cli has right away from the UI in a more interactive manner.

Compositor(s)

All compositors

If Other, please specify

No response

Proposed Solution

I understand that adding support for JXL might require adding a dependency on lib jxl. I'm admittedly not well versed on packaging or how DMS is implemented as a whole, but if at all possible, this could be set up as an optional dependency, and JXL support would only be enabled if lib jxl is present.

Alternatives/Existing Solutions

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions