Skip to content

Releases: qpst4/XGesture

v1.33.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 09:54

新增

  • 新增智能截图手势:选区裁剪(矩形 / 椭圆 / 1:1)、内置画笔标注与撤销,支持保存相册、复制、分享、原位 1:1 钉图与取词 OCR
  • 新增截图防残影:触发时压制全部浮层并隐藏手势动画指示器
  • 新增边角轮盘「显示快捷编辑按钮」开关,可隐藏轮盘外侧的编辑入口
  • 新增圆环启动器设置页:横 / 竖轴分别配置圈数、半径、工具栏与图标形状,支持两轴外观 / 槽位联动,并可调起悬浮窗就地编辑
  • 新增圆环启动器「显示操作工具栏」开关

变更

  • 调整自由窗口适配:自由窗口 3 更名为「HarmonyOS / MagicOS」并支持华为鸿蒙自由窗口;OriginOS 改用分享代理启动;小米设备标准模式按屏幕方向补偿窗口尺寸
  • 将屏幕翻译动作标注为实验性(需先安装翻译引擎与语言模型)
  • 移除单击 / 双击槽位的「触发模式」选项(两类固定为松手触发)

修复

  • 修复侧边默认设为「即时触发」时双击手势无效
  • 修复快捷启动器拖拽换位被误判为建文件夹(合并悬停时长改为 900ms)
  • 修复智能截图的复制与分享失败

v1.32.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 04:18

修复

  • 剪贴板白名单:白名单中的应用此前无法在后台读取剪贴板——模块侧生效名单始终停留在仅含本应用的旧状态;现随设置变更同步下发,重启或覆盖安装后不再回退
  • 暂存夹 / 扩展 tab 的剪贴板状态:LSPosed 模式下曾被误判为「监听未就绪」(判定错误地依赖 Shizuku 授权);现按实际运行的通道显示,两个入口结果一致
  • LSPosed 接管:手指抬起/取消时模块发来的「会话结束」不再被当作「取消手势」——此前快速启动器这类驻留面板刚打开就会被拆掉(表现为「松手触发弹不出来」);真丢 UP/CANCEL 时由 10 秒看门狗兜底
  • 接管开关:切换后一度只有两三秒生效、随后回落到系统手势——模块侧不再被机器上遗留的旧配置顶掉
  • 悬浮球 / 双贴边线条接管:球线换位、拖动、切换线条后接管区域立即重新下发;此前不重发,且球的新位置恰好落在两侧触钮手柄之间的空隙(无矩形覆盖),表现为只出系统返回手势

新增

  • 诊断:LSPosed 状态行新增「模块白名单已同步:N 个包(本地 M 个)」,数量不一致时提示「白名单未同步」
  • 诊断:新增边缘与接管链路的环形缓冲埋点及「扩展 → 诊断与日志」一键导出,报告中包含包名、进程、无障碍/宿主/接管状态与关键埋点

变更

  • Weblate:修正 weblate.yml 中项目 slug 注释的笔误(仅配置注释,不影响翻译流程)

v1.31.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 09:11

[1.31.0] - 2026-09-30

Added

  • 小窗尺寸与位置可横竖屏分开配置:原先只有一套比例,现在竖屏、横屏各存一套(新增 free_window_land_* 偏好键,横屏默认 68% × 40%,竖屏维持原默认 80% × 55%),运行时按当前显示方向取用,横屏不再沿用竖屏比例;老用户原来的竖屏参数原样保留,横屏走自己的一套默认值
  • 小窗尺寸编辑改为全屏蒙层:挂在 App 根部的半透明全屏编辑层,顶部「竖屏 / 横屏」分段切换;拖动窗口改位置、拖右下角手柄改尺寸(宽 35%–95%、高 35%–90%、左 / 上 0–65%,越界自动收进屏幕内),窗口中央实时显示当前百分比;切到横屏标签会把宿主 Activity 真的转到横屏,画布就是该方向的真实屏幕;点「完成预览并保存」一次性写回两套参数。此前的独立「小窗预览」导航页已移除,设置页入口改为直接拉起该蒙层
  • 横竖屏尺寸摘要:设置页「调节小窗尺寸与位置」一行的副标题改为「竖屏 %d%% × %d%% · 横屏 %d%% × %d%%」,不进编辑层也能看到两套当前值

Changed

  • 编辑期间冻结外壳布局:小窗编辑层打开时,导航壳不再随宽度断点在底栏 / 侧栏之间切换,避免转屏时整壳重建导致编辑状态丢失;关闭编辑层后方向才延迟还原(延迟 300ms,期间重新打开会取消还原),编辑层的「竖屏 / 横屏」标签也缩短为单词以便单行显示
  • 快捷启动器添加流程支持指定文件夹:在文件夹内点「+」时,添加的条目直接写进该文件夹(App、快捷方式、Shell 命令、打开链接、模拟按键、应用内直达等各选择页都会带上当前层级),添加页在文件夹内不再显示「新建文件夹」(文件夹只有一层,不允许嵌套)
  • 设置页预览网格按真实配置解析图标:预览改用真实的 Shell 命令与应用内直达列表,不再退化成通用矢量图标,图标角标也与运行时一致;同时删掉预览里没人消费的那套位图解析流程,图标只走单一管道
  • 日文与阿拉伯文各补 96 / 129 条翻译:覆盖设置里的语言标签、自动填充失败原因、搜索卡片标题、翻译目标语言名,以及剪贴板后台监控与 LSPosed 白名单 / 诊断状态文案
  • 关于页链接清理:移除 Telegram 发版频道入口(@cebian_channel),Weblate 链接与徽章地址由 cebian 改为 XGesture,Telegram 讨论群与 QQ 群入口保持不变;文档同步修正 Weblate 项目 slug 与 docs/ui-guidelines.md 标题里遗留的旧名

Fixed

  • 快捷启动器可进入文件夹编辑:编辑面板时点文件夹即原地进入子层级,顶部出现返回箭头与文件夹名,可删除、拖拽换位、翻页,也能重命名或解散(解散后子项按原顺序摊回面板);文件夹内禁用拖拽合并,避免嵌套子项被静默丢弃;面板被改写导致索引失效时自动回退到根层级
  • 触钮横屏方向锁改为计数式释放:集合页与各子页分别登记在场数量,只有离开整个触钮编辑流时才延迟释放方向锁,手势返回 / 系统返回这类不走回调的退出路径也能正确还原,转屏或外壳换布局引起的销毁重建不再误释放
  • 仅手动指定横屏时才锁方向:系统自动旋转进入横屏不再下发 SENSOR_LANDSCAPE,此前被锁死后转回竖屏仍停留在横屏触钮布局
  • 阿拉伯文补全与复数修正:补上缺失的搜索面板历史条数复数(此前直接回退英文)

v1.30.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 16:41

[1.30.0] - 2026-09-30

⚠️ Breaking

  • 外部协议改名:调起协议由 cebian:// 换成 xgesture://,旧 scheme 不再注册、不再解析。用 Tasker / MacroDroid 等按 deeplink 唤起面板的自动化,需要把链接前缀改成 xgesture://;host、路径与 ?q= 参数完全不变。走 Intent Action(com.slideindex.app.action.*)的自动化不受影响
  • 应用与仓库改名:边栏 / Cebian → X手势 / XGesture;仓库迁移到 github.com/qpst4/XGesture(旧地址仍重定向),Release 资产名由 cebian-<版本>-*.apk 改为 xgesture-<版本>-*.apk。应用包名 com.slideindex.app 保持不变,可直接覆盖安装、配置与数据保留
  • 用 Obtainium 自动更新的用户:需要在应用里把「APK 资产匹配规则」由 cebian-* 改成 xgesture-*;旧规则匹配不到时会静默停更(不报错),改用应用内更新的用户不受影响

Changed

  • 默认语言改为英语:values/ 由中文换成英语、中文迁至 values-zh/,因此没有对应翻译的语言现在回退到英语而不是中文;同时把英文补齐到与源 100% 对齐(新增 166 条英文串),并把 Weblate 的源语言从简体中文改为英语
  • 对外协议收敛为单一真源:新增 AppLinks(scheme / host / 路径 / 查询参数),原先散落在 4 个 Kotlin 常量、4 处 Manifest 与多语言 UI 文案里的字面量收敛为单点;解析入口统一走 AppLinks.isAppLink(),避免「改了一侧、漏改另一侧」这类不崩溃也不报错的静默故障
  • 快捷方式随新协议迁移:LauncherShortcutsApplier 在 setDynamicShortcuts 之后补调一次 updateShortcuts,让用户已固定到桌面的快捷方式一并迁移,避免旧的「剪贴板」快捷方式落到收纳夹
  • 全量品牌词替换:中文 边栏 → X手势、英文/日文 Cebian → XGesture、阿拉伯语改用拉丁品牌 XGesture;无障碍服务名保留 #…👈 的排序前缀。通用词「侧边栏」与已持久化的 cebianshell: 协议前缀保持不变

v1.25.5

Choose a tag to compare

@github-actions github-actions released this 28 Sep 11:54

[1.25.5] - 2026-09-28

Changed

  • 架构:交互面由 :overlay / :clipboard 多进程回退为单进程——无障碍服务、触钮/悬浮球/边角轮盘、全部浮层窗口(含小组件宿主与实时预览)、剪贴板监听、录屏截屏、模块桥、媒体监听全部合并回主进程,只保留 :engine 做 OCR/翻译的内存隔离;AppProcess 去掉 isOverlay/isClipboardMonitor/isOther,清理 8 处恒真恒假分支、Shizuku binder 死链路与 OverlayStatePort 空桩
  • 设置页浮层预览:由 Intent + startService 改为同进程静态直连,删掉 11 个 ACTION_PREVIEW_* 与约 40 个 extra 常量及 onStartCommand 分发
  • 经典底栏:毛玻璃着色改用容器色(surfaceContainer 50%)并加 0.08 细噪点抑制色带,默认模糊半径 24dp → 16dp(仅影响新装与恢复默认),修掉浅色主题下比页面背景还暗的灰蒙带
  • 添加搜索引擎:sheet 改走 Miuix 列表规范(settingsCardItems + SettingNavigationRow),消除外层 Card 与行内 inset 叠加出来的双重水平内边距
  • 性能:jieba 词典由「每节点一个 unordered_map」换成紧凑双数组 trie,并取消启动期预热、改首次分词时懒加载(实测 native 堆 301 → 202 MB);交互浮层空闲时不再逐帧重绘(此前退到后台无人操作 40 秒仍渲染约 1200 帧、主线程与 RenderThread 各占 7.4%);启动图标缓存改按字节限容(24 MB + 16 MB)并把图标栅格化到 ≤192px(BitmapDrawable 256 张/81 MB → 87 张/28 MB);悬浮球 GIF 帧改按 (uri, 目标尺寸) 共享解码结果 + 引用计数(GIF 帧 1297 → 55 张,进程位图 263 → 138 MB)

Fixed

  • 引擎包:尊重用户删除——packsRoot 下新增 <packId>.user-removed 标记,用户显式删包后不再被内置资产自动装回,取词自动回落到 ICU 分词;显式安装成功时清除标记
  • OCR:删除引擎包时真正作废已加载的会话(deleteOcrEngine 传入的是当前选中模型,被 invalidateIfModelChanged 判为「无需释放」,留下包已删、内存仍在用旧 PaddleOCR 会话的脏状态);新增挂起版 invalidateEngine() 无条件释放,且不再在主线程 runBlocking
  • 设置页预览:修复松手回弹与延迟回放——索引高度滑条改松手提交、提交值顶住到设置落盘再撤;悬浮球 Y 补合并守卫与待确认值
  • 浮层:行程范围预览改双层描边提升对比度;小组件面板删除单项不再整页重建

v1.25.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 16:19

[1.25.1] - 2026-09-28

Fixed

  • OCR:修 Android 17(targetSdk 37)上取词报「OCR 运行库未就绪」——引擎包解压后立刻把 native 库置为只读,否则 System.load() 会因「加载可写文件」(compat change THROW_ERROR_FOR_WRITABLE_DCL = 463348571)直接抛 UnsatisfiedLinkError;加载失败现在会把真实异常写进日志,不再只是一句「运行库未就绪」

v1.25.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 07:58

[1.25.0] - 2026-09-27

Added

  • 多进程:常驻交互切到 :overlay 进程(触钮/悬浮球/边角轮盘/浮层窗口/无障碍/录屏/截屏),OCR 推理搬入 :engine(AIDL + 本地回退),剪贴板监听拆 :clipboard 独立进程 + 常驻守护互拉;新增 AppProcess、CrossProcessStore、OverlayStatePort、TrampolineResultPort、OverlayHostLease、StuckGestureWatchdog 与进程边界测试
  • 验证码:页面重构为一页四入口(自动填充/提取/记录/规则/短信黑名单),新增规则推理、短信黑名单、提醒策略与分通道回执
  • 剪贴板:监听通道与采集方式拆分,恢复 LSPosed 白名单模式,进应用/开面板时补读最新一条
  • 悬浮球/触钮:触钮长度两端放开,悬浮球支持长按调节,钉文自适应
  • 圆环启动器:圆环槽位选「快速启动器」先挑面板,删面板时同步改写引用;从圆环/蜂窝/面板点开的条目让面板跟随当前侧

Changed

  • 小组件面板设置页:移除预览分区(跨进程后主进程拿不到 :overlay 的真实例),正式面板不受影响
  • 图片编辑器:独立任务栈,返回时回到原应用;跨进程传图
  • 打开方式:「每次都询问」改走系统弹窗,不再自画列表
  • 剪贴板监听状态:改单槽双写(推送 + 轮询),只保留订阅 + 主动要帧
  • 取词:拾取十字与指针手感参数从悬浮球页迁到取词页;布局与行为/拾取与手感合并为一张卡
  • 工具链:声明 WorkManager 编号范围并移除默认初始化器,清掉 lint error 级告警

Fixed

  • 无障碍:掉线自愈、掉线提示只发一次;覆盖安装先等系统重绑,失败才兜底,常驻服务提前拉起;覆盖安装后自动重绑
  • 悬浮层回归:收纳把手/实时通知/悬浮球消失、搜索面板幽灵窗口与「窗口在但永远不可见」、首帧校验重建、Shizuku binder 惰性获取避免连带杀进程
  • 圆环启动器:进外部编辑页瞬间不误恢复圆环,外部编辑页让位归还悬浮球、返回后跨进程恢复圆环 + 球 + 轮盘
  • 验证码:填充请求不再发空、卡住的「填充中」超时兜底、记录页强制读盘、注入改 ASYNC + 失败回退 Ctrl+V
  • 剪贴板:用户服务断连退避重绑、残留子进程清理、通道解析修「勾 Root 却按 Shizuku 跑」、抢焦点读取失败重试;修后台状态显示未在监听、键盘剪贴板小窗开关下发、LSPosed 白名单返回连退两级
  • 权限/杂项:TaskManagerUtil 每进程无条件初始化、Trampoline 结果改 token + 广播、文件锁按路径加进程内锁、跟随特权模式等 Shizuku 就绪再判

v1.23.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:31

[1.23.0] - 2026-09-24

Added

  • 搜索面板:面板改为分卡毛玻璃,引擎 Dock 独立成块;引擎 Dock 与搜索框改用真悬浮,不再随候选列表滚走
  • 无障碍:服务掉线时弹出可点通知,点一下直达系统无障碍设置;重连后自动撤回,同一次掉线只提示一次

Changed

  • 搜索面板:呼出时更早拉起输入法,过渡时长 320 → 140 毫秒
  • 无障碍:「辅助功能防被杀」补做真正的重绑抖动(此前只把「已开启」写回系统设置,条目本就在列表里等于白写),并加 60 秒节流避免打断系统还没完成的重绑

Fixed

  • 手势:修复点击穿透被幽灵触钮窗吞掉导致的失效与自持抽搐——触钮捕获窗同步时只清管理表却不摘窗口,留下仍可触摸的残窗,它吞掉穿透注入的那一拍(点击到不了下层应用)并再次触发同一个放行动作;同步路径改为真正摘窗,并在 applyToWindowManager=false 时保持管理表不动(否则 reattachCaptureWindows 无从回贴、触钮会消失)
  • 手势:点击穿透补上注入回声抑制,触钮与角轮盘也补上与边缘路径一致的输入层接管门闸
  • 剪贴板:拖拽镜像随投放回收,分享兜底不再依赖镜像(此前拖一次相册就多一张图)
  • 搜索面板:点击面板内空白退出、滑动候选列表自动收键盘;修复 lint IncorrectConstant,弹输入法改用平台常量

v1.20.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 02:49

[1.20.0] - 2026-09-23

Added

  • 手势屏蔽(LSPosed):可选在系统输入层接管边缘手势;快照 v2 支持 extra_rects,边角轮盘两角竖条/横条按「贴哪条边归哪个开关」下发;悬浮球与双贴边线条纳入同一套接管(停靠、自定义位置、键盘与横屏时重算矩形);三键导航下边角轮盘豁免
  • 手势:触钮新增「沿边首段」组合槽位——先上滑/下滑(顶底触钮为向左/向右滑)后再向内侧滑,以及先上滑/下滑后原路折返;与现有「内滑→上/下」「内滑折返」并列,短距/长距与折返各自可独立配置。斜滑与自然弧线不会被这些组合抢走(首段需明确落在沿边扇区、第二段需以向内为主)
  • 应用选择:应用内直达、按应用禁用、上一应用黑名单等「选应用」页面顶栏新增「显示系统应用」,候选集扩到带 Activity 的全量已安装包,可直达无启动器图标的系统应用(Aicy Engine、App Ops 等)内部页面;Activity 枚举放开 MATCH_DISABLED_COMPONENTS,厂商默认关闭/隐藏的页面也能列出
  • 取词:默认搜索引擎支持隐藏引擎并统一两处入口;搜索按钮支持长按滑选直搜;来源标签文案回到「无障碍」表述(英文 A11y、日文用户辅助)
  • 剪贴板:统一拖拽与分享链路(含文件镜像与拖放回退)
  • Overlay:钉到屏幕图片支持长按跨应用拖拽投放
  • Overlay:任务切换器列表支持惯性滚动与触边回弹

Changed

  • 手势:触钮组合手势(内滑后转向的 L 形、内滑后回缩的折返)不再要求「短滑后悬停」:第一段以向内方向越过短滑距离即就绪,第二段以沿边为主转向(或回缩)即可触发;未配置组合槽位时方向判定照旧。折返回缩门槛 16dp → 28dp;「短滑后悬停」槽位与悬停时长滑条保持不变
  • 手势:折返手势新增撤销区——手指回到起手位置附近(含一路滑到屏幕边缘)抬手即取消;「短滑后悬停」时长默认 250 → 500 毫秒、范围 0–1000 毫秒并改用 MIUIX Custom Key Points(0 毫秒=越过短滑距离即算悬停),悬停静止容差 12dp → 6dp
  • 手势屏蔽:模块「已就绪」与接管开关解耦——hook/配置/控制器装齐即显示就绪,三开关全关时不再误报未就绪;设置项标题标注「(可能无效)」
  • 清理:删除早已失效的「向内复合模式」配置(inward_hover_compound_enabled)
  • 本地化:补齐应用选择页与相关文案的日语、阿语更新;删除未注册的空的 values-arz

Fixed

  • 手势:设置组合手势的短滑档不再连带写入配对的长滑档;侧栏手势槽位子页返回后停留原来的 tab
  • 手势:修复「短滑后悬停」在持续滑动中被误判成立(固定锚点 + 6dp 重锚)
  • 手势:修正触钮组合/折返的提示与判定不一致
  • 手势桥接:将 UID 校验移入 Binder 方法,修复 lint/安全校验路径
  • 应用选择:空列表按 letter → pinyinKey 排序;已选系统应用在禁用/黑名单列表中按包名解析标签
  • 剪贴板浮窗:拖拽投放后丢失「点窗外关闭」的窗口标志

v1.13.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 05:11

[1.13.0] - 2026-09-21

Changed

  • 工具链与依赖:Miuix 0.9.4(自 0.9.4-rc01)、Kotlin 2.4.20、AGP 9.4.1、KSP 2.3.12、compose-bom 2026.09.00(material3 1.5.0-alpha28)、appcompat 1.8.0、colorpicker 1.3.0、Robolectric 4.17、benchmark 1.5.0、onnxruntime 1.30.0;compileSdk 提升到 37.1,NDK 默认 29.0.13599879
  • 导航:entry 内的 viewModel() / hiltViewModel() / SavedStateHandle 改用 miuix-nav 自带作用域,删除手工补齐 SavedState 的 NavEntryHiltScope
  • 主界面分页:横滑切页改由 miuix pagerGestureOverride(Cross-Axis)接管,竖列表惯性滚动与回弹期间也能横滑切页;切页动画改用 PagerState.springAnimateToPage
  • 液态玻璃底栏:改用 Mishka 的 IosLiquidGlassNavigationBar 实现(原 InstallerX-Revived fork 退役),并获得圆角折射修正、无 runtime shader 设备的降级光斑、tilt 重力高光;按压/未选中亮度随之上调,底部留白改由组件内部处理
  • 液态玻璃底栏模糊:默认半径由 7dp 调整为 4dp(对齐 Mishka 内部取值;已手动调过该设置的用户不受影响)

Fixed

  • 主界面分页:横滑与竖列表手势冲突、TabRow 横向嵌套滚动外抛、毛玻璃采样等随 miuix 0.9.4 一并修复
  • 剪贴板:复制面板红框选择器点击后真正粘到所选输入框(此前未透传 fvStyle,点击等于没点,仍粘在光标处)
  • 剪贴板:多图复制不再只剩第一张;本地图片文件缺失时改用条目的 content URI,不再把裸文件名当 URI 写入
  • 剪贴板:图片剪贴的 MIME 改为显式声明(此前误填进 label,MIME 由 resolver 反查,查不到会退化成 text/plain)
  • 取词目标:粘贴候选框去重方向修正,保留最内层输入框(此前保留外层容器、丢掉真正的输入框)
  • 消息提醒:新装"启用消息提醒"默认不再为开(总开关此前会被默认开启的提醒样式连带打开)
  • 测试:修复 Robolectric SDK 与宿主 Application 配置、虚拟时间/主 looper 相关的挂起,app 与各库模块单元测试恢复全绿
  • OCR 引擎包:随 ONNX Runtime 1.30.0 升到 revision 6(ocr-engine-arm64-v6.zip),修复 APK 侧 ORT 与旧引擎包主版本不一致导致的「PaddleOCR 引擎未初始化」;设置页引擎版本显示随之更新