Encontré una respuesta en el siguiente enlace: http://codeisland.org/2013/codeblocks-dark-theme/
Para mí, un usuario de Linux Mint, la versión de todo el sistema no funcionó.
Ahora lo reproduciré aquí, en caso de que el enlace desaparezca. Todos los créditos van al buscador original de la solución.
Código :: Bloques de soporte de tema ...
... no existe Esto se debe al hecho de que (para la portabilidad) Code :: Blocks GUI se crea utilizando wxWidgets , que ofrece una "apariencia nativa en cada plataforma". Esto es equivalente a lo que el entorno de escritorio considere correcto.
Entonces, para obtener un tema oscuro en Code :: Blocks, ¿necesita un tema oscuro para todo el entorno de escritorio? Si y no.
Code :: Blocks para Linux se crea explícitamente con el puerto wxGTK, lo que significa que la API wxWidgets está envuelta alrededor de la API Gtk. Entonces, en Linux, Code :: Blocks usa Gtk para su GUI.
Ahora, el puerto wxGTK no está completamente actualizado, por lo que no usa Gtk-3, sino el Gtk-2 (más antiguo). Eso es importante, porque la forma en que funcionan los temas ha cambiado ligeramente entre esas versiones.
Para las aplicaciones que usan Gtk-3, Gnome 3 ofrece una gtk-application-prefer-dark-theme
entrada en su archivo settings.ini, que le dice a todas las aplicaciones Gtk-3 que usen la versión oscura del tema configurado actualmente (si está disponible, por ejemplo, el Gnome 3 predeterminado) tema, "Adwaita"). Sin embargo, esto no afecta a las aplicaciones Gtk-2 (como Code :: Blocks).
Además, las aplicaciones Gtk-3 pueden decidir no usar el tema oscuro o usarlo siempre (como Eye of Gnome):
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", TRUE, NULL
);
(De la fuente "Eye of Gnome", main.c línea 175 ) Tema oscuro para Gtk2
Entonces, fui a Gnome-Look.org y busqué un tema bueno y oscuro de Gtk-2 y encontré que " Elegant Gnome " era una buena combinación. Luego copié manualmente el tema en sí [ Elegant-GTK
] ~/.themes/
y es icon-theme [ Elegant-AwOken
] en ~/.icons/
.
Ahora, para que Code :: Blocks use el tema, tiene dos opciones: Convertirlo en el tema Gtk-2 predeterminado o indicarle a Code :: Blocks que use explícitamente los archivos de tema que descargó.
Elijo la opción posterior. Después de investigar un poco, me topé con una publicación de blog, donde encontré el siguiente método:
GTK2_RC_FILES=/path/to/your/theme/gtkrc application
Esto establece temporalmente la variable de entorno GTK2_RC_FILES
a la ruta del tema, para el inicio de application
(en nuestro caso codeblocks
). Code :: Blocks ahora debería tener un aspecto oscuro.
[...]
Habilita todo por defecto
Por último, pero no menos importante, quiero que Code :: Blocks siempre comience con el tema oscuro Gtk-2. Si configura el tema en todo el sistema, no necesita hacer esto .
Puse el comando con el tema temporal en un shell-script y cambié el /usr/share/applications/codeblocks.desktop
archivo para leer:
[Desktop Entry]
Exec=/home/luke/.codeblocks/start_dark.sh
# More stuff down here...
O puede copiar el archivo en su directorio de inicio y modificarlo allí: cp /usr/share/applications/codeblocks.desktop ~/.local/share/applications/codeblocks.desktop
El guión se ve así:
# It's important to give the path to the "gtkrc"-file here!
GTK2_RC_FILES=~/.themes/Elegant-GTK/gtk-2.0/gtkrc codeblocks
Y ahora, Code :: Blocks está oscuro.
Deshacerse de la decoración de ventanas
Ahora, tenía un editor negro y un tema de GUI, pero una barra de título de ventana blanca. Para deshacerme de eso, instalé la extensión "Maximus" para GnomeShell .
El futuro
¡Este artículo podría no funcionar por mucho tiempo! Como se publicó en la página de inicio 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 […]
Por lo tanto, es cuestión de tiempo hasta que Code :: Blocks continúe y use Gtk-3, que luego no funcionará con los pasos descritos aquí. Actualizaré el artículo tan pronto como tenga problemas con esto. Ya no uso el código :: blocks :(