Skip to content

The Status & Future of Shutter #662

Open

Description

@delinuxco

Greetings, I am wondering if anyone could share the status & future of Shutter.

Wayland support, updates on a regular bases etc.

What are the challenges for the project that hold it back from moving forward ?

etc...

This is still one of the best screenshot tools in Linux, especially for GTK environments, would hate to see it disappear.

Activity

  1. added
    questionQuestion about installing, configuring or using Shutter
    on Mar 28, 2024
  2. DarthGandalf commented on Mar 28, 2024

    @DarthGandalf
    Member

    What are the challenges for the project that hold it back from moving forward ?

    Mostly lack of manpower, and horrible codebase. Ideally, to make it maintainable, need to rewrite it from perl to something more sane (rust?), but that's a lot of work.

    In fact, it being perl, prevents certain wayland features - e.g. on KDE on wayland KWin checks the process which tries to access the KWin-specific screenshot API, then checks for certain values in the .desktop file of that process. Here it sees the process as /usr/bin/perl, and shutter cannot update the perl's .desktop file to add that kwin flag.

    This is still one of the best screenshot tools in Linux, especially for GTK environments, would hate to see it disappear.

    Agreed. When I was porting it from gtk2 to gtk3, I wanted to abandon it many times, but shutter is still better than alternatives :(

  3. Photon89 commented on Mar 28, 2024

    @Photon89
    Member

    Hi, thanks for the praise and also for worrying about Shutter's future! In my opinion, we are plainly lacking manpower and time resources.

    There are many small bugs which we are trying to fix as actively as limited manpower and time resources permit, but the big challenge of adding Wayland support hasn't been worked on since @DarthGandalf implemented full screen mode for Wayland.

    We'd gladly accept contributions, but currently it isn't even clear how this Wayland support might look like. The problem is that Wayland is implemented differently on different DEs and distros. For example, on Ubuntu Gnome, if you try to capture a screenshot, a dialog window pops up. Thus, there is no solution which works universally for all DEs and distros, several approaches would have to be implemented separately. For Gnome there is a fork by @mvivarelli: https://github.com/mvivarelli/shutter-on-wayland which makes use of gnome-screenshot. It is a somewhat hackish solution but it works. But to integrate it into our code, we'd need to restructure the new code, which again requires manpower and time. And it would only support Gnome for now.

  4. delinuxco commented on Mar 28, 2024

    @delinuxco
    Author

    Well, these are tough challenges for sure, I include Shutter in my little Manjaro Cinnamon Spin and it works great on X11. The only thing I could suggest is to make it more easier to integrate as part of a distro, add it to startup items so it is up and running even during ISO evaluation. Right now because the settings uses hard coded user paths, it is difficult.

    Shutter is the one of two apps on my little spin that does not work on wayland, and I would like to keep using it, Ksnip works well, but the look on GTK desktops is not the greatest. I have enough issues keeping BackInTime looking decent. But enough about my problems.

    If I may brainstorm with you here...

    Is AppImage an option?

    How about forking Ksnip and porting to GTK and using it as a base?

  5. delinuxco commented on Mar 29, 2024

    @delinuxco
    Author
  6. Photon89 commented on Mar 29, 2024

    @Photon89
    Member

    Is AppImage an option?

    This has been discussed (and even tried to some extent), see #325 and #594. But looks like we need to deal with XDG config folders first (see #492).

    How about forking Ksnip and porting to GTK and using it as a base?

    I think, this would be even more work than actually implementing Wayland support... 😄

    How about cheating :-)

    This might work well on small projects, but I wouldn't expect it to produce usable results on Shutter which consists of many modules and makes use of many dependencies, for which Rust alternatives might or might not exist, but in any case I'd expect the required changes to be too radical for such a tool to take care of them..

  7. mvivarelli commented on Mar 29, 2024

    @mvivarelli
  8. Photon89 commented on Mar 29, 2024

    @Photon89
    Member

    For example, xfce4-screenshooter in Xfce doesn't have the -c option which allows to put the image into the clipboard without showing the GUI at all.

  9. mvivarelli commented on Mar 31, 2024

    @mvivarelli
  10. DarthGandalf commented on Mar 31, 2024

    @DarthGandalf
    Member

    maybe it work for all the rest

    Nope. It may work for https://gitlab.freedesktop.org/wlroots/wlroots only. We'll need separate solutions for different compositors, and wlroots (sway etc) has its own API for screenshots, yes, which we probably can use - via grim or directly.

  11. mvivarelli commented on Mar 31, 2024

    @mvivarelli
  12. vadi2 commented on Mar 31, 2024

    @vadi2
    Contributor

    Agreed. Also a very important fact of it would be managing expectations - as seen here, supporting Wayland is a lot more work than supporting X, and when Shutter does not have a certain $feature folks will be inevitably disappointed - so we need to ensure that we manage their expectations here.

  13. DarthGandalf commented on Mar 31, 2024

    @DarthGandalf
    Member

    from:

    • 100% support for X, 0% support for wayland

    to

    • 100% support for X, 50% support for wayland (i don't know the exact
      percentage of gnome and derivative usage)

    The current state is not 0%: xdg portal support implemented in 0.99.1 is enough for very simple cases. It even supports both KDE and Gnome. It just doesn't have any more advanced features like Shutter on X did.

    and in the short term this is important for not letting shutter die

    Agreed, that's why I implemented that.

    Now, xdg portal is not a perfect solution, but may be fine as fallback option if there's nothing better for the specific compositor. The gnome-screenshot hack you did still provides more features than xdg portal, but it works only on gnome.

    So, shutter needs to detect which compositor is running, and depending on compositor, either use gnome-screenshot (or perhaps we find some better way to interact with gnome), or something specific to wlroots (e.g. grim), or something specific to KDE, etc, or to use the xdg portal as fallback.

  14. mvivarelli commented on Mar 31, 2024

    @mvivarelli
  15. Photon89 commented on Mar 31, 2024

    @Photon89
    Member

    I think we all agree that merging your code for Gnome is a good idea (@team: please correct me if I'm wrong, but this is my impression from our internal discussions). But, aside from strategic discussions, the practical problem is that it needs to be restructured a lot. Shutter stores the code for the dirty screenshooting work in modules that are located in https://github.com/shutter-project/shutter/tree/master/share/shutter/resources/modules/Shutter/Screenshot We'd need to create modules like SelectorWaylandGnome or WindowWaylandGnome which are called from the main file. The problem is just that currently we lack time to do the work...

  16. 16 remaining items

  17. vadi2 commented on Aug 15, 2024

    @vadi2
    Contributor

    I see it's due to a dependency that does not build on a certain platform, however a 1-line patch was attached to the dependency in question to fix the issue. Should be okay then?

  18. Nurmagoz commented on Aug 15, 2024

    @Nurmagoz

    I see it's due to a dependency that does not build on a certain platform, however a 1-line patch was attached to the dependency in question to fix the issue. Should be okay then?

    If it will resolve the issue, it should be ok.

  19. Photon89 commented on Aug 15, 2024

    @Photon89
    Member

    Well, I hope that the Debian team will figure it out!

    I wanted to report issue and patch upstream but unfortunately the goocanvas project is archived and set to read-only mode, so the patch won't make it into the upstream release...

    edit: There is a merge request for this upstream, but it probably won't be merged: https://gitlab.gnome.org/Archive/goocanvas/-/merge_requests/15

    The patch is included in various distros already though, like in Arch or Fedora. I am optimistic that Debian will manage to include this patch as well. Thanks for the information though!

  20. Photon89 commented on Aug 15, 2024

    @Photon89
    Member

    @DarthGandalf Another news, possibly this PR will help us with Wayland support: flatpak/xdg-desktop-portal#1415

  21. Photon89 commented on May 23, 2026

    @Photon89
    Member

    Some news regarding Wayland support:

  22. Play-InTheWay commented on May 25, 2026

    @Play-InTheWay

    Apparently, on the desktop side portals, the non-interactive targets are implemented by a very recent commit of the Xapp portal (used by Cinnamon, Xfce, and Mate.)

  23. Photon89 commented on May 25, 2026

    @Photon89
    Member

    @Play-InTheWay Nice, thanks for the hint, then we can do some testing before merging #818 !

  24. Photon89 commented on May 26, 2026

    @Photon89
    Member

    @Play-InTheWay So I did some testing with Cinnamon. Accessing the non-interactive targets works well, the only restriction is that target 2 (window) is not implemented but it automatically redirects to 8 (active window) in the backend. I created a feature request here: https://github.com/orgs/linuxmint/discussions/1548

  25. Play-InTheWay commented on May 26, 2026

    @Play-InTheWay

    @Play-InTheWay So I did some testing with Cinnamon. Accessing the non-interactive targets works well, the only restriction is that target 2 (window) is not implemented but it automatically redirects to 8 (active window) in the backend. I created a feature request here: https://github.com/orgs/linuxmint/discussions/1548

    Fortunately, that has now changed.

  26. Photon89 commented on May 26, 2026

    @Photon89
    Member

    Indeed! Also, there is some progress for Xfce: xfce4-screenshooter doesn't support the window target but other than that it is now supported by xdg-desktop-portal-xapp.

  27. Photon89 commented on Aug 9, 2026

    @Photon89
    Member

    I see it's due to a dependency that does not build on a certain platform, however a 1-line patch was attached to the dependency in question to fix the issue. Should be okay then?

    Looks like they actually removed Net-OAuth and Shutter from testing now. Relevant issue: vurtdev/Net-OAuth#8

  28. Photon89 commented on Aug 10, 2026

    @Photon89
    Member

    So, the Net-OAuth issue has been fixed by the dev, thus Shutter can return to Debian testing for the moment. But the bad news is that Shutter still has two dependencies which are no longer actively maintained and thus might soon lead to Shutter being kicked out of the repos again:

    As far as I understand, goocanvas-2.0 is used in the DrawingTool, but also in the X11 Advanced Selector.
    dbus-glib is used for interacting with Compiz, sending notifications and full screen capture using Wayland.pm. <- Actually, it doesn't, my bad.

    In total, quite many places, unfortunately...

  29. Photon89 commented on Aug 12, 2026

    @Photon89
    Member

    @gregoa I noticed that you take care of packaging Shutter for Debian since 0.99.6-2, so first of all thanks for the packaging work!

    Luckily, the Net-OAuth issue has been fixed now, but I noticed that there are two further bug reports regarding problematic dependencies:

  30. gregoa commented on Aug 12, 2026

    @gregoa
  31. Photon89 commented on Aug 16, 2026

    @Photon89
    Member

    Sorry for late reply and thanks, gregor!

    @ everybody interested:
    Regarding Wayland support again: I just tested PR #818 on Fedora Rawhide on a Cinnamon Wayland session and indeed selection, window and fullscreen mode work flawlessly using non-interactive calls. Unfortunately, this only works in Cinnamon 6.7.4 which I only found in Fedora (not even Arch ships it!). But once distros include it, at least Cinnamon will get full Wayland support delivered. 😄 Unfortunately, no news in KDE: https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/work_items/32 In Gnome I don't even know if there is an issue tracking this...

    edit: Now there is: https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/work_items/222

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionQuestion about installing, configuring or using Shutter

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions