elementary / screenshot

Screenshot tool designed for elementary OS
https://elementary.io
GNU Lesser General Public License v3.0
84 stars 21 forks source link

Allow quick drawing over screenshot #191

Open matfantinel opened 4 years ago

matfantinel commented 4 years ago

Feature

One of the main things I miss when using this app is that often I want to screenshot an entire window, but draw over a specific part of it. Currently I have to open it in GIMP/another drawing app and edit it there, which frankly is a bit annoying, not to mention overkill.

Common use case: I want to show a friend how to do something in a website/app, so I screenshot it and circle a menu option in there.

Describe the solution you'd like Ideally, there could be a new shortcut accelerator that, after taking the screenshot, would open the image in a floating window that displays some basic drawing controls and allow us to draw over it. There could also be a button to open it in the default image viewer app.

Existing work Snipping tool on Windows 10 offers this functionality (although the rest of the UI kinda sucks). It could be simpler than that, with just a pen option and a color picker.

Demo Snipping Tool

danirabbit commented 4 years ago

I think what we've discussed before is making it much easier to launch the photos preview for editing and sharing so we're not duplicating features.

We have an open issue report for annotation features in photos here: https://github.com/elementary/photos/issues/546

So I'm inclined to mark this as "Out of Scope" for screenshot

danirabbit commented 4 years ago

I guess maybe this could be considered a duplicate of #9 in some ways too?

matfantinel commented 4 years ago

That sounds like a good way to handle this, I agree. Perhaps a quick actions window that pops up after the screenshot was taken could be a neat way of achieving this. Or even a notification, since they'll support actions soon.

For reference, here's the tiny bar with a few quick actions that show up when you take a screenshot on Android:

20200819_143735.jpg

danirabbit commented 4 years ago

Yeah I think probably the smoothest path is to have screenshots send a notification with an "Open" action

matfantinel commented 4 years ago

Do you want me to modify this issue or add additional details to #9?

danirabbit commented 4 years ago

@matfantinel let's close #9 in favor of this issue since there is more discussion here :)

cassidyjames commented 4 years ago

As a note, a community developer has started playing with GooCanvas to make an annotation app. It would be a good test case for opening in a third-party app: https://youtu.be/O0jS2s2w4wM

DevAlien commented 4 years ago

Yes I was thinking on making an app for that. That's just a prototype to see if I could manage to make Goo Canvas work. And it seemed doable with my small know how with vala. I'm not sure how we could integrate the screenshot app with that, what's the best way to do it. But still a long way

matfantinel commented 4 years ago

I think that a dropdown/button displaying all apps that can open pictures, with a pre-selected default is a good solution for the Screenshot app. Just like the one on Ephemeral:

image

That would make sense if you open the Screenshot window and use it from there. But if you use the Shortcuts (like Ctrl+Alt+PrtScr), I think a button in the notification would be the way to go. I also think that you should be able to select a different default app to open it than the system one. Like, if I open a picture from Files, I always want to open it on Photos, but if I open from the Screenshot app/notification, I'd want to open it on GIMP/Annotation app.

I'm not sure I'll have the time to work on this soon, but I think it's something I have enough knowledge to start on. Will update things here if I do.

matfantinel commented 4 years ago

@danrabbit do you know if it's possible to install libhandy-1 on Hera without having to manually compile it? I'm trying to build the master branch on my machine, but it complains about it. I tried downloading it from Ubuntu mirrors but it didn't help.

danirabbit commented 4 years ago

@matfantinel I don't think it's possible without manually compiling. It might rely on newer Gtk features that aren't available as well, but I'm not sure about that

matfantinel commented 4 years ago

@danrabbit oof, I think I'll focus on trying to get a 6.0 VM running then. Got the ISO, but my laptop isn't letting me run it lol

Thanks!

sysfu commented 3 years ago

I'm willing to fund development of this feature. Since Bountysource is no longer in the picture, please DM me if you're tackling it and we can work out a deal.

igordsm commented 3 years ago

I can work on this. I regularly annotate screenshots during class, so this is useful for me. Just to be clear, the proposed solution is to add an "Open" action to the notification that prompts for an app to open the screenshot, right?

danirabbit commented 3 years ago

@igordsm Yes, so since the actual taking the screenshot function has moved to the window manager, we probably want to implement this in Gala

So the feature would be to send a notification from the screenshot interface in Gala whenever a screenshot is taken and the default action for the notification would be to open the image in the default app for images

That way we get this feature when using keyboard shortcuts or with other screenshot apps etc

igordsm commented 3 years ago

So, just to be sure of what I'm doing: in Gala there's no Gtk.Application.send_notification, so I'd have to rely on org.freedesktop.Notifications.Notify to show notifications and org.freedesktop.Notifications.ActionInvoked to get the action event. I'd be doing something similar to MediaFeedback.vala in terms on DBus code, correct?