Commit Graph

92 Commits

Author SHA1 Message Date
flow
8ee55f7d52
feat(ui): allow filling rectangles and ellipsis
This adds an option on top of existing brush types, to allow for filled
shapes in addition to non-filled ones.

Signed-off-by: flow <flowlnlnln@gmail.com>

Closes #120
2022-11-18 16:05:37 -05:00
Seppe Soete
60da5491e2 feat(config): add early_exit option 2022-08-03 19:58:00 -04:00
Gaoyang Zhang
2f35f02b4e feat(config): allow paint_mode to be configured through config file
Signed-off-by: Gaoyang Zhang <gy@blurgy.xyz>
2022-04-03 19:39:36 -04:00
Jeremy Attali
cdbd06d7af fix(pixbuf): handle invalid input file
If the input file is invalid (example: `grim` did not work due to
invalid geometry), handle the error gracefully.

Previously we had a coredump due to `g_error`.
2021-02-27 14:34:23 -05:00
lelgenio
d80c361489 feat(draw): draw shape from center if holding control 2021-02-20 22:57:24 -05:00
Jeremy Attali
1bb534fc7c chore(notification): remove libnotify dependency and notifications
Closes #58
2021-02-16 23:21:20 -05:00
Jeremy Attali
3db1b13ae9 refactor(swappy): rename surface variables for clarity 2021-02-15 20:44:01 -05:00
Jeremy Attali
27fcecedae fix(blur): optimize blur to only render after commit 2021-02-15 20:44:01 -05:00
Jeremy Attali
9b72571596 fix(ui): adjust rendering surface with proper scaling
Closes #54
2021-02-15 20:44:01 -05:00
Jeremy Attali
ecbcf2b80c chore(swappy): remove unused state variable 2021-02-15 20:44:01 -05:00
Jeremy Attali
6bfb36734c chore(git): format with new lines at eof 2021-02-15 14:01:43 -05:00
Jeremy Attali
5bcffdbb01 fix(ui): compute window sizes and buffers properly
Compute maximum width and height of area container based on monitor size
and fix image ratio based on appropriate values.

Note that this will lower the resolution of the final image.

Closes #56
2021-02-15 13:53:33 -05:00
Jeremy Attali
c24e56a165 fix(application): unlink temp file coming from stdin
Stop mutating `file_str`, use a dedicated `temp_file_str` to store the
location of the temporary file when using swappy with `-f -` option.

Closes #80
2021-02-13 19:32:22 -05:00
apiraino
597f0055b9 feat(cli): add configure options for filename save 2020-12-12 13:03:38 -05:00
Jeremy Attali
717ab0c2d1 fix(text): properly handle utf-8 chars
UTF-8 characters are now handled porperly. Also re-worked some helper
functions with UTF-8 in mind.

I secretly no real C developers will look at this. I might have to ask
for witness protection.

Closes #43
2020-07-08 21:48:31 -04:00
Jeremy Attali
204a93eb0f refactor!(wayland): remove wayland code
BREAKING CHANGE: We do no support the `-g` option anymore.

This tool simply makes more sense as the output of `grim` rather than
trying to be `grim`.

RIP my ugly wayland code, long live maintainable code.

Next stop, rust?
2020-06-20 21:19:40 -04:00
Jeremy Attali
307f57956f feat(config): add show_panel config
Allows to toggle paint panel on/off upon startup.

Closes #12
2020-06-17 23:04:57 -04:00
Jeremy Attali
7a9be5d2a6 refactor(application): remove scaling logic 2020-06-16 23:07:25 -04:00
Jeremy Attali
0e9f66ad5b perf(render): improve rendering for scaled surfaces 2020-06-16 23:07:25 -04:00
Jeremy Attali
7674d7db8b feat(ui): add toggle panel button
Closes #24
2020-06-14 11:57:09 -04:00
Jeremy Attali
361be6aa80 feat(blur): remove blur configuration 2020-06-13 14:42:50 -04:00
Jeremy Attali
46fb08dce1 fix(blur): use rendered surface after commit
- Fix blur logic
- Reused rendered surface to optimize future render on comitted blur
- Include gaussian kernel function

Closes #20
Closes #22
2020-06-13 14:42:50 -04:00
Jeremy Attali
416b0adad9 chore(wayland): remove unused variable 2020-06-13 14:42:50 -04:00
Jeremy Attali
6b2ec90efd fix(blur): adjust blur bounding box based on scaled monitor 2020-06-02 00:08:21 -04:00
Jeremy Attali
1be7798a8b feat(blur): use rect blur instead of brush
Use a rectangle to blur instead of brushes.

Does not improve the performance that much, will come in a later patch.

Will fix the UX of the feature though.

Closes #17
2020-06-01 23:32:07 -04:00
Jeremy Attali
fae0aeacab feat(tool): introduce blurring capability
The blur algorithm is largely inspired from Kristian Høgsberg & Chris
Wilson in [this file](https://www.cairographics.org/cookbook/blur.c/)

Closes #17
2020-05-31 23:25:37 -04:00
Jeremy Attali
445980bbf4 fix(ui/render): adjust rendering based on window size
Compute the size of the GTK window based on sane compute that works well
for single monitor. Still not sure how this behaves on multi monitors.

This also fixes the issue where swappy would crop the image on scaled
output displays.

Closes #6
2020-05-18 00:18:03 -04:00
Jeremy Attali
196f7f4dea feat(application): print final surface to file or stdout
This allows a user to output the final surface to `stdout` using:

- `-0`
- `--output-file``

Also adding another keybinding to exit the application `Ctrl+w` which is
pretty standard.

Closes #2
2020-01-19 23:48:55 -05:00
Jeremy Attali
38b96e35f8 refactor(pixvuf): move pixbuf to separate file 2020-01-19 23:48:55 -05:00
Jeremy Attali
ef24851dee feat(config): have overridable defaults
Defaults:

 - `save_dir`
 - `line_size`
 - `text_font`
 - `text_size`

Closes #1
2020-01-12 22:00:41 -05:00
Jeremy Attali
f48f36e7fe revert:"wip(copy): handle data control protocol"
This reverts commit c0db845620.
2020-01-05 16:30:37 -05:00
Jeremy Attali
c03f628de7 feat(text): add controls in toggle panel 2020-01-05 16:17:19 -05:00
Jeremy Attali
c0db845620 wip(copy): handle data control protocol 2020-01-05 15:37:19 -05:00
Jeremy Attali
0c5e458d4c fix(window): quit when delete event is received 2020-01-04 19:06:35 -05:00
Jeremy Attali
f356ff9b17 refactor(text): use size_t instead of int for cursor 2020-01-04 17:48:02 -05:00
Jeremy Attali
bc3264e9f1 fix(string): fix algo to insert chars at location 2020-01-04 17:22:05 -05:00
Jeremy Attali
3347bf23bf feat(paint): introduce text paint 2020-01-03 23:53:08 -05:00
Jeremy Attali
49be066079 refactor(swappy): rename painting into settings 2020-01-01 15:21:36 -05:00
Jeremy Attali
cf33f3a4fb refactor(wayland): make all wayland code optional 2019-12-31 01:25:55 -05:00
Jeremy Attali
02bc464564 feat(buffer): ability to read from stdin 2019-12-29 16:48:13 -05:00
Jeremy Attali
f6c189c7b7 feat(buffer): add file image support 2019-12-29 02:40:30 -05:00
Jeremy Attali
f8494a7873 refactor(screencopy): move code to buffer file 2019-12-29 02:25:11 -05:00
Jeremy Attali
c56df33d18 feat(swappy): introduce file option 2019-12-29 02:12:17 -05:00
Jeremy Attali
7d56f772c1 refactor(config): move file helpers to specific file 2019-12-29 01:47:52 -05:00
Jeremy Attali
e8d377fc29 chore(wayland): remove layer shell remnants 2019-12-28 23:41:04 -05:00
Jeremy Attali
45a0da8293 chore: cleanup 2019-12-28 21:43:44 -05:00
Jeremy Attali
05d87c929f fix(resources): compile resources and fix error management 2019-12-28 17:02:50 -05:00
Jeremy Attali
8abc5d52ec fix(meson): able to build on standard platforms 2019-12-27 19:55:34 -05:00
Jeremy Attali
c5ec285ee7 feat(ui): add keybindings for color change 2019-12-27 16:21:13 -05:00
Jeremy Attali
5678545de5 refactor(*): use doubly linked lists 2019-12-27 15:33:16 -05:00