An always-on-top, usually-invisible KDE/X11 drop zone (Qt).
- Sits in the bottom-right of the configured monitor.
- Hold Win+Ctrl to fade in (~20% opacity).
- Drag-and-drop from file manager or browser:
- local files are saved as
<sha1><ext>(dedupe by content; skips if already exists) - web drops (
http(s)/data:) are downloaded/saved and deduped
- local files are saved as
- Press Win+Ctrl+V (while holding Win+Ctrl) to save the clipboard (image/URL/text).
- Runs a systray icon with menu + settings.
- X11 session (not Wayland)
- A StatusNotifier host for the tray icon (KDE works out of the box; GNOME needs an extension)
- Build tools: CMake (>= 3.20) + a C++17 compiler
- Qt development packages (Qt 6 preferred; Qt 5 also works): Core, Gui, Widgets, Network
- X11 development libs: Xlib + Xext
Package install examples:
# Ubuntu/Debian
sudo apt install -y cmake build-essential \
qt6-base-dev || sudo apt install -y qtbase5-dev \
libx11-dev libxext-dev
# Fedora
sudo dnf install -y cmake gcc-c++ \
qt6-qtbase-devel || sudo dnf install -y qt5-qtbase-devel \
libX11-devel libXext-devel
# Arch
sudo pacman -S --needed cmake base-devel \
qt6-base || sudo pacman -S --needed qt5-base \
libx11 libxextcmake -S qt-dropbox -B qt-dropbox-build -DCMAKE_BUILD_TYPE=Release
cmake --build qt-dropbox-build
./qt-dropbox-build/qt-dropboxInstall to ~/.local:
cmake --install qt-dropbox-build --prefix ~/.localAutostart on login (KDE/GNOME/etc):
mkdir -p ~/.config/autostart
cp ~/.local/share/applications/qt-dropbox.desktop ~/.config/autostart/Options:
./qt-dropbox-build/qt-dropbox --output-dir ./data --width 200 --height 400 --opacity 0.20Qt config file:
- Default:
~/.config/qt-dropbox/config.ini - Override path:
./qt-dropbox-build/qt-dropbox --config /path/to/config.ini - Open config from tray menu or
--open-config
Qt hotkeys:
- Hold
Win+Ctrlto show the drop box. - While holding
Win+Ctrl, pressVto save the clipboard. - Use the tray menu
Always Visibleto keep it visible without holding keys.
Qt options:
- Tray toggle
Organize into subfolderssaves into<outputDir>/<category>/... - When organizing, files are always sharded like git to keep folders small:
<outputDir>/<category>/<sha1[0:2]>/<sha1[2:4]>/<sha1><ext> - Multiple
Profilesare supported (tray menu + settings). Each profile has its ownoutputDir. - Files are saved as
<sha1><ext>; if the file already exists, it is skipped. - Tray menu
Settings…edits output dir, size, opacity, fade, and toggles. - Monitor selection is configurable in
Settings…(Left/Middle/Rightby X position).
If outputDir is an http:// or https:// URL, qt-dropbox uploads instead of saving locally:
- Uses
POSTwithmultipart/form-data - File part:
name="file",filename="<sha1><ext>" - Extra fields:
sha1,ext,category,date - Also sends headers:
X-Content-SHA1,X-Filename - Success: any
2xxresponse (green flash) - Duplicate:
409or412response (amber flash)