Definir tema escuro para menubar etc (NOT editor) code :: blocks

8

Eu instalei codeblocks-contrib que me deu mais controles, como configurações de atalhos de teclado. No entanto, ainda não consegui descobrir como aplicar o tema escuro em todas as áreas, incluindo a barra de menus e o painel esquerdo, além das áreas do editor, como a foto anexada. Alguém sabe?

A foto a seguir é o meu código :: blocos que o tema Dark só aplicou na área do editor.

    
por Evan S 01.06.2015 / 13:15

1 resposta

2

Encontrei uma resposta no seguinte link: link

Para mim, um usuário do Linux Mint, a versão para todo o sistema não funcionou.

Agora vou reproduzi-lo aqui, caso o link desapareça. Todos os créditos vão para o localizador original da solução alternativa.

Código :: Bloqueia o suporte ao tema…

… não existe. Isso se deve ao fato de que (para portabilidade) a GUI Code :: Blocks é criada usando wxWidgets , que oferece uma “aparência nativa & amp; sentir em todas as plataformas ”. Isso é equivalente ao que o ambiente de área de trabalho acha correto.

Então, para obter um tema sombrio no Code :: Blocks, você precisa de um tema escuro para todo o ambiente de área de trabalho? Sim e não.

Code :: Blocks for Linux é explicitamente criado com a porta wxGTK, o que significa que a API wxWidgets é envolvida em torno da API Gtk. Então, no Linux, o Code :: Blocks usa o Gtk para sua GUI.

Agora, a porta wxGTK não está completamente atualizada, por isso não usa o Gtk-3, mas o Gtk-2 (mais antigo). Isso é importante, porque a maneira como os temas funcionam mudou levemente entre essas versões.

Para aplicativos que usam o Gtk-3, o Gnome 3 oferece um gtk-application-prefer-dark-theme -entry em seu arquivo settings.ini, que diz a todos os aplicativos Gtk-3 para usar a versão escura do tema atualmente definido (se disponível, por exemplo, o tema padrão do Gnome 3, "Adwaita"). Isso, no entanto, não afeta os aplicativos Gtk-2 (como Code :: Blocks).

Além disso, aplicativos Gtk-3 podem decidir não usar o tema escuro ou usá-lo sempre (como Eye of Gnome):

GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
    "gtk-application-prefer-dark-theme", TRUE, NULL
);

(Da fonte “Eye of Gnome”, main.c linha 175 ) Tema escuro para Gtk2

Então, eu fui até o Gnome-Look.org e procurei por um tema Gtk-2 bom e escuro e encontrei “< um href="http://gnome-look.org/content/show.php/Elegant+Gnome+Pack?content=127826"> Elegant Gnome ”para ser um bom jogo. Em seguida, copiei manualmente o tema em si [ Elegant-GTK ] para ~/.themes/ e o tema de ícones [ Elegant-AwOken ] para ~/.icons/ .

Agora, para obter Code :: Blocks para usar o tema, você tem duas opções: Torne o tema Gtk-2 padrão ou diga ao Code :: Blocks para usar explicitamente os arquivos de tema que você baixou.

Eu escolho a última opção. Depois de alguma pesquisa, me deparei com um post de blog, onde encontrei o seguinte método:

GTK2_RC_FILES=/path/to/your/theme/gtkrc application

Isso define temporariamente a variável de ambiente GTK2_RC_FILES no caminho do tema, para o início de application (no nosso caso, codeblocks ). Code :: Blocks agora deve ter um visual sombrio.

[...]

Ativar tudo como padrão

Por último, mas não menos importante, eu quero que o Code :: Blocks sempre comece com o tema escuro do Gtk-2. Se você definir o tema em todo o sistema, você não precisa fazer isso .

Eu coloquei o comando com o tema temporário em um script de shell e mudei o arquivo /usr/share/applications/codeblocks.desktop para ler:

[Desktop Entry]
Exec=/home/luke/.codeblocks/start_dark.sh
# More stuff down here...

Ou você pode copiar o arquivo para seu diretório pessoal e modificá-lo lá: cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop

O script é assim:

# It's important to give the path to the "gtkrc"-file here!
GTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks

E agora, Code :: Blocks é sombrio.

Livrar-se da decoração de janelas

Agora, eu tinha um editor negro e um tema de GUI, mas uma barra de título de janela branca. Para me livrar disso, instalei a extensão "Maximus" para o GnomeShell .

O futuro

Este artigo pode não funcionar muito tempo! Conforme postado na página inicial de wxWidgets:

2012-07-09

wxWidgets 2.9.4 has been officially released. […]

2.9 series bring many improvements compared to 2.8 series […] Compared to the previous 2.9.3 release, the most important change in this release is beta-level support for GTK+ 3 in wxGTK port.

we believe that 2.9.4 can be used in production environment […]

Portanto, é uma questão de tempo até que o Code :: Blocks se mova e use o Gtk-3, o que não funcionará com as etapas descritas aqui. atualizarei o artigo assim que tiver problemas com isso. Eu não uso mais código :: blocks: (

    
por Ciprian Tomoiagă 21.12.2015 / 14:51