在 KDE 中编写窗口行为脚本以取决于所使用的监视器

在 KDE 中编写窗口行为脚本以取决于所使用的监视器

我将笔记本电脑插入多个不同的显示器,所有这些显示器的宽高比均不受我的笔记本电脑支持。我希望内置和插件显示器分别处于最大分辨率和相应的宽高比,共享相同的左下角,并具有“悬挂在边缘”的额外空间。

我最终编写了一个从 /etc/kde4/kdm/Xsetup 运行的脚本,该脚本使用 xrandr 这种行为。现在我试图让所有应用程序窗口默认在两个屏幕重叠的矩形区域中打开。

有人对如何做到这一点有任何建议吗?到目前为止,我可以想到下面两种方法,但对这两种方法都有疑问:

1) 在“窗口行为”控制面板中设置默认大小和位置,找到保存这些设置的文件,并为每个显示器配置创建一个不同的此类文件,在 Xsetup 运行时将其复制到系统范围的文件。问题:窗口行为控制面板在哪里保存其设置?

2) 设置某种全局变量,该变量将影响 X11 在程序启动时分配给程序的起始几何体。问题: 是否有 X11 每次启动程序时都会检查的变量或文件,或者启动程序时是否需要从命令行将变量传递给 X11?如果是这样,语法是什么?在哪里设置这样一个变量以便 X11/KDE 会话中运行的所有内容都可以看到它? KDE 启动后可以更改此变量吗?

系统:Linux 2.6.32-33-generic #72-Ubuntu SMP Fri Jul 29 21:07:13 UTC 2011 x86_64 GNU/Linux KDE 4.4.5 Kubuntu、Lucid Lynx

答案1

解决方案#1 看起来不错。 KWin 将其规则保留在~/.kde4/share/config/kwinrulesrc.您可以使用内置 KWin 管理器 ( kcmshell4 kwinrules) 生成此类规则。

在页面上,Window matching请记住取消Dock (panel)选中部分Window types,以免更改面板的位置。所有其他字段都应具有默认值,以便匹配所有打开的窗口。您可以在选项卡上设置窗口的大小和位置Size & Position

当您选择首选项保存设置时,文件中将添加如下新条目(部分中~/.kde4/share/config/kwinrulesrc也会有递增的值):countGeneral

[2]
Description=Unnamed entry
position=100,100
positionrule=3
size=1000,1000
sizerule=3
types=4294967295
wmclass=
wmclasscomplete=false
wmclassmatch=0

您可以复制此文件或仅编写脚本以在插入新显示器时修改您的值。

相关内容