mirror of
https://github.com/jtheoof/swappy.git
synced 2024-09-11 14:55:49 +03:00
docs(readme): update documentation
This commit is contained in:
parent
fa7bdc90f5
commit
f48c748577
53
README.md
53
README.md
@ -1,8 +1,13 @@
|
|||||||
# swappy
|
# swappy
|
||||||
|
|
||||||
A Wayland native snapshot tool, inspired by Snappy on macOS. Works great with [slurp] and [sway].
|
A Wayland native snapshot and editor tool, inspired by [Snappy] on macOS. Works great with [slurp] and [sway].
|
||||||
|
|
||||||
|
Wayland code was largely taken from [grim].
|
||||||
|
|
||||||
|
## Screenshot
|
||||||
|
|
||||||
|
![Swappy Screenshot](docs/images/screenshot.png)
|
||||||
|
|
||||||
Code was largely inspired by [grim].
|
|
||||||
|
|
||||||
## Example usage
|
## Example usage
|
||||||
|
|
||||||
@ -24,14 +29,48 @@ Grab a swappshot from a specific window under Sway, using `swaymsg` and `jq`:
|
|||||||
swappy -g "$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)"
|
swappy -g "$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Keyboard Shortcuts
|
||||||
|
|
||||||
|
* `Ctrl+b`: Toggle Paint Panel
|
||||||
|
|
||||||
|
|
||||||
|
* `b`: Switch to Brush
|
||||||
|
* `t`: Switch to Text
|
||||||
|
* `r`: Switch to Rectangle
|
||||||
|
* `o`: Switch to Ellipse
|
||||||
|
* `a`: Switch to Arrow
|
||||||
|
|
||||||
|
|
||||||
|
* `R`: Use Red Color
|
||||||
|
* `G`: Use Green Color
|
||||||
|
* `B`: Use Blue Color
|
||||||
|
* `C`: Use Custom Color
|
||||||
|
* `Minus`: Reduce Stroke Size
|
||||||
|
* `Plus`: Increase Stroke Size
|
||||||
|
* `Equal`: Reset Stroke Size
|
||||||
|
|
||||||
|
|
||||||
|
* `k`: Clear Paints (cannot be undone)
|
||||||
|
|
||||||
|
|
||||||
|
* `Ctrl+z`: Undo
|
||||||
|
* `Ctrl+Shift+z` or `Ctrl+y`: Redo
|
||||||
|
* `Ctrl+s`: Save to file (see man page).
|
||||||
|
* `Ctrl+c`: Copy to clipboard
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
|
||||||
|
* **Mutli-Monitor**: I don't have a multi-monitor setup at home. Most likely it won't work properly. Pull requests are welcome.
|
||||||
|
* **Copy**: Copy to clipboard won't work if you close swappy (the content of the clipboard is lost). This because GTK 3.24 [has not implemented persistent storage](https://gitlab.gnome.org/GNOME/gtk/blob/3.24.13/gdk/wayland/gdkdisplay-wayland.c#L857). We need to do it on the [Wayland level](https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-data-control-unstable-v1.xml), or wait for GTK 4.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
### Arch Linux User Repository
|
### Arch Linux User Repository
|
||||||
|
|
||||||
Assuming [yay](https://aur.archlinux.org/packages/yay/) as your AUR package manager.
|
Assuming [yay](https://aur.archlinux.org/packages/yay/) as your AUR package manager:
|
||||||
|
|
||||||
* stable version: `yay -S swappy`
|
* **stable**: `yay -S swappy`
|
||||||
* git version: `yay -S swappy-git`
|
* **latest**: `yay -S swappy-git`
|
||||||
|
|
||||||
## Building from source
|
## Building from source
|
||||||
|
|
||||||
@ -53,9 +92,6 @@ meson build
|
|||||||
ninja -C build
|
ninja -C build
|
||||||
```
|
```
|
||||||
|
|
||||||
To run directly, use `build/swappy`, or if you would like to do a system
|
|
||||||
installation (in `/usr/local` by default), run `ninja -C build install`.
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Pull requests are welcome.
|
Pull requests are welcome.
|
||||||
@ -64,6 +100,7 @@ Pull requests are welcome.
|
|||||||
|
|
||||||
MIT
|
MIT
|
||||||
|
|
||||||
|
[Snappy]: http://snappy-app.com/
|
||||||
[slurp]: https://github.com/emersion/slurp
|
[slurp]: https://github.com/emersion/slurp
|
||||||
[grim]: https://github.com/emersion/grim
|
[grim]: https://github.com/emersion/grim
|
||||||
[sway]: https://github.com/swaywm/sway
|
[sway]: https://github.com/swaywm/sway
|
||||||
|
BIN
docs/images/screenshot.png
Normal file
BIN
docs/images/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
@ -11,6 +11,7 @@ bool clipboard_copy_drawing_area_to_selection(struct swappy_state *state) {
|
|||||||
gdk_pixbuf_get_from_surface(state->cairo_surface, 0, 0, width, height);
|
gdk_pixbuf_get_from_surface(state->cairo_surface, 0, 0, width, height);
|
||||||
|
|
||||||
gtk_clipboard_set_image(clipboard, pixbuf);
|
gtk_clipboard_set_image(clipboard, pixbuf);
|
||||||
|
gtk_clipboard_store(clipboard);
|
||||||
|
|
||||||
char message[MAX_PATH];
|
char message[MAX_PATH];
|
||||||
snprintf(message, MAX_PATH, "Swappshot copied to clipboard\n");
|
snprintf(message, MAX_PATH, "Swappshot copied to clipboard\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user