way-displays:自动管理你的 Wayland 显示器
-
设置分辨率/刷新率:首选、最高或自定义
-
启用 VRR / 自适应同步
-
按行或列排列
-
基于 DPI 自动缩放:96 为 1 倍缩放
-
显示器插入/拔出时更新
-
笔记本盖子关闭/打开时更新
开箱即用:无需配置。
Wayland 下 xlayoutdisplay 的继任者,受 kanshi 启发。
要求
基于 wlroots 且支持 WLR Output Management 协议版本 4+ 的合成器。
way-displays 已获 sway、river 和 river-classic 合成器的认可。它可能适用于其他合成器;请告知我您的使用体验!
Hpyrland 已提供 way-displays 的所有功能。它可能可以运行,但明确不受支持,您可能会遇到问题。请勿提交问题报告。
way-displays 必须作为守护进程(后台服务器进程)运行。它将响应您的配置更改以及状态变化,例如插入显示器或关闭盖子。
用户应为 input 组的成员,以查询笔记本盖子状态。
快速开始
使用默认配置文件启动:
mkdir -p ~/.config/way-displays
cp /etc/way-displays/cfg.yaml ~/.config/way-displays/cfg.yaml
将您自己添加到 input 组以监控事件:
sudo usermod -a -G input "${USER}"
启动 way-displays 服务器:
Sway
从您的 sway 配置文件中移除任何 output 命令,并添加以下内容:
exec way-displays > /tmp/way-displays.${XDG_VTNR}.${USER}.log 2>&1
River
将以下内容添加到您的 River Window Manager 的 init 脚本或类似位置:
exec way-displays > /tmp/way-displays.${XDG_VTNR}.${USER}.log 2>&1
River Classic
将以下内容添加到您的 ${XDG_CONFIG_HOME}/river/init:
way-displays > /tmp/way-displays.${XDG_VTNR}.${USER}.log 2>&1 &
Mako 通知守护进程,可选
way-displays 默认会发送通知:
CALLBACK_CMD: notify-send "way-displays ${CALLBACK_LEVEL}" "${CALLBACK_MSG}"
将以下内容添加到上述 config/init 中:
mako > "/tmp/mako.${XDG_VTNR}.${USER}.log" 2>&1 &
配置
重启合成器并运行 way-displays -g 或查看 /tmp/way-displays.1.me.log。
按喜好调整 cfg.yaml 并保存。更改将立即生效。
或者,使用 命令行 进行更改,然后使用 way-displays -w 将其持久化。参见 man way-displays
在调整过程中,您可能希望 tail -f /tmp/way-displays.1.me.log。
用法
有关 cfg.yaml 和命令行的详细信息,请参阅 配置。
在 Wayland 合成器启动后,不带参数运行一次以启动 way-displays 服务器。
它将在后台保持运行,响应诸如插入显示器等更改,并在您退出合成器时终止。
它将打印消息以告知您所有正在发生的事情。
您可以通过 命令行 与服务器交互。
服务器响应 IPC 请求以获取和修改状态。
安装
包管理器
master 不稳定,建议使用 release tag 以获得稳定的体验。
参见 CONTRIBUTING 以获取所需依赖项的列表。
安装 / 卸载
sudo make install
sudo make uninstall
问题
请收集调试日志,创建一个 github issue 并附上你的日志。
问题、想法和贡献
请提出一个 github issue
贡献 将不胜感激,请参阅 Milestones 了解优先级问题。