# LightBox **Repository Path**: gathon/lightbox ## Basic Information - **Project Name**: LightBox - **Description**: Windows 桌面图标整理工具,收纳盒模式,任务栏胶囊模式 · 单文件绿色版 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-10-26 - **Last Updated**: 2026-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
|
|
|
| :---: | :---: | :---: |
| 收纳盒模式、右键菜单 | 任务栏胶囊模式、弹出面板 | 全局设置 |
## 功能
### 桌面收纳盒模式
- **拖进去就收纳** —— 从桌面把 `.lnk` / `.url` 快捷方式拖到盒子上,**移动**进 `boxes\{盒子id}\`,桌面立刻清爽
- **点开即用** —— 面板里单击启动程序;右键单个图标可「打开文件所在位置」「属性」「放回桌面」「从盒子移除」
- **面板内拖动排序** —— 安卓桌面那种:拖起来的那一格跟手浮起,被经过的格子依次让位,松手后顺序记进配置
- **框选与多选** —— 面板空白处按住拖出矩形即可框选;`Ctrl` + 单击加选/取消选,`Ctrl` + 框选追加,
`Ctrl` + `A` 全选。选中后右键可对整批操作(打开全部 / 放回桌面 / 从盒子移除),也可以整批拖出面板
- **拖出到桌面** —— 按住图标拖出面板,走系统原生 OLE 拖拽,可以落到桌面或任意资源管理器窗口;
多选后拖其中任意一个,**整批**一起出去
- **完全透明** —— 盒子没有底板,只有图标和名字,直接压在壁纸和桌面图标上;拖动时也实时透出。
窗口只裁圆角,圆角以外的点击直接落到桌面(点得到下面的图标)
- **多盒子** —— 托盘菜单「新建收纳盒」,自动避开已有盒子、不出屏
- **首启两个空盒** —— 第一次运行时自动建「系统工具」「办公工具」,摆在任务栏上方居中,不挡任务栏
- **自动贴合** —— 盒子之间靠近时自动吸附,靠近屏幕边缘、任务栏边缘时也会贴边停靠;**绝不互相覆盖**
### 任务栏胶囊模式
- **嵌进任务栏** —— 右键「嵌入任务栏」;或者把盒子拖到任务栏上**覆盖过半、停住 0.3 秒**,
不用松手就自动嵌入任务栏
- **排到队尾** —— 从菜单嵌入时,新胶囊自动排到现有胶囊的**最后**;队尾放不下就移到最前面。
横向范围一律以托盘区左沿为界,**绝不遮住托盘图标、输入法和时钟**(拖过去的位置仍然听你的)
- **两个汉字或纯图标** —— 默认显示「系统」这样的两个字;设置里打开「嵌入任务栏时隐藏名称」后只剩正方形图标
- **自动贴合** —— 胶囊之间靠近时自动吸附,**绝不覆盖别的任务栏图标**;压到别人身上会挪到离自己最近的空位
- **移出任务栏**直接鼠标拖出到桌面,或者右键「移出任务栏」
### 胶囊团
几个盒子排在一起时可以触发胶囊团模式,此时**当成一个整体**用。
- **怎么组** —— 右键其中任意一个 →「组合为胶囊团」。菜单项只在**旁边有盒子挨着**的时候出现(单个孤立的盒子不显示)
- **组了之后** —— 拖动任意一个成员,整团一起跟手移动;拖到任务栏就是整排胶囊,拖回桌面就是整排盒子
- **嵌入任务栏** —— 团里任意成员右键「整团嵌入任务栏 / 整团移出任务栏」,整排一起移入或移出任务栏
- **解散** —— 右键任意成员 →「解散胶囊团」,立刻恢复成各自独立的盒子(位置、顺序都不变)
> 组合只是「记下了这几个盒子属于同一团」,不复制任何文件,也不影响盒子里面的图标。
> 团里的盒子仍然可以单独点开、单独收纳——整团只作用于**拖动**和**进出任务栏**。
### 外观
- **背景色自定义** —— 「收纳盒」和「弹出窗口」两个色块各自独立,内置取色器:
20 个常用色 → 饱和/明度方块 → 色相条 → hex 输入 → **吸管**(可以在屏幕任意位置点取颜色)。
注意:桌面上的盒子是**真透明**、没有底板,这个颜色只作用于**任务栏胶囊**和弹出面板
- **名字跟着壁纸走** —— 桌面盒子的名字不看背景色,而是看**盒子周围壁纸的亮度**:
深色壁纸白字 + 深色阴影,浅色壁纸黑字 + 白色阴影(和 Windows 桌面图标同一套画法)。
换壁纸、拖到明暗不同的区域后 1.5 秒内跟上,亮度卡在临界值时带滞回,不会来回闪
- **字色自动跟随** —— 弹出面板按背景色的 WCAG 相对亮度自动选深字还是白字,并推导出次要文字、分隔线、
强调色。背景调成什么颜色都不会出现字和背景撞色
- **透明度 / 毛玻璃 / 圆角** 三个开关,改完立刻生效,没有「保存」按钮
- **自定义盒子图标** —— 右键「设置图标…」选一个 `.ico`,设过之后菜单多出「恢复默认图标」
- **跟随系统缩放** —— 100% / 125% / 150% 都按逻辑像素计算;双屏混合缩放下尺寸和位置也准
### 程序行为
- **系统托盘菜单** —— 新建收纳盒 / 自动排序 / 设置… / 退出
- **自动排序** —— 所有盒子复位到工作区底部居中一排,互不重叠、不被任务栏遮挡
- **盒子窗口自愈** —— 盒子挂在桌面进程下面,`explorer.exe` 重启会把它们一起销毁。
自愈线程每 3 秒核对一遍,缺的按配置补建出来,顺手把同一个盒子多出来的重复窗口清掉
- **单实例** —— 重复双击不会叠出第二套盒子
- **开机自启** —— 写一条 `HKCU\Software\Microsoft\Windows\CurrentVersion\Run`,开关在设置里
- **更新提醒不弹窗** —— 程序启动时静默去 Gitee 仓库读一次 `version.json`;有新版本只在**设置页左下角的版本号**处显示红色提醒,
你看到了再点。绝不主动开窗、不抢焦点
- **快捷方式正确启动** —— 先解析 `.lnk` 拿到「目标 + 参数 + 工作目录」再拉起程序,并滤掉
`ELECTRON_*` / `NODE_OPTIONS` 这类会被子进程继承、导致 Electron 应用秒退的环境变量
## 系统要求
| 项 | 要求 |
| --- | --- |
| 系统 | Windows 10 64 位 |
| 运行时 | WebView2(近几年的 Win10 已自带;极老的 Win10 需装一次) |
| 权限 | 不需要管理员权限 |
| 磁盘 | 约 4 MB,加你自己的快捷方式 |
## 使用
1. 从 [Releases](https://gitee.com/gathon/lightbox/releases) 下载 `lightbox.exe`,放到一个**固定的文件夹**里
(比如 `D:\LightBox`),双击运行。不要放在「下载」目录里,清理下载文件夹会把它一起删掉
2. 第一次运行,桌面会出现两个空盒子:「系统工具」「办公工具」
3. 从桌面把快捷方式拖到盒子上 —— 图标会消失,因为文件已经**移动**进盒子里了
4. 点一下盒子弹出面板,单击图标启动程序;再点一次这个盒子(或者按 `Esc`)收起面板
5. **右键盒子**可以:新建收纳盒 / 重命名 / 设置图标 / 恢复默认图标 / 置顶 / 嵌入任务栏 /
组合为胶囊团 / 设置… / 删除收纳盒 / 退出
6. **托盘图标**右键:新建收纳盒 / 自动排序 / 设置… / 退出
> 删除盒子前会检查是否为空。盒子里还有东西时菜单项是灰的 —— 想把图标全倒回桌面,
> 用面板右上「⋯」里的**解散收纳盒**。
## 数据与备份
程序读写的文件都在 **exe 同一个目录**(exe 放在没有写权限的位置时,自动退回 `%LOCALAPPDATA%\LightBox`,
设置页的「存储位置」显示的就是实际在用的那个目录):
| 文件 | 内容 | 要备份吗 |
| --- | --- | :---: |
| `config.json` | 盒子列表、位置、顺序、外观设置 | **要** |
| `boxes\{盒子id}\*.lnk` | 盒子里实际收纳的快捷方式文件 | **要** |
| `config.backup.json` | 每次启动时的配置快照,误操作后可以拿回来 | 可选 |
| `update.json` | 更新检查的时间戳,删掉等于重置 | 不用 |
**换机器或重装**:把 `config.json` 和 `boxes` 目录一起拷过去即可,盒子布局和里面的图标都在。
只拷 `config.json` 会得到一堆空盒子。
**升级版本**:下载新的 `lightbox.exe` 覆盖旧的就行,配置文件不会被改动。
建议先退出托盘里的 LightBox 再覆盖。
## 构建
要求:Windows 10/11 x64、**Node 18+**、**Rust 1.77+(MSVC 工具链)**、WebView2 运行时。
```bash
git clone https://gitee.com/gathon/lightbox.git # 国内访问更快
# 镜像:git clone https://github.com/gzswood/lightbox.git
cd lightbox
npm install
npm run build:exe
```
产物:`src-tauri/target/release/lightbox.exe`(单文件,直接可用)。
开发模式(前端热更新):
```bash
npm run app:dev
```
> ⚠️ 手工调 `cargo build` 时**必须带 `--features custom-protocol`**。tauri 判断「开发构建 / 正式构建」
> 看的是这个 feature,不是 cargo 的 debug/release —— 漏掉它,连 `--release` 出来的 exe 也会去
> 加载 `http://localhost:1420`,没有 vite 在跑时窗口里就是「localhost 拒绝连接」。
> `npm run build:exe` 已经帮你带上了。
发布流程(打 tag + 传安装包到 Gitee 发行版)见 [`tools/release-gitee.sh`](tools/release-gitee.sh)。
## 常见问题
作者:Gathon
微信:gzswood
微信公众号:爱学习的xcoder