Como alterar programaticamente o papel de parede no openbox?

2

Eu não estou procurando ferramentas para mudar o papel de parede. Mas o que essas ferramentas fazem? Como faço para implementar um?

    
por balki 06.11.2014 / 04:48

1 resposta

1

No meu caso, estou usando o gerenciador de janelas openbox-lxde, mas as preferências de desktop são manipuladas pelo pcmanfm. O pcmanfm --desktop-pref abre um menu que permite definir o papel de parede. A configuração é atualizada em /home/username/.config/pcmanfm/LXDE/pcmanfm.conf , que agora é o arquivo de configuração padrão para as configurações da área de trabalho deste sistema.

Para resumir o que está escrito abaixo, parece que é uma questão de criar e configurar os arquivos de configuração padrão a serem usados pelo sistema para que seu programa seja o aplicativo preferido para manipular as configurações da área de trabalho.

Você pode olhar para /src/pcmanfm.c para ver como o trabalho foi realmente feito, mas se você não está pretendendo codificar em c com aquela biblioteca em particular, então sua maior preocupação é configurar seu aplicativo padrão e as configurações do .desktop. / p>

Isso pode ser feito através da configuração do sistema openbox 1 .

Openbox will also source .desktop files automatically installed by some packages in the global /etc/xdg/autostart directory. The package responsible for allowing Openbox to additionally source the /etc/xdg/autostart directory is python2-xdg.

O pacote pcmanfm 2 usa ./data/pcmanfm-desktop-pref.desktop.in para defina o aplicativo preferido para as configurações da área de trabalho como pcmanfm --desktop-pref .

Parece que ./data/Makefile.am configura a configuração de aplicativos padrão que inclui pcmanfm-desktop-pref.desktop.in .

NULL=

SUBDIRS=ui

man_MANS=pcmanfm.1

desktopdir=$(datadir)/applications
desktop_in_files= \
        pcmanfm.desktop.in \
        pcmanfm-desktop-pref.desktop.in \
        $(NULL)
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@

defconfdir=$(sysconfdir)/xdg/pcmanfm/default
defconf_DATA = \
        pcmanfm.conf \
        $(NULL)

EXTRA_DIST= \
        $(desktop_in_files) \
        $(desktop_DATA) \
        $(defconf_DATA) \
        $(NULL)

Você terá que descobrir onde eles vão no seu sistema, mas esperamos que isso ajude o arquivo.

Os arquivos pcmanfm.desktop e pcmanfm-desktop-pref.desktop foram adicionados a /usr/share/applications no meu sistema. Um pcmanfm.conf file was added to / etc / xdg / pcmanfm . This was because of my environment variables used by this Makefile.am '. Vai variar de sistema para sistema.

O

@pcmanfm --desktop --profile LXDE também está listado em /etc/xdg/lxsession/LXDE/autostart para o meu sistema, e eu estou apontando aqui para lembrá-lo de que seu programa ou script também deve estar no arquivo de início automático apropriado.

Este não é um guia completo, mas deve apontar na direção certa. Agora que você viu um exemplo de como uma ferramenta popular faz isso, leia a seção Configuração do sistema em Openbox - ArchWiki para detalhes sobre o processo de configuração da caixa aberta.

    
por 07.11.2014 / 11:10