Opened 8 months ago

Last modified 7 months ago

#18568 new enhancement

Take a free rectangle snippet from the screen

Reported by: thaflo Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Applications/Screenshot Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking: #13456
Platform: All

Description

Using a lot the screenhot function in Linux Mint to take any snippet from the screen I am missing the function in Haiku. Maybe someone wants to implement this.

Change History (14)

comment:1 by Starcrasher, 8 months ago

Beside integrated screenshot function, you could give a look at Flameshot.

comment:2 by waddlesplash, 8 months ago

ShowImage has the ability to clip sections of images.

comment:3 by pulkomandy, 8 months ago

Going through ShowImage to do this is annoying. A direct method where you can just rectangle-select part of the screen directly would be great.

I use that all the time in Linux with scrot. And it should not be too hard to do

comment:4 by bipolar, 8 months ago

JackBurton's BeScreenCapture allows to select a region of the screen to be captured.

Maybe some code there can be useful? https://github.com/jackburton79/bescreencapture/ (SelectionWindow.{h,cpp} perhaps?)

comment:5 by humdinger, 8 months ago

Personally, I'd prefer to have an "Open with..." button to the left of "Save" that lists all image supporting applications. You can either choose "ShowImage" if you just need a fast and crude crop, or choose ArtPaint or WonderBrush etc. for something more fancy.

That button would help with discoverability, but actually a context menu on the screenshot with a list of image supporting apps would be even nicer.

I think this approach to use already existing small tools for the job has its charme, and we wouldn't need to duplicate the functionality (ShowImage's rect cropping).

comment:6 by pulkomandy, 8 months ago

That's considerably more complicated.

My workflow on Linux is:

  • Click a button to launch scrot (I have added it to my toolbar), or it could be a shortcut
  • Select what I want to capture
  • The selection is copied to the clipboard

Then I can paste it where I need (typically, directly in a chat client to share it with colleagues). But then of course it can be pasted or imported into an image editing app as well.

comment:7 by thaflo, 8 months ago

Using the same workflow as @pulkomandy. @bipolar, thanks, I'm looking into that promising BeScreenCapture App. (wondering though, why haiku reinvented the wheel and wrote a new screenhot app with less features)

comment:8 by pulkomandy, 8 months ago

Our screenshot app is a clone of the BeOS screenshot app. It is also possibly older than BeScreenCapture, or at least BeScreenCapture received several new features after Haiku screenshot app was written.

Also, BeScreenCapture is mainly designed to capture videos of the screen, not screenshots. So they are simply different tools.

comment:9 by diver, 8 months ago

BeOS didn't have a screenshot app, Print Screen saved screenshot to a home folder with in tga format.

comment:10 by thaflo, 8 months ago

Ok,thank you all. So would it be an idea (for me as a beginner) to integrate the "Select region" function from BeScreenCapture to Haikus Screenshot App?

comment:11 by pulkomandy, 8 months ago

Yes, sounds like a good plan if you want to have a go at fixing this

comment:12 by thaflo, 7 months ago

Hello, I did the work and screenshot now can be run with "screenshot -q" or "Sreenshot -q" to take a free snippet. Though, after compiling it in my local src tree, how can I replace the system binarys with the new generated ones? I added a button "Select Region" near the buttons "Save to Clipboard", but of course this is discutable. Is this ticket the right place to discuss this things?

comment:13 by pulkomandy, 7 months ago

You can put your new binaries in /boot/system/non-packaged/bin for testing, or if that doesn't work, you can build a new package (jam -q haiku.hpkg) and install that (pkgman install haiku.hpkg)

comment:14 by diver, 7 months ago

Blocking: 13456 added
Note: See TracTickets for help on using tickets.