Por exemplo, posso manter o Ambiance como tema principal, mas atribuir um tema elementar ao aplicativo do elementar?
Por exemplo, posso manter o Ambiance como tema principal, mas atribuir um tema elementar ao aplicativo do elementar?
Respostas:
Você pode usar a variável de ambiente GTK GTK_THEME=elementary
para iniciar um aplicativo com o tema elementar. Por exemplo, a execução GTK_THEME=elementary pantheon-files
iniciará o aplicativo Arquivos elementar usando o tema GTK elementar.
Para que isso seja aplicado sempre que você iniciar um aplicativo específico, é provável que sua melhor opção crie um arquivo .desktop personalizado (iniciador).
/usr/share/applications/
~/.local/share/applications/
e cole o iniciador (Ctrl + V)Exec=
para incluir Exec=env GTK_THEME=elementary
e, em seguida, o conteúdo existente anterior da linha. (Então Exec=pantheon-files
se tornaria Exec=env GTK_THEME=elementary pantheon-files
)Na próxima vez que você iniciar o aplicativo a partir do Unity (ou do iniciador de aplicativos de sua escolha), ele usará o tema elementar.
Você também pode querer que o aplicativo seja iniciado com o tema elementar ao iniciá-lo na linha de comando. Para fazer isso:
alias pantheon-files="GTK_THEME=elementary pantheon-files"
(substituindo pantheon-files
pelo aplicativo desejado)find /usr/share/themes -type d -name 'gtk-3.0' | awk -F'/' '{print $5}'
e gedit
para fins de demonstração? Por exemplo, GTK_THEME="HighContrast" gedit
ou env GTK_THEME="HighContrast" gedit
ou GTK_THEME=Adwaita:dark gedit
... nada.
/usr/share/applications/<appname>.desktop
e funcionou para mim.
A questão ainda é válida e eu encontrei uma maneira:
path/to/MY_FOLDER
/share/themes/
pasta dentro dela (ou seja path/to/MY_FOLDER/share/themes
).renomeie o tema para o nome do TEMA ATUAL ATUALMENTE.
Por fim, este comando fará com que um aplicativo use o tema renomeado em vez do tema atualmente ativo:
GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATON
(O caminho a seguir GTK_DATA_PREFIX=
deve ser esse ( e somente isso ) para a pasta que contém /share/themes/RENAMED_THEME
. É por isso que NÃO é path/to/MY_FOLDER/share/themes/RENAMED_THEME
, mas apenas path/to/MY_FOLDER
.
Para ter isso dentro de um iniciador, substitua de acordo:
Exec=sh -c 'GTK_DATA_PREFIX=path/to/MY_FOLDER YOUR_APPLICATION'
GTK_DATA_PREFIX
?
~/.themes
(tem a corrente ativa para a /usr/share/themes
) e depois usar algum caminho GTK_DATA_PREFIX=path/to/nowhere
para lançar esse aplicativo, que irá redefinir o tema aplicativo para o atual, só vai olhar primeiro em ~/.themes
e take aquele com o mesmo nome lá.
É certamente possível, eu não tenho muita experiência com temas, mas quando você navega para o /usr/share/themes/*Theme Name*/gtk-3.0/apps/
diretório, encontrará .css
arquivos nomeados com aplicativos que eles direcionam para o tema, então sim, você pode criar temas específicos para aplicativos.
Observe que a maneira como você mencionou o tema de seus aplicativos pode exigir algum trabalho a ser feito (como o Ambiance e o Elementar trabalham simultaneamente, pois cada tema tem um arquivo base sobre o qual é feito um estilo específico de aplicativo (um arquivo gtkrc
no Gtk 2.0 enquanto, um arquivo gtk.css
no caso do Gtk3.0 ).
E esse arquivo de tema base contém regras de estilo que visam especificamente o tema determinado, portanto, você não pode criar aparência e aparência elementares a partir do arquivo de tema base do Ambiance sem fazer alterações pesadas e, mesmo se o fizer, perderá a aparência do Ambiance.
Além disso, no GNOME, é possível ter apenas um tema aplicado por vez. Por exemplo, se você usou a janela Aparência no Ubuntu 12.04, sabe que pode selecionar qualquer tema na lista suspensa, caso tenha usado gnome-tweak-tool
, você pode definir temas diferentes, para Gtk, quadros de janela e ícones, mas ainda assim não permite direcionar aplicativos específicos para o tema. Como eu disse anteriormente, você pode definir temas totalmente diferentes para aplicativos diferentes, se trabalhar com inteligência. arquivo de tema base, a partir de agora, nenhum aplicativo de terceiros pode fazer isso sozinho.
Uma maneira de fazer isso sozinho é que, deixe o arquivo de tema base ( gtk.css
) ter apenas regras essenciais que são neutras a qualquer tema, seja escuro ou claro. E tenha o design do tema real gravado em arquivos específicos do aplicativo que residem no diretório acima mencionado, ou seja, para estilizar o Nautilus, você pode gravar todas as propriedades necessárias no nautilus.css
arquivo. O mesmo acontece com todos os aplicativos que você deseja segmentar. Obviamente, fazer isso requer alguma experiência decente com o tema Gtk.
Você pode consultar isso para criar seu próprio tema usando o modelo. Também há uma documentação decente sobre o tema do Gtk +.
Sim, a maneira mais simples é apontar o aplicativo para o caminho necessário em que reside o arquivo rc, no comando que executa seu aplicativo:
GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc inkscape
Isso no 12.04 para o inkscape (que ainda é o Gnome2 btw) produz o seguinte:
Veja mais informações sobre o tema Gtk2 em execução aqui .
Sim, você pode, na verdade, pesquisei no Google e obtive algumas respostas:
which ooffice
o terminal.echo $PATH
o terminal e você ge o caminho. Eu recomendo que você crie uma pasta bin no diretório inicial digitandomkdir ~/bin
gedit ~/.bashrc
para abrir o arquivo bash rc.export PATH=~/bin:${PATH}
Agora criaremos um script que executará seu programa com tema personalizado:
gedit ~/bin/ooffice
Digite estas linhas no arquivo aberto:
#!/bin/bash
env GTK2_RC_FILES=/usr/share/themes/SlicknessX/gtk-2.0/gtkrc /usr/bin/ooffice "$@"
Alterar o modo do arquivo para o executável digitando: chmod +x ~/bin/ooffice
.
Espero que isso ajude, você deve se lembrar apenas de uma coisa, o formato do script, como mostrado abaixo:
#!/bin/bash
env GTK2_RC_FILES=PATH_TO_GTKRC PATH_TO_EXECUTABLE "$@"