realkc / kcshot Goto Github PK
View Code? Open in Web Editor NEWLicense: European Union Public License 1.2
License: European Union Public License 1.2
This would be a system that allows you to execute a series of actions on your screenshot after it was taken, enabling chains such as Capture -> Save -> Edit -> Copy to Clipboard
or Capture -> Edit -> Upload to Image Host -> Copy to Clipboard
.
More work on them will probably require some refactors on how screenshots get taken, I think.
Currently kcshot uses ksni
exclusively to create a systray icon, this only works on systems that have a KDE/freedesktop Status Notifier Item host, which on WMs, means snixembed mostly (at least it does on awesomewm, which is what I use), it'd be nice if this dependency could be dropped.
This solution would make use of the old (and I imagine deprecated) systray specification, the high level overview of what needs to be done is:
I, however, have been unable to make this work, my past attempts:
The editor currently does a lot more work than needs to be done when receiving draw events, here are some things that could be done to improve the performance:
editor::pixelops
by avoiding the intermediate Pixbuf
seditor::pixelops
code into its own crate and config cargo to enable all optimizations on that one (this is most important for people running kcshot in debug mode -- which I am)I'll update the issue if more things come to mind.
Implementations must only make changes to the model (as visible to its consumer) in places that will not cause problems for that consumer. For models that are driven directly by a write API (such as GListStore), changes can be reported in response to uses of that API. For models that represent remote data, changes should only be made from a fresh mainloop dispatch. It is particularly not permitted to make changes in response to a call to the GListModel consumer API.
Stated another way: in general, it is assumed that code making a series of accesses to the model via the API, without returning to the mainloop, and without calling other code, will continue to view the same contents of the model.
(from https://docs.gtk.org/gio/method.ListModel.items_changed.html)
I'll get to this once it's less late/I have time
I think the dropdown makes the editor UI look uglier, though using this approach means the feature is less discoverable. (Having buttons like we do for other actions could work, but I'm having trouble imagining good icons for this)
This is a nice feature I miss from ShareX.
Blocked on #21, as I want this feature to integrate cleanly into the postcapture action system.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.