Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как включать видимость/невидимость панелей Xfce скриптами  (Прочитано 2290 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Несколько рукопашных панелей Xfce. В зависимости от режима использования компьютера одним пользователем нужно скрывать одни панели и отображать  другие. Режимов минимум 4. Они (режимы) также увязаны с выводом нескольких виджетов conky, переключать которые значками-скриптами получается из специальной (управляющей) панели.
Натолкните, пожалуйста, на мысль как сделать, чтоб переключались панели командами, где-что почитать.

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
dconf, gsettings
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
dconf, gsettings
Спасибо, но неожидано подтолкнуло к поиску в другом месте ближе к описанию панелей - /home/ypan/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml. Там для каждой панельки есть параметр  <property name="autohide-behavior" type="uint" value="0"/> со статическими значениями:
0-автоматически скрывать панель - Никогда;
1-............................. - Интеллектуально
2-............................. - Всегда
У тех панелек, у которых исходное значение =0, этот параметр может отсутствовать пока не поменяешь в диалоге настроек панели (окошке настройки). Но текущие значения параметров (не исходные) находятся где-то в другом месте, которое пока не нашёл. Поэтому при перезапуске xfce4-panel -q (закрыть текущий экземпляр панели), xfce4-panel -r (перезапустить текущий экземпляр панели) новые значения из статического файла не срабатывают. Видимо, берётся где-то из другого места. В /usr/share/ вроде всё пролез, но пока не наткнулся.
Вся эта информация получена чисто экспериментальным путём, т.е. и соответствующая достоверность.
« Последнее редактирование: 02 Февраля 2017, 14:45:06 от ypan49 »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Нужно делать sync после изменения файлов, и перед перезапуском убивать все процессы xfce4-panel (killall xfce4-panel)

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Нужно делать sync после изменения файлов, и перед перезапуском убивать все процессы xfce4-panel (killall xfce4-panel)
Сделал во всех возможных комбинациях синхронизацию, убийство и оживление - не получается, восстанавливается старое значение в файле.
Вот бы прояснить команды, когда редактируешь в окошке. Там-то всё обходится мирным путём и касается только одной панели:
- когда меняешь значение скрытия панели, сразу изменяется и значение параметра "autohide-behavior" соответствующего панели в файле /home/ypan/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
- а вот, когда жмёшь кнопку "Закрыть" окошка "Панель", происходит нечто, что изловить не могу ни диспетчером задач, ни htop.
Ещё при перегрузке системы всё правильно срабатывает по изменённому.
« Последнее редактирование: 02 Февраля 2017, 20:56:13 от ypan49 »

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Изменение значения "Автоматически скрывать и показывать панель" скриптом у меня работает так:
Код: (bash) [Выделить]
killall xfce4-panel
killall xfconfd
sed -i '/^\s*<property name="autohide" type="bool" value/{s/true/false/;t;s/false/true/}' $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
sync
(xfce4-panel &)
« Последнее редактирование: 03 Февраля 2017, 00:30:56 от renzrv »

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Спасибо, renzrv. Буду изучать и пробовать. Когда всё пойму и опробую, доложу результат.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
Но правильнее использовать xfconf-query.
http://forum.xfce.org/viewtopic.php?id=8619
« Последнее редактирование: 03 Февраля 2017, 02:12:38 от renzrv »

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Ну, вот, помогли... Работает это последнее, как часы! И именно то, что нужно - простенько и со вкусом, без убийств. А я-то думал с утра пораньше на свежую голову sed осваивать. Теперь, вроде как, ни к чему, только, когда опять прижмёт.
И в Вашем скрипте и в последнем..., вроде как, ошибка: параметр сейчас называется "autohide-behavior" и тип у него "uint", а не "boolean", значения 0 (светить), 1 (интеллектуальный режим) и 2 (скрывать).
Что ж, спасибище огромное, renzrv!
Я уж давненько этим маялся без толку. Теперь смогу своим друзьякам-пенсионерам выдать "на гора" многотемные рабочие столы, вроде как комнаты в KDE, и подстраивать компьютер под потребности каждого. "Компьютер для человека, а не человек под компьютером!"

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2648
    • Просмотр профиля
И в Вашем скрипте и в последнем..., вроде как, ошибка:
Нет, у меня именно такой параметр вместо вашего "autohide-behavior", это возможно из-за различий версий панели, моя - 4.11.0.
Что ж, спасибище огромное
Да пожалуста.

Оффлайн ypan49

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
У меня 4.12.0.  :smitten:

 

Страница сгенерирована за 0.044 секунд. Запросов: 23.