当我连接/断开显示器时执行“正确的”xrandr 调用

当我连接/断开显示器时执行“正确的”xrandr 调用

所以我有一台笔记本电脑去上班并连接到一个大显示器。现在,当我开始工作时,我会执行以下操作

  1. 将我的笔记本电脑连接到显示器
  2. 跑步xrandr --output DP1 --mode 2560x1600 --right-of eDP1 --output eDP1 --mode 1920x1080
  3. 重新启动我的窗口管理器。 (我使用 i3,所以这实际上是一个非常便宜的步骤)

当我下班时,我会做以下事情:

  1. 跑步xrandr --output eDP1 --mode 1920x1080 --output DP1 --off
  2. 重新启动我的窗口管理器。
  3. 断开显示器连接。

这很烦人。有什么方法可以“告诉”我的笔记本电脑,每当它连接到此显示器时,应自动应用上述设置?

答案1

已经有一个答案对于这个问题。归结起来有以下几点:

  • 没有触发任何事件,轮询是唯一的方法
  • 轮询总是不好的,但某些方法(如链接答案中所述)比其他方法更高效/更轻量级

另一种方法是创建一个脚本,如下所示(未经测试,但想法很明确)并运行该脚本,可能使用击键:

# cat <<EOF >/usr/local/bin/fastxrr
#!/bin/sh
if xrandr | grep "eDP1 (connected)"
then
    xrandr SETUP FOR CONNECTED SCREEN
else
    xrandr SETUP FOR DISCONNECTED SCREEN
fi
EOF
# chmod +x /usr/local/bin/fastxrr

相关内容