Web Analytics

gnome-randr-rust

⭐ 127 stars Japanese by maxwellainatchi

gnome-randr-rust

Wayland上のGnome向けに xrandr を再実装したもので、特に wlr-output-management-unstable-v1 をサポートしないシステム(例:Manjaro)向けです。パフォーマンスと楽しさを追求してRustで一から書き直しました。これが私の初めてのRustプロジェクトなので、どんな提案でも歓迎します!

[!NOTE]
現在、動作するLinuxマシンを持っていないためメンテナンスができません。もしメンテナンスに興味がある方がいれば、ご連絡ください!
>
Gnome 48以降では、付属の gdctl CLIを試してみてください。こちらが今後も最新に保たれる可能性が高いです。

(非Gnomeコンポジタの場合は https://arewewaylandyet.com/ のディスプレイ設定リンクを参照してください)

インストール

インストールにはRustツールチェーンの一部である pkg-configcargo が必要です。Cargo/Rustのインストール手順

このツールをインストールするには、cargo install gnome-randr を実行してください。他のRustプログラムで使用できるライブラリも提供しています。

方法

gnome-randr-rustdbus オブジェクト org.gnome.Mutter.DisplayConfig を使用しています。元の提案は https://wiki.gnome.org/Initiatives/Wayland/Gaps/DisplayConfig を参照してください。ただし、そこに記載された仕様はやや古くなっています(Gnome shell 40.5で dbus introspect を実行して確認)。Gnomeは進化するXMLファイルを こちら で管理しています。

GetCurrentState メソッドはディスプレイ情報の一覧取得に使われ、ApplyMonitorsConfig は現在の設定を変更するのに使われます。

インスピレーション

このプロジェクトは xrandr(当然ですが)と gnome-randr に大いに触発されました。残念ながら、私のGnomeバージョン(40.5)では gnome-randr.py はディスプレイ設定を変更しようとすると壊れているようです。

gnome-randr.py は私のRustによる再実装よりも遅く、3モニター環境でPythonスクリプトのクエリは約30msかかるのに対し、Rust実装は約3msです(xrandr は約1.5msですが、xrandr のブリッジの制限により表示情報が異なります)。

--- Tranlated By Open Ai Tx | Last indexed: 2026-04-30 ---