Скрипт добавления лаунчеров на верхнюю панель гномов

Для большого количества машин работает 12.04 с gnome-classic. Я бы хотел добавить скрипт запуска в левом верхнем углу панели гномов.

Я знаю, как добавить их вручную, но это утомительная процедура.

Кто-нибудь знает, можно ли написать это?

2
задан 11 July 2014 в 03:11

1 ответ

  • Только для создания сценария более легким, сделанным предположением:

    1. верхняя панель по умолчанию 'top-panel-0' получена от:

      gsettings get org.gnome.gnome-panel.layout toplevel-id-list
      
    2. Не много значков уже там в панели, только чтобы не перезаписывать другой объект с тем же индексом (исключая: 'object-0-9'), полученный от:

      gsettings get org.gnome.gnome-panel.layout object-id-list
      

    Объективный сценарий:

    gsettings set org.gnome.gnome-panel.object:/org/gnome/gnome-panel/layout/objects/object-0-9/ object-iid 'PanelInternalFactory::Launcher'    
    gsettings set org.gnome.gnome-panel.object:/org/gnome/gnome-panel/layout/objects/object-0-9/ toplevel-id 'top-panel-0'    
    gsettings set org.gnome.gnome-panel.object:/org/gnome/gnome-panel/layout/objects/object-0-9/ pack-type 'start'
    gsettings set org.gnome.gnome-panel.object:/org/gnome/gnome-panel/layout/objects/object-0-9/ pack-index 1
    gsettings set org.gnome.gnome-panel.launcher:/org/gnome/gnome-panel/layout/objects/object-0-9/instance-config/ location '/usr/share/applications/gedit.desktop'
    gsettings set org.gnome.gnome-panel.layout object-id-list "[`gsettings get org.gnome.gnome-panel.layout object-id-list  | awk '{ gsub("\[|\]",""); print;}'`, 'object-0-9']"
    
  • Для сбрасывания/удаления всех средств запуска я не мог заставить gsettings reset работать с данными, хранившими без схемы (API не может поддерживать это), тогда как dconf reset делает:

    for o in $(dconf list /org/gnome/gnome-panel/layout/objects/); do if [ ! "${o##object*}" ] ; then dconf reset -f /org/gnome/gnome-panel/layout/objects/$o; fi; done
    dconf write /org/gnome/gnome-panel/layout/object-id-list "`dconf read /org/gnome/gnome-panel/layout/object-id-list | awk '{ gsub(/(, [:\47]object-[0-9]-[0-9][:\47]|[:\47]object-[0-9]-[0-9][:\47], )*/,"");  print; }'`"
    

Примечания:

  • Лучше для использования dconf-editor, чтобы видеть или внести изменения клавиши быстрого доступа для тестирования.
  • монитор Использования dconf изменяет & что делает сценарий:

    dconf watch /org/gnome/gnome-panel/
    
1
ответ дан 11 July 2014 в 03:11

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

Похожие вопросы: