第 12 章,共 13 章
故障排除
更新后权限消失了
macOS 把辅助功能权限与 App 的签名绑定在一起。更新之后,“系统设置”中的开关可能看起来仍是打开的,Lattika 却报告 未授予,菜单的第一项是 授予辅助功能访问权限…。
- 打开 系统设置 › 隐私与安全性 › 辅助功能。
- 选中 Lattika,用 − 按钮把它移除。
- 点按 +,在“应用程序”中选取 Lattika,并确认它的开关已打开。
- Lattika 会在一秒内察觉到。如果没有,请退出后重新打开它。
如果存在两份 Lattika,例如一份在“应用程序”中,另一份还留在“下载”文件夹里,也会出现同样的情况。请只保留“应用程序”中的那一份。
不肯调整大小的 App
Lattika 请求 App 移动窗口并调整其大小;接受什么由 App 决定。
- 最小尺寸。大多数 App 不肯小于某个尺寸。窗口会移进区域,但仍然比区域大。请使用更大的区域,或者区域更少的布局。
- 固定大小的窗口。有些实用工具根本无法调整大小。窗口会移到区域的一角,并保持原来的大小。
- 会恢复自己位置的 App。有些 App 在窗口打开或被移动后片刻会自行设定窗口的位置,抵消了 Lattika 的放置。请等 App 稳定下来之后再贴靠一次,或者使用规则并配合 立即应用规则。
Lattika 会以两种不同的顺序尝试两次,然后才放弃。已知的情况收集在仓库的 COMPAT.md 中。
Electron 和 Java App
用 Electron 构建的 App(许多聊天、笔记和编辑器 App)和用 Java 构建的 App(IDE 之类)向 macOS 报告窗口的方式略有不同。
- Electron App 有时要到第二次尝试才应用尺寸。Lattika 本来就会重试;如果窗口的大小仍然不对,请再贴靠一次。
- Java App 通报新窗口的时间较晚,所以新窗口的放置可能被漏掉。请手动贴靠窗口,或者运行 立即应用规则。
- 这两类 App 的最小窗口尺寸通常都比较大。
台前调度
Lattika 不了解台前调度。贴靠活跃窗口是可行的,但台前调度有自己的排列方式,在你切换窗口时可能再次移动它们。效果因情况而异;关闭台前调度后结果才可预期。
全屏幕 App 与空间
全屏幕的窗口无法移动。请先让 App 退出全屏幕。
布局属于显示器,而不属于空间。同一个布局适用于一台显示器上的所有空间。将窗口恢复到区域 和工作区可以移动其他空间中的窗口;这些窗口仍留在自己的空间里。
布局分配给了一台已经不在的显示器
提到某台显示器的分配、规则和工作区,在它断开连接期间会一直保存。在这台显示器以相同尺寸重新接入之前,它们不起任何作用。
- 编辑器只列出已连接的显示器,所以过时的分配不会显示出来。它没有任何害处。
- 指向这台显示器的规则在规则列表中显示 显示器缺失。请把规则的显示器改为 窗口所在的显示器 或某台已连接的显示器。
- 存储时带有这台显示器的工作区会把它列为 未连接的显示器。原先在它上面的窗口会被跳过。请使用 用当前窗口更新,按现有的显示器重新存储工作区。
快捷键失效
另一个 App 注册了同一个组合,或者 macOS 现在保留了它。请在 设置 › 快捷键 中录制另一个。
Lattika 没有在登录时启动
请打开 设置 › 通用 › 登录时启动。如果它已打开而 Lattika 仍不启动,请检查 系统设置 › 通用 › 登录项与扩展,并在那里允许 Lattika。
数据在哪里
Lattika 存储的所有内容都在 ~/Library/Application Support/Lattika/ 中,格式为普通的 JSON:
| 文件 | 内容 |
|---|---|
layouts.json | 布局、默认布局以及每台显示器使用的布局 |
rules.json | 规则 |
workspaces.json | 工作区 |
memory.json | 窗口记忆 |
“设置”中的选择,例如拖移按键、颜色、排除的 App 和快捷键,存放在 App 的偏好设置文件 ~/Library/Preferences/ar.com.indiesoftware.lattika.plist 中。试用期的开始日期和许可证存放在 macOS 钥匙串中。
重设所有数据
- 退出 Lattika。
- 删除文件夹
~/Library/Application Support/Lattika/。如果想保留布局,只清除窗口放置的记忆,请只删除memory.json。 如果还要重设各项设置,请打开“终端”并运行:
defaults delete ar.com.indiesoftware.lattika- 重新打开 Lattika。它会以六个初始布局启动,并显示欢迎窗口。
这些操作不会影响试用期的开始日期和许可证。把 Mac 转让给别人之前,请在 设置 › 许可证 中取消激活许可证。
为支持团队收集日志
Lattika 会写入系统日志。要获取最近十分钟的日志,请在“终端”中运行:
log show --predicate 'subsystem == "ar.com.indiesoftware.lattika"' --last 10m --style compact
把输出附在发给支持团队的信息中,同时写上 macOS 版本和出问题的 App 的名称。日志包含窗口的标题和尺寸,但不包含窗口的内容。