Repository navigation
feat(linux): Linux desktop support — Part 5/6: Phone storage sync and file manager integration - #43
Conversation
…uts, network & BLE (Part 2) Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
…-monitor parser Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
…ode for watched PIDs Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
…rdings (Part 4) Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
|
Thanks for opening this. Our notes for this part are on #38 (comment). The main thought, only a suggestion: syncing walks the phone every 4 s and copies every file into |
… D-Bus, and packaging Applies the Part 2 review improvements and fixes from upstream/linux-review-fixes (b346bfe, 47e3e06, 6291b51, a815275, 0be2ddf, 20c70f3, ccb9318): - USB ADB: retry another local TCP port only when adb reports a port bind failure (47e3e06) - Linux platform layer: native D-Bus/Netlink/Qt integrations for clipboard, tray, notifications (6291b51), single-instance activation token, BlueZ/NetworkManager, Wake-on-LAN, BLE beacon, and clean SIGTERM/SIGINT/SIGHUP shutdown (ccb9318) - Shell & Doctor: remove Windows settings links/explorer.exe shims (20c70f3) and provide plain Linux Doctor readiness checks and wording with German and Chinese translations (a815275) - Release workflow & packaging: pin AppImage tools with SHA-256 verification and smoke-test every Linux package (.deb, AppImage, tarball) with --version (0be2ddf) Many thanks to @thtbee for the thorough review and reference implementation on linux-review-fixes! Co-authored-by: Bee <302257494+thtbee@users.noreply.github.com> Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
…and window capture Merges updated linux-2-basics and applies the Part 3 review improvements from upstream/linux-review-fixes (b346bfe, 7bc9b2b, a815275): - Keyboard layout resolution (7bc9b2b): add desktop/app/src/linux/keymap.rs using libxkbcommon / libxkbcommon-x11 to resolve keysyms and keycodes against the user's active X11 or Wayland keyboard layout for text typing and shortcuts - Input injection & window capture (b346bfe): native XTest/uinput/RemoteDesktop portal input handling and X11/Portal window capture improvements - DeckPage QML & i18n (a815275): use Linux shortcut labels (Super+D, Screenshot, Super) with German and Chinese translations Many thanks to @thtbee for the collaborative review and reference implementation on linux-review-fixes! Co-authored-by: Bee <302257494+thtbee@users.noreply.github.com> Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
… portal, and OpenH264 ABI Applies the Part 4 review improvements and fixes from upstream/linux-review-fixes (b346bfe, c41f185, 20c70f3): - Wayland ScreenCast portal: open the portal's PipeWire remote connection via OpenPipeWireRemote and pass it as fd 3 to gst-launch-1.0 pipewiresrc, with session restore_token persistence (c41f185) - Media & audio: PipeWire/PulseAudio speaker monitor capture, MPRIS D-Bus client & server, FFmpeg 8 libavcodec compatibility, v4l2loopback virtual camera, and virtual microphone - OpenH264 ABI compatibility: auto-detect 40-byte (Debian/Ubuntu libopenh264.so.7 2.4.1) vs 56-byte (upstream 2.3+ r_psnr) SLayerBSInfo layout at runtime and install libopenh264-dev in Linux CI Many thanks to @thtbee for the thorough review and reference implementation on linux-review-fixes! Co-authored-by: Bee <302257494+thtbee@users.noreply.github.com> Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
…phone storage Applies the Part 5 review improvements and fixes from upstream/linux-review-fixes (b346bfe, e58ee10): - Replace whole-phone sync folder with an on-demand /dev/fuse filesystem mount via fusermount3/fusermount - Add GTK3 and XBEL file-manager bookmark integration and clean unmount on disconnect or shutdown - Only advertise STORAGE_MOUNT / STORAGE_READ / STORAGE_WRITE on Linux when /dev/fuse and fusermount are available (e58ee10) Many thanks to @thtbee for the thorough review and reference implementation on linux-review-fixes! Co-authored-by: Bee <302257494+thtbee@users.noreply.github.com> Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
|
Updated with |
Signed-off-by: Jochen Kirstätter <7329802+jochenkirstaetter@users.noreply.github.com>
Summary
Part 5 of 6 for Linux desktop support (stacked on #42 /
linux-4-media, #41 /linux-3-input, and #38 /linux-2-basics).Adds Linux phone storage synchronization and file manager bookmark integration:
desktop/app/src/linux/storage.rs):~/Nectarlink/<Phone name>when the phone'sstoragetoggle is enabled..nectarlink-parttemporary files (O_NOFOLLOW,0o600) before renaming into place, preserving remote modification timestamps.storage.mkdirandstorage.write.~/.config/gtk-3.0/bookmarksentries (file://<encoded_path> <DeviceName> (NectarLink)) so paired phones appear in GTK/GNOME/XFCE/Cinnamon file managers.desktop/app/src/storage.rs,desktop/app/src/core_host.rs):storage::{start, sync, on_event, shutdown, unregister_all, sync_root_path_for, open_in_explorer}tolinux::storageon Linux.STORAGE_MOUNT,STORAGE_READ, andSTORAGE_WRITEcapabilities on Linux.Verification
cargo fmt --all --checkcargo xtask strings --checkcargo clippy --locked -p nectarlink-desktop -p nectarlink-vcam -p s1-qt-rust --all-targets -- -D warningscargo test --locked -p nectarlink-desktop -p nectarlink-vcam(306 + 6 unit tests pass)