cleanyourtv-app
A community-built phone app for Clean Your TV: clean up an Android TV from your phone. No laptop, no coding agent, nothing uninstalled.
手指走多少,画面走多少;停住就停住,往回滑就倒退,松手才决定去留。
Translation pending
OtherC# · HTMLGitHub @LiamZhaoforOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Windows 跟手式调度中心 — 三指上滑 1:1 跟手的任务视图替代(macOS Mission Control 体验,Precision Touchpad + DWM Thumbnail)
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗简体中文 · English
让 Windows 触摸板手势真正跟手:手指走多少,画面走多少;停住就停住,反向就倒退,松手才决定去留。
官网与使用教程:https://liamzhaofor.github.io/GlideShell/ · 下载最新版
Windows 原生的多指手势大多是「识别到手势 → 播放一段固定动画」。GlideShell 直接读取精确式触摸板(PTP)的原始触点,用自己的合成界面重做多任务交互,体验对标 macOS 调度中心:
从 Releases 下载 GlideShell-2.1.0-win-x64.zip,解压后双击 Install.cmd。
%LOCALAPPDATA%\Programs\GlideShell,并添加开始菜单与开机启动,不需要管理员权限。uninstall.ps1 -Purge。升级:有新版本时托盘会提示,点「升级」就自动下载、核对 SHA-256、安装并重新启动,设置会保留(也可以 GlideShell.exe --upgrade)。手动重装也行:运行中的 GlideShell 会先正常退出,再被替换。
运行后常驻在任务栏通知区域。GlideShell 只接管它实现了的那几个系统手势,其余手势照旧由 Windows 处理。
| 手势 | 默认 | 开启「三指拖移」后 |
|---|---|---|
| 三指上 / 下滑 | 上滑总览、下滑应用窗口视图(跟手展开,反向收起) | 拖移 |
| 三指左 / 右滑 | 切换窗口 | 拖移 |
| 四指上 / 下滑 | 下滑显示桌面;上滑拉回窗口(桌面没显示时打开总览) | 总览 |
| 四指左 / 右滑 | 切换虚拟桌面 | 切换虚拟桌面 |
| 三指轻点 | 鼠标中键 | 鼠标中键 |
总览里
其他入口
托盘菜单
设置窗口(托盘菜单「设置…」,或再次启动 GlideShell)
进阶
%APPDATA%\GlideShell\config.json(可带注释,保存即生效)。弹簧参数等不常用的选项也在这里,逐项说明见 docs/CONFIG.md。%LOCALAPPDATA%\GlideShell\logs\glideshell.log。GlideShell.exe --diagnostics 也能生成。异常退出后下次启动会提示一次。GlideShell.exe --restore-native。GlideShell.exe --quit 可以让运行中的实例正常退出。测试机:Radeon 780M、2560×1600、150% 缩放、165Hz;外接 2560×1440、125%、200Hz。
| 项目 | 数值 |
|---|---|
| 程序大小 | 约 5.6MB(NativeAOT) |
| 常驻内存 | 私有内存刚启动约 16MB,用过总览和设置后约 20–30MB(Direct2D / DirectWrite 与程序图标缓存) |
| 总览 / 切桌面 / 切换窗口帧间隔 | P50 6.1ms / P95 6.2ms(跟满 165Hz) |
| 晚到帧(少取样一帧) | 0 / 7387 帧(200Hz,四种模拟手势各 5 次;60Hz、60Hz + 200Hz 双屏混合也是 0,见 ROADMAP 9.2) |
| 输入到上屏 | 约 1 帧(按合成器时钟晚取样) |
| 再次打开总览的预热 | 约 3–6ms |
输入线程 Raw Input 读 PTP 原始触点(零分配解析,坐标换算成毫米,时间用硬件 ScanTime)
↓
纯逻辑 手势识别(只有抬指才决定)→ 手势映射与排除 → 总览 / 切换窗口 / 切桌面控制器 → 物理(速度、落点、弹簧)
↓
渲染线程 按显示器刷新取样,驱动 DirectComposition + DWM 实时缩略图
设计、各阶段的实测结论和后续路线见 docs/ROADMAP.md。
需要 .NET 10 SDK。
dotnet build GlideShell.slnx
dotnet test GlideShell.slnx
pwsh build\publish.ps1 # 自包含单文件 → artifacts\publish\win-x64\GlideShell.exe
pwsh build\publish.ps1 -Aot # NativeAOT(需要 Visual Studio「使用 C++ 的桌面开发」)
pwsh build\package.ps1 -Aot # 发布包 → artifacts\GlideShell-<版本>-win-x64.zip
pwsh build\install.ps1 # 安装到本机(没有发布产物时会先发布)
UIAccess 版:覆盖层能盖住开始菜单等系统界面,切换前台也更可靠。它使用本机自签名证书,只对这台电脑有效。
pwsh build\publish.ps1 -Aot -UIAccess # 首次会弹 UAC,信任本机证书
pwsh build\install.ps1 -UIAccess # 装到 %ProgramFiles%\GlideShell;只有复制这一步需要管理员权限
不碰触摸板,用合成手势演示:
dotnet run --project src\GlideShell -- --simulate overview # 还有 switch / desktop-right / desktop-left 等
tools/PtpProbedotnet run --project tools\PtpProbe # 触摸板报告描述符(触点槽数、物理尺寸等)
dotnet run --project tools\PtpProbe -- live # 实时打印手势识别结果
dotnet run --project tools\PtpProbe -- record # 按场景录制输入轨迹
dotnet run --project tools\PtpProbe -- calibrate <轨迹目录> # 由轨迹给出识别参数建议并回放验证
dotnet run --project tools\PtpProbe -- windows # 总览会收录哪些窗口
dotnet run --project tools\PtpProbe -- native # 系统手势:注册表值与 Explorer 生效值对照
dotnet run --project tools\PtpProbe -- desktops # 虚拟桌面接口自检
dotnet run --project tools\PtpProbe -- thumbnails # 缩略图后端自检
dotnet run --project tools\PtpProbe -- thumbnails --shadow # 自画阴影与系统真实阴影逐点对照
src/
GlideShell.Core/ 纯逻辑:手势识别、映射、物理、布局、交互控制器(不调用 Windows API,可回放测试)
GlideShell.Platform/ Windows 实现:Raw Input、DWM、DirectComposition、虚拟桌面、系统手势接管
GlideShell/ 常驻程序:托盘、设置窗口、线程编排、配置
tests/GlideShell.Tests/ 单元测试、真机轨迹回放测试、架构守卫测试
tools/PtpProbe/ 诊断探针
build/ 发布、打包、安装、证书脚本
docs/ 路线图、配置说明、技术验证记录
legacy/ 旧原型 MissionFlow(只读参考,tag missionflow-final)
MIT © LiamZhaofor。所含第三方 MIT 代码保留其原始版权声明。