2023/02/23

Obsidian 使用系统标题栏

 Obsidian 是使用 Electron 开发的,并且将窗口的 `frame` 属性和 `frameless` 属性分别设置为了 `false` 和 `true`。这导致在一些 WM 下 Obsidian 的标题栏和边框不能很好的工作。


尽管 Obsidian 论坛上对这个问题有一些讨论,但是官方并没有表示后续会解决这个问题。


幸运的是论坛里面的一位用户提供了一个 [解决方案](https://forum.obsidian.md/t/add-option-to-enable-disable-frameless-mode/6991/15?u=meetcw) 。下面是步骤:


1. 在终端中使用 `--appimage-extract` 参数解包 Obsidian.AppImage。

2. 找到 resource/obsidian.asar 文件,使用 `npx asar extract resource/obsidian.asar resource/obsidian.asar.extracted` 获得 Obsidian 源代码。

3. 修改 `main.js` 中的 `frame: false` 为 `frame: true`。

4. 使用 `npx asar pack resource/obsidian.asar.extracted resource/obsidian.asar` 重新打包 resource/obsidian.asar 文件。

5. 运行 `./obsidian` 测试修改是否成功了,如果没有问题的话使用 appimagetool 重新打包 AppImage 就好了。


搬瓦工上新