Как переместить плазменную панель 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(), чтобы переместить панель в другое место на экране.

Другие вопросы по тегам