Skip to content

[global] ryoshot: add KDE Connect send-to-phone toolbar action - #612

Merged
neur0map merged 5 commits into
Ryoku-dev:land/prs-1027from
Ronin-CK:main
Oct 27, 2026
Merged

neur0map merged 5 commits into
Ryoku-dev:land/prs-1027from
Ronin-CK:main

Conversation

@Ronin-CK

Copy link
Copy Markdown
Contributor

What changed

Adds a "Send to phone" action to the ryoshot annotation toolbar (and Ctrl+K shortcut) to beam annotated screenshots directly to a paired phone via KDE Connect without persisting them to disk.

Key additions:

  • Toolbar Action & Shortcut: Added a phone icon button in the export group and bound Ctrl+K during the annotation phase.
  • Temporary Transfer: Captures the selection to a unique temporary file, streams it via kdeconnect-cli --share, and cleans up in the background so nothing lingers in the Screenshots folder.
  • Connection Status Tint: Detects reachable devices via kdeconnect-cli -a. When no device is connected, the phone icon turns red (Theme.danger) and the tooltip clarifies that no device is reachable. When connected, the tooltip displays the active device name (e.g. Send to Munch).
  • Shortcuts Sheet & Icons: Added the vector phone SVG path to Icon.qml, added optional customTint to IconButton.qml, and documented Ctrl+K in ShortcutSheet.qml.

Area

global

How it was tested

  • Verified on a running Ryoku system under Hyprland.
  • Tested triggering a screenshot (Super+Shift+S), annotating, and transferring to a paired Android device via both the toolbar button and Ctrl+K.
  • Confirmed file transfer arrives on the phone while keeping ~/Pictures/Screenshots clean.
  • Tested disconnection state: verified the icon tints red (Theme.danger) and tooltip updates when the phone is unreachable.
  • Linted all modified files with qmllint (0 errors, 0 warnings).
  • Executed node --test lib/*.test.mjs (all 36 unit tests passed).

Checklist

  • One logical change, with a clear [area] scope: summary commit subject.
  • Matching CHANGELOG.md updated in the area I touched.
  • The git hooks pass locally; I did not use --no-verify.
  • Lua parses (luac -p), shell scripts pass bash -n, and QML passes qmllint where applicable.
  • No duplicated config, no dead code, no commented-out code, no em-dash.
  • Docs updated if behavior or layout changed.

Note: New: send screenshots directly to your phone via KDE Connect in ryoshot

@neur0map
neur0map changed the base branch from main to land/prs-1027 October 27, 2026 21:32
@neur0map
neur0map merged commit 21a723e into Ryoku-dev:land/prs-1027 Oct 27, 2026
4 checks passed
@neur0map

Copy link
Copy Markdown
Member

Thanks for the work here, this ships in the next v1 release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants