桌面悬浮待办 · 粘贴即添加
一个 45×45 的悬浮球,藏着一整座高效。
粘贴多行清单 → Ctrl/Cmd+Enter 一键拆分 → 勾选即完成。
始终悬浮在你桌面上——哪怕是在全屏应用之上,随用随点,零打扰。
一球一板 · 一贴即办
45×45 圆形窗口,屏幕右侧随手位置;可自由拖拽到屏幕任意位置,边界自动 clamp。
340×500 半透明待办面板,紧贴悬浮球左侧/右侧;透明沉浸,不遮挡视线。
setAlwaysOnTop(true,'screen-saver') + visibleOnFullScreen,全屏应用下也丝滑悬浮。
frame:false + transparent:true,CSS 渐变实现毛玻璃效果;面板透明度 20%~100% 可调。
右键悬浮球开启,待办项拖拽调整顺序,带平滑占位动画。
鼠标悬停待办项显示复制按钮,点击立即进入系统剪贴板。
showInactive() 打开面板不抢焦点,不触发 macOS 全屏空间切换。
基于 electronmon 的热重载,JS/HTML/CSS 文件改动自动生效。
三步 · 粘贴即办
把微信、网页、邮件里复制过来的多行清单直接粘贴进文本框,支持带序号、破折号、项目符号的文本。
一键将所有行解析为待办项,自动去除行首序号 1./1)/-/•,干净清爽。
点击圆形复选框立刻划线变灰;一键清空所有已完成;随时在底部再追加一条。
主进程统一调度 · 两个 BrowserWindow · IPC 白名单通信
45×45
圆形悬浮球
始终显示
340×500
半透明面板
按需展开
Electron 原生双窗口架构 · 零前端依赖
同一进程两个 BrowserWindow:ballWin 悬浮球 + panelWin 待办面板,主进程统一调度 show/hide/bounds。
frame:false + transparent:true + backgroundColor:'#00000000',CSS 渐变实现悬浮球与毛玻璃面板。
窗口 body pointer-events:none,仅圆形元素 pointer-events:auto;严格 45×45 对齐,杜绝透明边框遮挡。
contextBridge 白名单暴露 11 个 API,nodeIntegration:false,fs 操作主进程 try/catch 兜底。
两个窗口均 setAlwaysOnTop(true,'screen-saver') + visibleOnAllWorkspaces,全屏应用下也丝滑悬浮。
todos.json + settings.json 存于 app.getPath('userData'),关闭重启不丢失;零前端依赖。
contextBridge.exposeInMainWorld('todoAPI', { getTodos, savetodos, togglePanel, moveBall… }) — 安全可控。
用 showInactive() 代替 show()+focus(),打开面板不抢焦点,不触发 macOS 全屏空间切换。
主进程 · 渲染进程 · IPC
macOS 用户可直接下载 .dmg 体验 · 也可直接 clone 源码开发