如何从命令行/脚本移动 KDE 等离子面板?

如何从命令行/脚本移动 KDE 等离子面板?

我有一个可以使用来更改我的桌面布局的脚本xrandr,但我也想移动我的面板。

到目前为止,我使用 kwinscripts 进行过尝试,使用
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.showInteractiveConsole

如果我使用鼠标移动它,panel.screen 会在 0 和 2 之间变化,但脚本行panel.screen = 2不会将其设置为 2,它会保持不变,但panel.location='bottom'可以正常工作。

var panel = panelById(panelIds[0])
print('before, panel.screen: ');
print(panel.screen);
panel.screen=2;
//panel.location='top';
panel.location='bottom';
print('after, panel.screen: ');
print(panel.screen);

为什么不panel.screen=2;工作?我还能做什么来移动它?

答案1

panel.screen 值可能是只读的,无法通过 kwinscripts 方法更改。您可以尝试使用 qdbus 命令来移动面板:

qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript 'var panel = panelById(panelIds[0]); panel.geometry = QRect(0, 0, screenGeometry(2).width, panel.preferredSize.height);'

此命令将面板的几何形状设置为与屏幕 2 的宽度相匹配,从而有效地将其移动到屏幕底部。您可以调整 QRect() 函数中的值以将面板移动到屏幕上的其他位置。

相关内容