Damon Lu
Damon Lu
个人认为结合此 Issue 可以重新评估此 PR: #3106
上一个提交修改了计算公式:`(pagesFree - pagesSpeculative + pagesInactive + pagesPurgeable) * pageSize` **这是 ChatGPT 的建议,当然相比用 JNI/JNA 调用系统函数,准确性依旧一般** 对于此修改,需要更多的平台测试,例如 Intel Mac 下是否可以相对正确的返回内存数据
自己测试了一下,丢了一个关键信息:`java.net.URISyntaxException` 查了一下,URI 规范(RFC 3986),以下内容可以被接受后[^1]: 1、英文字母(`a-z` 和 `A-Z`) 2、数字(`0-9`) 3、`-_.~` 4 个特殊字符 4、所有保留字符:`!*'();:@&=+$,/?#[]` 其余字符都要百分号编码 造成此问题的可能性为 HMCL 未正确百分号编码例如 `^` 属于 ASCII 但对 URI 而言非法字符,Java 会严格按照 URI 规范进行处理,因此哪怕你输入的是 `https://^` 也会崩溃。冒号、井号等虽然合法但它在错误的位置,也会导致问题 我后面测试了一下同样需要百分号编码的汉字,却没有这个问题,询问了一下 AI 说明...
针对 macOS 其实有一个解决方法: 执行... ~~~bash /usr/bin/defaults read -g AppleInterfaceStyle ~~~ 如果返回 `Dark` 则系统处于暗黑模式 处于浅色模式则返回 `The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist`,代表这个值没有被设置(直接不用管) Windows 上也可以考虑注册表的方式: 在 `Software\Microsoft\Windows\CurrentVersion\Themes\Personalize` 中 `AppsUseLightTheme` 为...
> i downloaded version 3.7.5 as a JAR file, opened it using WinRAR, and then modified the I18N_uk.properties file, placing my Arabic language code inside it. To my surprise, it...
Copilot 的 Review 针对的是过去就已经存在的代码,而非修改代码,一般来说可忽略
目前看到了一个似乎可以近乎开箱即用的库:[PinIn](https://github.com/Towdium/PinIn),上述需求看起来都可以满足 另外,较老的 [Pinyin4j](https://pinyin4j.sourceforge.net/) 也可以完成基础的汉字转拼音操作(模糊匹配需要额外实现) 两者使用的许可证均与 HMCL 使用的 GPLv3 兼容,是否值得考虑?
窗户边框是HMCL自行绘制的,对操作系统而言这一圈阴影就是窗口的内容,个人感觉没啥必要 在macOS弹出文件选择器的时候会给窗口加遮罩,也可以看出来这个问题
打包成app后可以优先把游戏资源放在官方启动器目录,把配置和日志统统放进Application Support,这样在一定程度上可以避免部分权限问题,但是这也会损失HMCL的便携性
干脆简单总结一下这么做的好处与坏处: ## 好: 1. 更加符合macOS用户的直觉,避免使用`JavaLauncher.app`来代替启动,防止因错误的JAVA_HOME配置导致的启动失败 2. 便于权限的申请,从而使用Simple Voice Mod等需要额外的权限来运行的模组 3. 可以单独维护一个类似于Windows下HMCLauncher的组件,实现Java的自动下载,或者实现其他进阶功能(我目前在尝试:[WhatDamon/HMCLauncher-macOS](https://github.com/WhatDamon/HMCLauncher-macOS),但是有重要的权限问题需要HMCL来解决) 4. 间接达成修改顶栏应用名称的目的(现阶段为`Main`, 前面提到的[ShulkerSakura/HMCL-MacOS](https://github.com/ShulkerSakura/HMCL-MacOS)将它改为了`HMCL`) 5. 使用游戏模式 #3831 6. 使用上Liquid Glass图标(上述HMCL-MacOS已添加) #4117 ## 坏: 1. 考虑到权限等问题,最好是要把配置与游戏全部迁移到`Application Support`目录(虽然HMCL已经在使用该目录存储一些敏感的信息,例如账号),会丧失HMCL的部分“便携性”特色 2. 签名问题,要一个可以无脑直接在所有macOS直接使用的签名非常考验经济实力,否则只能自签名甚至不签名,这样的代价是可能需要用户手动使用`xattr`指令消除Gatekeeper隔离,或者到“系统设置”放行,小白用户不友好 3. 额外的开发成本,当然这是看怎么实现的,例如前面提到的项目使用bash方式,搞起来难度是不大,但要维护一个类似于HMCLauncher的项目,就需要有会macOS开发的人员参与了(目前我自己在摸索着尝试)...