#run-time #open-xr #cross-platform-gui #active #graphical #interface #change

app xrpicker-gui

在友好的图形界面中选择您的活动OpenXR运行时

3个稳定版本

2.2.1 2023年10月10日
2.2.0 2023年5月26日
2.1.0 2023年3月22日

#4 in #open-xr

MIT/Apache

85KB
1.5K SLoC

OpenXR运行时选择器

Crates.io unsafe forbidden REUSE status Contributor Covenant

这是一个跨平台工具,允许您轻松更改活动OpenXR运行时。 (尽管它也用作Rust GUI技术的测试平台,但我将其用于生产。)

功能包括

  • 查找可用的运行时
    • 在Windows上,使用AvailableRuntimes注册表键和一些硬编码的额外选项
    • 在Linux上,通过列出配置目录中的文件
  • 解析运行时清单以获取运行时名称,以及通过启发式方法添加名称到选择异常。
  • 手动处理添加的额外运行时(通过浏览到或拖放清单) - 对运行时开发者很有用。
  • 在会话之间记住这些额外运行时。
  • 识别活动运行时(或Windows中的运行时,32位和64位)。
  • 设置活动运行时
    • 在Windows上通过设置注册表值/值
    • 在Linux上通过设置指向清单的每个用户的符号链接。

维护在 https://github.com/rpavlik/xr-picker

Screenshot of XR Picker (GUI) on Linux

安装和使用

  • 使用Windows的用户可以从 Releases 下载预构建的发布二进制文件。
  • 使用Linux的用户也可以尝试从 Releases (它们应该相当兼容,在Ubuntu 20.04上构建),尽管如果您遇到问题,可能需要本地构建。
  • 在任一平台上,您都可以使用Cargo,Rust包管理器,通过运行 cargo install xrpicker-gui 从打包的源代码安装。
  • 如果您已克隆了源代码,则正常的Rust构建和运行过程将正常工作 (cargo build, cargo test, cargo run --bin xrpicker-gui 等.)

结构

该工具分为两个Rust "crates"(包)

  • xrpicker-core,又称xrpicker on crates.io,包含用于查找和操作运行时的实用程序,以及用于GUI前端的无框架数据结构。
    • 它包括一个非常基础的(目前)命令行工具,只能列出活动运行时和可用运行时:这最终可能会升级为能够设置活动运行时,部分原因是为了使Windows GUI构建可以以管理员权限调用它,而不是必须以管理员权限运行整个GUI。
  • xrpicker-guixrpicker-gui on crates.io)是一个使用egui制作的跨平台GUI前端。

开发和贡献

我们欢迎社区为此项目做出贡献。我们有一个行为准则;通过参与此项目,您同意其条款。

CI强制执行REUSEcargo-deny以及在Linux和Windows上的简单构建测试。即使是对核心库的测试也有些困难,因为它与注册表键和文件系统一起工作,而我还没有研究如何在Rust中干净地模拟这些内容以进行自动化测试。

许可证

根据您的选择,许可协议为Apache License,版本2.0MIT许可证

除非您明确说明,否则您提交的任何贡献,根据Apache-2.0许可证定义,都将按上述方式双许可,没有任何附加条款或条件。

此软件符合REUSE规范

依赖关系

~23–41MB
~515K SLoC