[App Sharing] 给 Linux 的"保存对话框路径快跳"小工具(仿 Listary)
Tofloor
poster avatar
Deepin-12356
deepin
2026-10-17 11:46
Author

SaveJump—— 给 Linux 的"保存对话框路径快跳"小工具(仿 Listary)

在 WPS、LibreOffice、浏览器下载、微信等任何应用的"保存/另存为"对话框里,按下快捷键呼出一个搜索框,输入文件夹或文件名的关键字,回车即可瞬间把对话框定位到那个路径——不用再一层层点目录树。

  • 代码纯豆包生成
  • 适用:deepin 23/25(X11 会话)、银河麒麟 V10 SP1、以及其它 X11 桌面
  • 特性:全局快捷键呼出 / 文件+文件夹搜索 / 多关键字 / 移动盘自动索引 / 可视化设置
  • 纯本地运行,不联网、不上传任何数据,无需 root

它解决什么问题

Linux 的保存对话框(GTK 文件选择器)在路径很深、目录很多时,要靠鼠标一层层点进去。SaveJump 让保存文件回到"键盘流":

按快捷键 → 输入关键字(如"毕业论文")→ 回车
保存对话框立即跳到 /home/xxx/Documents/毕业论文/

找到的是文件夹就直接跳文件夹;找到的是文件就跳它所在的文件夹(方便把新文件存到老文件旁边)。

仅在保存文件时使用,不能代替搜索进行搜索

特性

  • 全局呼出:任意应用里按快捷键弹出搜索框,回车后自动把焦点还给保存对话框
  • 同时搜文件夹和文件,文件落位到其所在目录
  • 多关键字搜索:空格分隔多个词,全部命中才显示(如"论文 2025")
  • SQLite 增量索引:只写增删差集,无变化不写盘;索引默认在启动时和每次呼出时刷新(不再后台定时扫盘,省资源;想要定时重扫可在设置里改间隔)
  • 移动盘/挂载盘自动索引:插入/挂载移动硬盘自动建索引,拔出/卸载自动删除该盘索引(设置里可关)
  • 可视化设置界面:托盘 → 设置,所有配置项图形化修改,保存后自动生效
  • 自动跳转:路径先写剪贴板 → Ctrl+L 调出地址栏 → Ctrl+A/Ctrl+V/回车,自动完成
  • 托盘常驻:呼出搜索 / 重建索引 / 设置 / 退出
  • 无日志、无联网、纯本地:索引只记录文件名/路径字符串,不读文件内容
  • 安装规范:全部装在用户目录(~/.local/share/savejump/),不需要 root,不污染系统目录

环境要求

项目 要求
系统 deepin 23/25、银河麒麟 V10 SP1、其它 Linux X11 桌面
会话 仅支持 X11。deepin25 登录界面请选 X11,不要选 Treeland/Wayland
依赖 python3-pyqt6(或 pyqt5)、xdotool、xclip、python3-pyperclip(安装脚本自动装)

安装

解压 savejump_v1.0.zip 后,在目录里执行:

chmod +x install.sh
./install.sh

脚本自动完成:清理旧版本(你们没有,但我懒得改,反正也不报错) → 检查/安装依赖 → 安装程序文件 → 设置开机自启 → 后台启动。

安装后启动器里只有一个图标 「SaveJump 快速呼出」(主程序静默自启,不占图标、桌面无图标)。

使用

  1. 手动设置全局快捷键:系统设置 → 自定义快捷键 → 新建 → 命令选择
    ~/.local/share/applications/savejump-toggle.desktop(「~/.local/share/applications/SaveJump 快速呼出」),
    例如设为 Super+Z 或 Alt+Q。
  2. 打开任意应用的"保存/另存为"对话框。
  3. 按快捷键呼出搜索框,输入关键字。
  4. 方向键选择结果,回车跳转,搜索框自动隐藏;Esc 关闭搜索框不跳转。

技巧:

  • 多关键字用空格分隔(AND 关系);
  • 搜文件时跳转的是文件所在文件夹;
  • 移动盘插入后,盘内文件自动可搜,搜盘名可直接跳盘根。

设置(托盘 → 设置)

设置项 说明
排除目录 每行一个完整路径,这些目录不被索引
文件索引上限 100~500000,默认 60000
文件索引深度 1~20 层,默认 4
目录索引深度 1~30 层,默认 6
移动盘/挂载盘索引 启用开关 + 自动跟随挂载/卸载(联动置灰)
后台重扫间隔 0=仅启动和呼出时扫描(默认);>0=按秒后台定时重扫

已知问题 / 限制(重要)

  1. 部分Qt 应用的保存对话框不响应 Ctrl+L,无法自动定位地址栏——这是对话框自身限制(GTK 对话框稳定可用:LibreOffice、浏览器下载、GIMP 等实测流畅)。但是,deepin25系统.deb版wps亲测可用(其保存对话框也不响应 Ctrl+L)。
  2. 仅支持 X11 会话。Wayland/Treeland 下窗口暂时无法置顶,本工具不做适配。
  3. 索引有深度和条数上限(可调);挂载点识别基于 /media 与 /mnt 下的真实挂载。
  4. 跳转依赖 xdotool 模拟按键,个别反作弊类窗口可能拦截。

隐私说明

  • 完全本地运行,不联网、不上传任何文件、路径或统计信息;
  • 写盘操作仅三类:程序文件(安装时)、索引数据库(~/.config/savejump/index.db,只存路径字符串)、配置文件;
  • 本地通信仅用 /tmp/savejump.sock(同机单用户);首次运行若缺 python3-pyperclip 会尝试静默自动安装(无 sudo 权限则跳过,自动回退 xclip)。

卸载 / 清理

bash uninstall.sh      # 标准卸载(含旧版目录与图标)
bash clean_legacy.sh   # 旧版残留强化清理(处理"权限不足删不掉"的系统级图标)

版本

  • V1.0:功能稳定版。历经纯 X11 回归、图标精简、可视化设置、移动盘自动索引等迭代后定版。

    应用截图:
    截图_savejump.py_20261017111403.png

    下图右下角为呼出的搜索框
    截图_选择区域_20261017114010.png

    下载:SaveJump.zip

Reply Favorite View the author
All Replies
avatar
Deepin-12356
deepin
18 hours ago
#1

V1.1修改:

  1. 新增/media及/mnt白名单,避免第二硬盘挂载在这些挂载点下时反复增删索引(加入白名单后不受取消启用/media与/mnt索引影响)。
  2. 修复搜索结果显示不全的问题。
  3. 修复部分搜索结果不含关键字的问题。
  4. 搜索列表不同类型图标(但辨识度仍不足)。
  5. 优化路径插入速度并提升高压环境稳定性。
  6. 改名为“存到哪”,所以如之前有安装,建议先通过之前版本的uninstall.sh卸载再安装本版本。

截图:

截图_savejump.py_20261018120738.png

(这个仍然只是是保存文件时用的,我未截图保存对话框)

设置.png

压缩包:savejump_v1.1.zip

Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
6 hours ago
#2

天才!

Reply View the author