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