-
-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove slurp as a dependency, aka fork slurp to rust. #1
Comments
So a bit of background: I was making a replacement for grimshot, basically by shelling out via rust instead. I think you're actually 90% there, so maybe I'll just try to implement slurp functionality. Can you recommend any good resources for understanding these wayland and wlroots protocols? Not sure if I should start with trying to draw a rectangle (for the selection box) or detect mouse events (to select things). |
Hi!
So a bit of background: I was making a replacement for [grimshot](https://github.com/swaywm/sway/blob/master/contrib/grimshot), basically by shelling out via rust instead.
I've already created a port of grimshot to wayshot and slurp (https://github.com/Shinyzenith/.dotfiles/blob/master/.config/bin/bin/swappyshot)
I think you're actually 90% there, so maybe I'll just try to implement slurp functionality. Can you recommend any good resources for understanding these wayland and wlroots protocols?
Sure!
- I'd suggest you learn how wayland clients function if you don't know that already.
Wayout (https://github.com/waycrate/wayout) is a fairly simple output management client I
wrote, this can help you learn.
- https://wayland.app is your best friend. It makes reading the protocol specification much easier.
- Wlroots itself ships an example for the layer shell protocol. For
forking slurp you'll need to work with layer shell and
xdg_output_manager protocols :)
https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/examples/layer-shell.c
- Last but not least, you're gonna have to read https://github.com/emersion/slurp.
Not sure if I should start with trying to draw a rectangle (for the selection box) or detect mouse events (to select things).
- Starting with a box would be the first step, the layer shell example I
linked above showcases a rectangle if my memory serves me well.
|
For interested individuals -- this has been completed and we are going to integrate it soon |
No description provided.
The text was updated successfully, but these errors were encountered: