2 个版本
0.1.1 | 2021 年 10 月 26 日 |
---|---|
0.1.0 | 2021 年 10 月 26 日 |
#555 在 配置
每月 101 次下载
46KB
1.5K SLoC
gnome-randr-rust
在 Wayland 上为 Gnome 重写了 xrandr
,特别是对于不支持 wlr-output-management-unstable-v1
(例如 Manjaro)的系统。从头用 rust 编写以提高性能。这也是我的第一个 rust 项目,所以任何建议都欢迎!
方法
gnome-randr-rust
使用 dbus
对象 org.gnome.Mutter.DisplayConfig
。有关原始提案,请参阅 https://wiki.gnome.org/Initiatives/Wayland/Gaps/DisplayConfig,尽管那里的规范有些过时(通过 Gnome shell 40.5 的 dbus introspect
检查)。更好的(带注释的)XML 文件列在 gnome-monitor-config
项目中 这里。
使用 GetCurrentState
方法列出显示信息,而使用 ApplyMonitorsConfig
修改当前配置。
灵感
该项目主要受到 xrandr
(显然)和 gnome-randr
的启发。遗憾的是,gnome-randr.py
在我的 gnome 版本(40.5)中似乎已损坏,尝试修改显示配置时出现。
gnome-randr.py
的速度也比我的 rust 重写慢:在我的 3 监视器系统中查询 python 脚本需要约 30 毫秒,而 rust 实现需要约 3 毫秒(xrandr
需要约 1.5 毫秒,但由于 xrandr
桥接的限制,显示的信息也不同。)
依赖项
~8MB
~165K SLoC