12

I Have a script that change my desktop layout using xrandr, but I also want to move my Panel.

So far I played round with kwinscripts, using
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.showInteractiveConsole

If i move it using the mouse, the panel.screen changes between 0 and 2, but the script row panel.screen = 2 don't set it to 2, it stays, but panel.location='bottom' works fine.

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);

Why isn't panel.screen=2; working?, and what else can I do to move it?

Puggan Se
  • 350

1 Answers1

0

It's possible that the panel.screen value is read-only and cannot be changed via the kwinscripts method. You could try using the qdbus command to move the panel instead:

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);'

This command sets the panel's geometry to match the width of screen 2, effectively moving it to the bottom of the screen. You can adjust the values in the QRect() function to move the panel to a different location on the screen.

Toto
  • 19,304