Screenshot tools features #141

Merged
zach merged 3 commits from screenshot-picker-improvements into main 2026-08-11 21:59:33 +02:00
Owner

What & why

This eliminates the need to fork screenshots to swappy.

Changes:

  • Forced freeze screenshots to better fit other changes
  • Resizable & movable selection rectangle
  • Editing toolbar attached to selection rectangle
    • Regular pen drawing or pre-made shapes
    • Color selector
    • Undo, clear, copy to clipboard, cancel and save buttons
    • Shortcuts for copy and save; ctrl + c & ctrl + s respectively

Related issue

No response

Type

New feature

Tested

  • Build succeeds
  • Existing tests pass
  • Manually verified

Breaking changes?

We will also need to change zshell-img-tools to not fork to swappy as well, since this is now handled before the image is sent to it. Currently QML will not send the screenshot to zshell-img-tools at all due to this.

Checklist

  • CI passes (format, lint, typecheck)
  • Clean commits
  • No new warnings
  • Docs updated if needed
### What & why This eliminates the need to fork screenshots to swappy. Changes: - Forced freeze screenshots to better fit other changes - Resizable & movable selection rectangle - Editing toolbar attached to selection rectangle - Regular pen drawing or pre-made shapes - Color selector - Undo, clear, copy to clipboard, cancel and save buttons - Shortcuts for copy and save; `ctrl + c` & `ctrl + s` respectively ### Related issue _No response_ ### Type New feature ### Tested - [x] Build succeeds - [x] Existing tests pass - [x] Manually verified ### Breaking changes? We will also need to change `zshell-img-tools` to not fork to swappy as well, since this is now handled before the image is sent to it. Currently QML will not send the screenshot to `zshell-img-tools` at all due to this. ### Checklist - [x] CI passes (format, lint, typecheck) - [x] Clean commits - [x] No new warnings - [x] Docs updated if needed
zach added 1 commit 2026-08-10 12:10:16 +02:00
screenshot tools baked-in: drawing uses optimized qcanvaspainter, direct to clipboard, eliminate forking to swappy
C++ / fmt (pull_request) Successful in 7s
JS/TS / lint (pull_request) Successful in 21s
JS/TS / fmt (pull_request) Successful in 20s
Python / lint (pull_request) Successful in 31s
Python / fmt (pull_request) Successful in 33s
Python / typecheck (pull_request) Failing after 1m4s
Python / test (pull_request) Successful in 1m7s
C++ / build (pull_request) Successful in 1m48s
Rust / fmt (pull_request) Successful in 37s
Rust / build (pull_request) Successful in 1m42s
Python / buildcheck (pull_request) Successful in 2m33s
Rust / clippy (pull_request) Successful in 1m32s
C++ / clang-tidy (pull_request) Successful in 3m35s
47c842941f
zach added 1 commit 2026-08-11 15:03:14 +02:00
Merge branch 'main' into screenshot-picker-improvements
C++ / fmt (pull_request) Successful in 7s
JS/TS / fmt (pull_request) Successful in 13s
JS/TS / lint (pull_request) Successful in 15s
Python / fmt (pull_request) Successful in 29s
Python / lint (pull_request) Successful in 27s
Python / test (pull_request) Successful in 50s
Python / typecheck (pull_request) Failing after 48s
Rust / fmt (pull_request) Successful in 38s
C++ / build (pull_request) Successful in 3m0s
Rust / build (pull_request) Successful in 1m40s
Python / buildcheck (pull_request) Successful in 2m26s
Rust / clippy (pull_request) Successful in 1m15s
C++ / clang-tidy (pull_request) Successful in 4m27s
ad5fda2718
zach added 1 commit 2026-08-11 18:57:42 +02:00
ctrl + c & ctrl + s shortcuts + screenshot destination dir env var
C++ / fmt (pull_request) Successful in 4s
JS/TS / fmt (pull_request) Successful in 16s
JS/TS / lint (pull_request) Successful in 17s
Python / fmt (pull_request) Successful in 32s
Python / lint (pull_request) Successful in 32s
Python / test (pull_request) Successful in 1m0s
C++ / build (pull_request) Successful in 1m35s
Python / typecheck (pull_request) Failing after 1m12s
Rust / fmt (pull_request) Successful in 38s
Rust / build (pull_request) Successful in 1m34s
Rust / clippy (pull_request) Successful in 1m28s
Python / buildcheck (pull_request) Successful in 2m35s
C++ / clang-tidy (pull_request) Successful in 3m23s
06fb202e36
Inorishio approved these changes 2026-08-11 21:59:18 +02:00
Collaborator

This merge is about to be awesome

This merge is about to be awesome
zach merged commit c29b91cd26 into main 2026-08-11 21:59:33 +02:00
zach deleted branch screenshot-picker-improvements 2026-08-11 21:59:35 +02:00
Sign in to join this conversation.