Skip to main content

pipedrag

Drag files found on the command line into any app that accepts drops:

find ~/Downloads -name '*.pdf' | pipedrag

pipedrag reads file paths from stdin (newline- or NUL-separated), opens a small window with a multi-file icon, and lets you drag it into Dolphin, a browser, a chat window … as if you had selected the files in a file manager.

Drops can be chunked (pipedrag -n 1000), most browser uploads have some sort of limit. Chunks already dropped are marked as "green".

$> find . -name '*.jpeg' -type f | pipedrag -n 1000

screenshot1.png

How to install

... pending release ...

Development and contribution

./setup.sh          # creates .venv and installs the pinned dependencies

Requires Python ≥ 3.10. If python3 -m venv fails on Debian/Ubuntu, install python3-venv first.

How the drop works

  • The drag speaks XDND — the same protocol Dolphin uses — via text/uri-list.
  • The dragged files are registered with the FileTransfer portal, so sandboxed targets (snap/Flatpak apps) can read them even from directories their sandbox blocks directly — e.g. snap Firefox silently denies dot-directories like ~/.local/share/. This is the same mechanism KDE/Dolphin uses.

Drop inspector

upload-test.html is a browser page that prints everything the browser exposes about dropped files (metadata, mime types, filesystem handle) and their SHA-256/SHA-384/SHA-512 checksums — useful for verifying a drop end to end and cross-checking with sha256sum.

Notes

  • The drag starts from inside the mouse-press handler, as Qt requires on Wayland.

AI transparency

This project was largely coded via claude using the deepseek api. I couldn't have built a QT app so quickly and the drag'n'drop part with the portals was a lot more messy than expected.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipedrag-0.1.0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pipedrag-0.1.0-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file pipedrag-0.1.0.tar.gz.

File metadata

  • Download URL: pipedrag-0.1.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for pipedrag-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ba878ab08a4b727ccc63e47847db4104a882721f08ade796999c8ad231dcbe81
MD5 d64199f5bfa69d9d31f6bdd4ba757129
BLAKE2b-256 904fbed6dddb2e0cb44b2a5c7d66bb017eb21fae7a4803d6d7b4e61700f764f7

See more details on using hashes here.

File details

Details for the file pipedrag-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pipedrag-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.4

File hashes

Hashes for pipedrag-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aff969f37d322ccaa0ffccf26f45a32bbb8bf78e6fcd0459054def68b70caeb7
MD5 99b338de3eb193af70c5ae6b9d566ea8
BLAKE2b-256 9a02bb54ca78bdc91dc8d2ed04173d8a202f3d3e9c039770d6e034f722e9e294

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.4

2 files

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page