ksnip
ksnip copied to clipboard
Take screenshot of scrolling area
Congratulations for your work Have you planned the possibility of a full web page capture (“scrolling window in Picpick, “drop-down window” Ashampoo snap...)
Hello, not specifically about web pages, I knew about some Windows Screenshot Tools that can take screenshot of ScrollAreas but haven't heard about any Linux tool. If there are some we could have a look at it if it's possible to implement it in ksnip. Though can't promise any timeframe, we are currently full with Feature Requests, for this year probably. PRs are welcome :)
I would like to see this feature too. (is there a feature request upvote in github, so I don't need to reply to voice my desire for a feature? I could not find one, so I'm posting this reply instead. I don't use github much!) BTW it is a feature I've seen in many screencap tools that are browser extensions. I'm not sure I've seen a non-browser based tool offer this, but it sure would be nice.
Just commenting is the best way I guess, it gets my attention.
This feature how ever, a complex one, I'm not sure how to get from X11 something that is not visible. As far as I know under X11 the content for an obscured region is undefined so trying to get it gives just garbage. In browsers, on the other hand the browser knows what the page is and can construct it based on the html. I'm not sure if this information can be queried somehow.
@robertbyers1111 do you know any of those extensions for Firefox for example?
Shutter can take a capture of a scrolling webpage : https://www.linuxuprising.com/2020/10/shutter-screenshot-tool-ppa-updated-for.html
Thanks for the hint @InfoLibre, I'll have a look into it.
This would be an handy new feature. I would be happy to contribute testing & documentation if needed.
do you know any of those extensions for Firefox for example?
@DamirPorobic :) Firefox version Quantum has a built-in scrolling screenshot feature. Which is very stable, easy to use, my favorite.
Documentation summary at https://screenshots.firefox.com or https://archive.md/QfVY9 Documentation details at https://support.mozilla.org/en-US/kb/take-screenshots-firefox or at https://archive.md/GRYSU
The whole Firefox code is open source. With MPL-2.0 License. Maybe some of its built-in screenshot code could be recycled for Ksnip?
- Full Firefox code:
- Summary at https://hg.mozilla.org/mozilla-central/
- File at https://hg.mozilla.org/mozilla-central/file
- Related tickets:
- https://phabricator.services.mozilla.com/D110061#change-gnDAqxPQOTHY
- https://phabricator.services.mozilla.com/D112066
Firefox had another screenshot feature which seems to be defunct since 2019. It was called "Screenshots". The code is at https://github.com/mozilla-services/screenshots or at https://archive.md/t1yc8
@Francewhoa thanks for having a look into, I'll review your links when I get to this feature.
A generic approach to this might be trying to scroll, take the screenshots and then stitch them together, thought I'm not sure how well that works. ShareX seems to support something like this, maybe someone can test it out.
thought I'm not sure how well that works
Good morning @DamirPorobic :) I tried this automated scroll & stitch option. Using many screenshot software/apps. I can confirm that this does not work well. Because in my case, it fails 50% of the time in average. The end result is that many slices include multiple copies of a same overlay. In turn, the items under those are missing from the screenshot :(
My vote goes for somehow taking a screenshot of the whole page without automated scroll & stitch. This works 90% of the time with other software. For example, the screenshot feature within Firefox is able to do this. For the remaining 10% of the time, I resolve this challenge by first doing a manual scroll of the whole page, so that all items are loaded into the page, then I take a screenshot. Without automated scroll & stitch option. Overall, the end result is really good 100% of the time.
Below is the same as above. But with details if you're interested in those.
Steps
Below are the steps to reproduce a failed automated scroll & stitch option
- Using Firefox, install this add-on Easy Screenshot - a Web Clipper (ES)
- Still using Firefox, go to this present GitHub ticket at https://github.com/ksnip/ksnip/issues/398
- Using ES, take a screenshot using its "Capture Entire Screen" option. Which is an automated scroll & stitch option.
- The numbers 1, 2, 3 in this screenshot shows the failed end result.
Tap or click on this screenshot above to zoom in. Notice that the same overlay was copied 3 times. By "overlay" I mean for example for this present GitHub ticket, if you scroll it, you'll notice that at the top there is one overlay item which follows your scroll. The end result is that this same overlay was added multiple time to each slice. Many websites use overlays. As it is increasingly popular.
I'll add another comment here today about a suggested other option. About creating new ksnip browser add-ons. Which would be able first, take a screenshot without automated scroll & stitch, then second send those to ksnip.
Ksnip Browser Add-ons
@damian-garrido :) This is a suggested option to take screenshot of an entire page. How about create new ksnip browser add-ons? Which would be able to, first, take a screenshot. Then, send those to ksnip.
Below is the same as above. But with details if you're interested in those.
Scenario
To clarify my suggestion, here is a scenario
- User ksnip as usual. No change.
- Optionally, user install the ksnip browser add-ons/extensions.
- Notes
- This add-on could be any name to your liking. For example,
ksnip browser
. With description "Official browser plugin for the ksnip screenshot tool at https://github.com/ksnip/ksnip
" - For Firefox, this new open source add-on would be hosted for free at https://addons.mozilla.org/en-US/firefox/extensions/
- Any volunteer interested to create this add-on? Documentation is at:
- https://extensionworkshop.com
- https://addons.mozilla.org/en-US/developers/
- This add-on could be any name to your liking. For example,
- Notes
- Using the ksnip browser add-on, user choose between
Capture Entire Page
,Capture Visual Part
,Capture a Portion
. In this example, the user chooseCapture Entire Page
. This mockup shows the suggested location of those option within a browser.
To zoom in this mockup above, tap or click on it. The ksnip browser add-on would take the screenshot would be taken without automated scroll & stitch though. As this is the main strength and benefit of a browser add-on. - Somehow, the screenshot would be sent to ksnip. The number 1 in this mockup shows this.
- Done. User is able to use ksnip to do operations on this screenshot. Such as adding annotation :)
This is definitely a great feature, literally the only reason why I haven't stareted using ksnip yet.
In case you need more examples of this implementation, https://picpick.app/en/features also has it. It seems to me as if they implemented the scroll and connect approach.
(they keep bugging me about licensing on every update, so I'd prefer something open source)
A generic approach to this might be trying to scroll, take the screenshots and then stitch them together, thought I'm not sure how well that works. ShareX seems to support something like this, maybe someone can test it out.
@DamirPorobic Actually this is a good idea, although ShareX doesn't do it well as Francewhoa mentioned. But please try FastStone Capture, which I have been used for years, performing well in most cases with that feature. I also tried ShareX myself in search of alternatively, and just found FastStone Capture unreplaceable for the feature, but I still wanna see a FOSS app implementing it. Also someone mentioned Screenpresso also does well (and that's where I found this particular issue).
A browser plugin is far from enough, since there are way many use cases like for terminals, mail clients, code from an IDE, etc. besides webpages. So PLEASE consider to assign it a higher todo priority. Thanks.
I would like to see this feature too.