-
Apenas para tornar o script mais fácil, assumiu:
-
o painel superior padrão é
'top-panel-0'
obtido de:gsettings get org.gnome.gnome-panel.layout toplevel-id-list
-
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), enquantodconf 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/