物理显示器的最顶部被边框遮住了(不要问!)。我想使用 xrandr 重新定义桌面的实际大小,因此它只使用显示器的可用部分。
显示器的实际像素尺寸为 2880x1920,但顶部(比如)20 行不可用。(实际上它更少,但我必须进行实验)。所以我想要一个 2880x1900 的桌面并设置监视器位置,以便桌面显示在监视器上,从第 20 行开始一直到底部。
我认为这意味着我需要使用 --pos +0-20 但我得到:
$ xrandr --output eDP-1 --pos +0-20
xrandr: failed to parse '+0-20' as a position
Run Code Online (Sandbox Code Playgroud)
我尝试了其他变体:
$ xrandr --fb 2880x1900 --output eDP-1 --size 2880x1900+0+20
xrandr: specified screen 2880x1900 not large enough for output eDP-1 (2880x1920+0+0)
Run Code Online (Sandbox Code Playgroud)
这与现有问题如何仅使用显示器的一部分进行显示非常相似,但该用户正在询问 Windows,并且每个人都建议仅使用窗口管理器。鉴于这将始终适用于每个工作区,这会很快变得令人厌烦。我正在寻找更基本的解决方案。
实际上,我认为它少于 20 像素行是错误的。
我发现了这个:
$ xrandr --output eDP-1 --transform 1,0,0,0,1,-30,0,0,1
Run Code Online (Sandbox Code Playgroud)
确实将输出向下移动,以便顶部不会被切断。不幸的是,现在整个桌面帧缓冲区都延伸到了可见屏幕下方。我可以为该变换添加一个比例因子,但我宁愿只是调整桌面的大小,以便桌面的底部落在显示器的底部。