java - 如何使用 Java 检索 Mac OS 设置?
问题描述
Mac OS 有一个设置允许用户定义滚动条何时可见(自动,滚动时,总是)。
有没有办法使用 Java 找出当前设置?
解决方案
对我来说,在 macOS 10.14.6 上运行,该设置(未设置为“自动”时)可以在当前用户的全局首选项中找到~/Library/Preferences/.GlobalPreferences.plist
。该文件的内容如下:
{
AKDeviceUnlockState = :false;
AKLastIDMSEnvironment = 0;
AppleActionOnDoubleClick = "Maximize";
AppleAntiAliasingThreshold = 4;
AppleInterfaceStyle = "Dark";
AppleLanguages = ( "en-US" );
AppleLanguagesDidMigrate = "10.14.6";
AppleLocale = "en_US";
AppleMiniaturizeOnDoubleClick = :false;
AppleShowScrollBars = "Always";
...
}
我不能 100% 确定这是否涵盖了所有可能的场景,但您可以从解析此文件开始,找到AppleShowScrollBars
值并使用它来驱动您想要的功能。
有一个名为dd-plist的方便的库,它允许您使用以下代码:
try {
final File preferences = new File("~/Library/Preferences/.GlobalPreferences.plist");
final NSDictionary root = (NSDictionary) PropertyListParser.parse(preferences);
final String scrollbars = root.get("AppleShowScrollBars").toString();
System.out.println(scrollbars);
} catch (Exception e) {
// Handle errors
System.out.println();
}
推荐阅读
- typescript - 基类和 mixins 如何与 vue-class-component 一起使用?
- python - 将对象标记为只读
- java - JTable上的最小值单元格如何着色?
- javascript - momentjs - 如果给出格式,则在特定时区解析文本
- javascript - 如何区分原生 Ctrl+C 和 Ctrl+V 以及使用 Javascript 添加的文档级侦听器
- .net - 是否可以在多个程序之间共享 SQL Server 事务?
- python-3.x - 在python中使用带有C风格字符串格式的f-string
- php - 与 ID 数组相比,检测数据库中要删除的字段的最佳方法
- vba - 奇怪的 activecell.offset 输出
- python - 用于记录的 numpy astype 的奇怪行为