feat: add PySide6 clipboard uploader with Nuitka release tooling

This commit is contained in:
Logic
2026-03-25 09:52:20 +08:00
commit c34af53878
11 changed files with 1262 additions and 0 deletions

111
README.md Normal file
View File

@@ -0,0 +1,111 @@
# manjaro_kde_upload_tools
Manjaro Linux + KDE 6 下的剪贴板图片上传工具。
## 功能
- 读取当前剪贴板中的最新图片
- 上传到聚合图床 `https://api.superbed.cn/upload`
- 成功后把返回链接改写成 Markdown`![](url)`
- 自动写回剪贴板
- 用 PySide6 显示底部居中的圆角、半透明、淡入淡出 toast
- 可用 Nuitka 打包成单文件二进制
- 二进制可直接运行
- 启动脚本会优先运行 `dist/superbed-uploader.bin`,没有二进制时回退到 Python
## 依赖
- 运行时:
- `wl-paste` / `wl-copy`Wayland推荐
-`xclip` / `xsel`X11
- 开发/构建时:
- Python 3
- `uv`
- `PySide6`
- `requests`
- `Nuitka`
说明:这套方案面向**桌面 Linux**。没有图形界面或没有剪贴板工具的服务器环境不适用。
## Token 配置
程序读取:
```bash
/home/droid/.config/superbed-upload.env
```
内容:
```bash
SUPERBED_TOKEN=你的token
```
也可以参考仓库里的:
```bash
.env.example
```
## 初始化开发环境
```bash
cd /home/droid/project/manjaro_kde_upload_tools
./setup-venv.sh
```
## 直接运行 Python 版
```bash
cd /home/droid/project/manjaro_kde_upload_tools
./.venv/bin/python superbed_qt_uploader.py
```
## 测试 toast
成功 toast
```bash
./superbed-upload.sh --test-toast-success
```
失败 toast
```bash
./superbed-upload.sh --test-toast-fail
```
## 手工测试
```bash
~/project/manjaro_kde_upload_tools/superbed-upload.sh
```
或者直接运行二进制:
```bash
~/project/manjaro_kde_upload_tools/dist/superbed-uploader.bin
```
## KDE 6 快捷键
在 KDE 系统设置中把下面命令绑定到 `Alt+U`
```bash
/home/droid/project/manjaro_kde_upload_tools/superbed-upload.sh
```
## 构建单文件二进制
```bash
cd /home/droid/project/manjaro_kde_upload_tools
./build-nuitka.sh
```
成功后得到:
```bash
/home/droid/project/manjaro_kde_upload_tools/dist/superbed-uploader.bin
```
此后 `superbed-upload.sh` 会优先调用这个二进制。