Script adicionando lançadores ao painel superior do gnome

2

Para um grande número de máquinas executando o 12.04 com o gnome-classic. Gostaria de adicionar scripts de iniciadores ao canto superior esquerdo do painel do gnome.

Eu sei como adicioná-los manualmente, mas este é um procedimento tedioso.

Alguém sabe se é possível fazer o script disso?

    
por MaxBaeten 10.07.2014 / 10:01

1 resposta

1

  • Apenas para tornar o script mais fácil, assumiu:

    1. o painel superior padrão é 'top-panel-0' obtido de:

      gsettings get org.gnome.gnome-panel.layout toplevel-id-list
      
    2. Não existem muitos ícones no painel, apenas para evitar sobrescrever outro objeto com o mesmo índice (ex: 'object-0-9' ), obtido de:

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

    Script de objetivo:

    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']"
    
  • Para redefinir / remover todos os lançadores, não consegui usar gsettings reset para trabalhar com dados armazenados sem esquema (a API pode não estar suportando isso), enquanto 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(/(, [:]object-[0-9]-[0-9][:]|[:]object-[0-9]-[0-9][:], )*/,"");  print; }''"
    

Notas:

  • É melhor usar dconf-editor para ver ou fazer alterações rápidas na chave para testes.
  • Use alterações no monitor dconf & amp; o que o script está fazendo:

    dconf watch /org/gnome/gnome-panel/
    
por user.dz 11.07.2014 / 01:44