首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用多台显示器管理BSPWM上的台式机和多边形

如何用多台显示器管理BSPWM上的台式机和多边形
EN

Unix & Linux用户
提问于 2022-09-16 21:40:20
回答 1查看 908关注 0票数 1

我用bspwm做我的窗口管理器。我已经在我的台式机上使用了很长时间,现在我也在我的笔记本电脑上使用它,但是在这里它更难操作。

我使用一个叫做蒙斯的工具来自动处理我的“屏幕布局”。我在bspwmrc上作为守护进程运行它,当我拔出外部监视器时,它会自动更改为仅为笔记本电脑屏幕。好的。

问题是,我的笔记本电脑有两个显卡: AMD集成和Nvidia专用。事情是这样的,对于xrandr我有:

  • 与集成的AMD:一起运行时
    • 笔记本电脑显示器:eDP-1
    • 外部DisplayPort 1:DP-1
    • 外部DisplayPort 2:DP-2
    • 外部HDMI:HDMI-1

  • 专用NVIDIA:
    • 笔记本电脑显示器:eDP-1-1
    • 外部DP:DP-1-1
    • 外部DP:DP-1-2
    • HDMI-1-1

为了使它更简单,我需要区分如下:

  • 仅AMD
  • 只限于Nvidia
  • AMD +显示端口(只有数字1 (so,eDP-1))
  • Nvidia +显示端口1 (eDP-1-1)

我想告诉grep关于xrandr结果的bspwm,并相应地分配我的工作区。如果手动完成,我将运行:

  • 如果只有笔记本电脑屏幕(它不需要知道它是在AMD上运行还是在nvidia上运行):bspc监视器-d IⅡ、III、IV、VI、VI、VIII、IX、X
  • 如果它与AMD集成+外部DisplayPort一起运行: bspc监视器eDP-1 -d i i II II IV v bspc监控器DP-1 -d VII VIII IX x
  • 如果它与nvidia专用+显示端口上的外部监视器一起运行: bspc监视器eDP-1-1 -d i II IV v bspc监视器DP-1-1 -d VII VIII IX x

我如何写一个if / else决定来检查是否存在eDP-1DP-1eDP-1-1DP-1-1,并采取相应的行动?

我真的不知道任何bash,脚本或编程,所以我真的不知道如何使它正确。你们能帮帮我吗?

我希望我能解释清楚!

P.S.:在DP前面的^是grep --一条以大写P开头的<#>行,否则它也会找到笔记本屏幕。

EN

回答 1

Unix & Linux用户

发布于 2022-09-16 22:52:57

经过几个小时的尝试和失误,我终于做到了。我还学会了如何在脚本上使用if语句,所以这是值得的。

决议如下:

代码语言:javascript
复制
amddp=$(xrandr --query | grep '^DP-1')
nvidiadp=$(xrandr --query | grep '^DP-1-1 connected')
if [[ $amddp = *\ connected* ]]; then
        bspc monitor eDP-1 -d I II III IV V
        bspc monitor DP-1 -d VI VII VIII IX X
elif [[ $nvidiadp = *\ connected* ]]; then
        bspc monitor eDP-1-1 -d I II III IV V
        bspc monitor DP-1-1 -d VI VII VIII IX X
else
        bspc monitor -d I II III IV V VI VII VIII IX X
fi

要理解它一点:

  • 当它欢迎^DP-1时(这意味着一行以DP-1开头,以避免笔记本电脑的eDP-1屏幕)。
  • 当它说= *\ connected*时,它的意思是等于:
    • *任何字符或一组字符(我使用了它,因此不必在脚本上写入grep命令将输出的整行)。
    • \ (反斜杠空间)实际上是指空格字符。否则,当我断开监视器时,它仍然会出现在为*connected*打招呼时,因为“断开”包括它上的“连接”一词。

我还使用相同的结构启动不同的polybar.sh脚本,以启动笔记本显示器上的一个条(一个.sh用于nvidia,一个用于amd),或者两个条,一个在膝上型计算机上,一个在外部监视器上。每个.sh指向相应的多条的一个或两个configs.ini。

希望它能帮到别人!

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/717588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档