#gnome #display #wayland #cli #xrandr

bin+lib gnome-randr

在 Wayland 上为 Gnome 重写的 xrandr

2 个版本

0.1.1 2021 年 10 月 26 日
0.1.0 2021 年 10 月 26 日

#555配置

Download history 77/week @ 2024-03-11 93/week @ 2024-03-18 59/week @ 2024-03-25 96/week @ 2024-04-01 64/week @ 2024-04-08 66/week @ 2024-04-15 65/week @ 2024-04-22 37/week @ 2024-04-29 47/week @ 2024-05-06 42/week @ 2024-05-13 74/week @ 2024-05-20 41/week @ 2024-05-27 39/week @ 2024-06-03 35/week @ 2024-06-10 19/week @ 2024-06-24

每月 101 次下载

MIT 许可证

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