112 lines
2.0 KiB
Markdown
112 lines
2.0 KiB
Markdown
# manjaro_kde_upload_tools
|
||
|
||
Manjaro Linux + KDE 6 下的剪贴板图片上传工具。
|
||
|
||
## 功能
|
||
|
||
- 读取当前剪贴板中的最新图片
|
||
- 上传到聚合图床 `https://api.superbed.cn/upload`
|
||
- 成功后把返回链接改写成 Markdown:``
|
||
- 自动写回剪贴板
|
||
- 用 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` 会优先调用这个二进制。
|