gitk se ve feo / no respeta la configuración del tema

32

Estoy ejecutando Xubuntu (en realidad, Linux mint con xfce en la parte superior, pero supongo que es esencialmente lo mismo)

Configuré mi tema de apariencia en (una versión modificada de) MurrinaStormCloud, pero si ejecuto gitk, usa una representación de fuente fea, colores feos, widgets feos.

Creo que tcl es el culpable aquí, pero ¿puedo solucionarlo?

Aquí hay una imagen para comparar entre cómo se ve Firefox bajo el tema actual y cómo se ve gitk:

tema feo gitk

Hasen
fuente
1
Es bueno que tengamos gitg, pero todavía voto esta pregunta para ver si alguien puede resolver la fealdad tcl / tk. gitk es aún más compacto que gitg.
u0b34a0f6ae

Respuestas:

25

gitk se implementa en tcl / tk. He buscado por todos lados, pero parece que no hay mucho que puedas hacer; se regaña como feo en Linux en todas partes. Y además de usar un juego de herramientas horrible, gitk ha empeorado para mí a medida que incorporan más funciones (en su mayoría no se usan), la interfaz de usuario se vuelve aún más confusa.

Entonces, en lugar de una solución , recomiendo gitg , que es una herramienta similar, menos madura, que usa GTK +.

u0b34a0f6ae
fuente
3
+1 gitg no sabía nada de eso
Joakim Elofsson
He escuchado sobre gitg. Suena prometedor. Sin embargo, la cuestión es que gitk se veía bien en Windows, si no recuerdo mal.
hasen
gitg es mucho mejor. +1 por eso!
crazy2be
2
Todas las aplicaciones tcl / tk se ven horribles, desafortunadamente.
jpaugh
1
@jpaugh No, no todos, solo aquellos que no usan estilos ttk, el sistema 'tema' Tk.
Lloeki
11

tcl / tk 8.5 es realmente temático y parece bastante nativo en Windows 7 y aparentemente en Mac. Parece que se ha prestado menos atención para escribir puentes de motor de tema para él en Linux, pero puede hacer una de estas tres cosas:

Para tenerlo persistir entre reinicios añada la línea *TkTheme: clama ~/.Xresources, pero no estoy seguro si eso es leer si lo lanza su entorno de escritorio con el startxo no.

Bajo Ubuntu 11.04 fue bastante fácil, adaptar las rutas de la biblioteca tcl / tk según sea necesario (algunas personas han informado que esas instrucciones están desactualizadas):

$./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/

$make

$sudo checkinstall

checkinstall ser para crear un .deb rápido en lugar de instalarlo directamente, mantiene el sistema ordenado.

Luego, como anteriormente, obtenga tk para usar sus temas qt:

$echo '*TkTheme: tileqt' | xrdb -merge -
  • También hay un tile-gtk en el mismo repositorio de sourceforge que tile-qt, pero está completamente desactualizado. Logré construirlo e instalarlo después de mucho jugar, pero los resultados visuales fueron desordenados, no recomendado.
Gabriel Morin
fuente
10

Para arreglar esto de la manera Debian (Ubuntu):

$ sudo apt-get install tk8.5
$ sudo update-alternatives --config wish

Y luego elige la alternativa wish8.5.

hablar
fuente
Es mucho más bonito, aunque todavía no sigue el tema Gtk + o Qt. +1
crazy2be
Gracias, no esperaba una integración de escritorio perfecta, pero 8.5 se ve mucho mejor que las de 8.4.
Lucian Adrian Grijincu
¡Esta respuesta debería estar ahí arriba! Simplemente cambiando tk a 8.5 mejora enormemente el aspecto de gitk.
pedromanoel
44
Esto es lo que obtengo en Ubuntu 14.04:update-alternatives: error: no alternatives for wish
Luís de Sousa
Esto ya no funciona, tal vez debido a cambios en las distribuciones basadas en Debian a lo largo de los años. Probé con Debian 9.
einpoklum - restablece a Mónica el
8

La publicación de Gabriel Morin es buena, pero tile-qt ya no se construye con esas instrucciones y, aunque la publicación de blog a la que se vinculó (la mía, por cierto) todavía funciona, ya no es la mejor solución que conozco.

Para las personas que quieren algo mejor que el tema "almeja", PySolFC incluye un tema Clearlooks para Ttk y escribí otra publicación de blog que explica cómo instalarlo.

Aquí están las partes relevantes, adaptadas para un usuario de Lubuntu (que ahora soy):

# Get the theme
sudo apt-get install pysolfc

# Copy it into your user profile to not rely on PySolFC's presence
mkdir -p ~/.local/share/tkthemes
cp -r /usr/share/games/pysolfc/themes/clearlooks ~/.local/share/tkthemes/

# (optional) Remove PySolFC now
sudo apt-get remove pysolfc
sudo apt-get autoremove

# Add it to Ttk's search path
echo "export TCLLIBPATH=~/.local/share/tkthemes" >> ~/.xsessionrc

# Set the theme
echo "*TkTheme: clearlooks" >> ~/.Xresources

# Test it in this specific terminal window
export TCLLIBPATH=~/.local/share/tkthemes
xrdb -merge ~/.Xresources
git gui     # gitk's "this isn't a repo" dialog is always ugly

# ...and then log out and back in to apply .xsessionrc for the whole desktop

Hay algunos widgets que todavía son feos (la barra de menú y el SHA1 ID:texto, que deben ser parcheados en gitk para ser temáticos), pero no sé suficiente Tcl / Tk para parchear cosas.

(Y he escuchado rumores de que la barra de menú no se hizo temática porque está delegada en el sistema operativo para dibujar en Windows y MacOS)

ssokolow
fuente
Me gusta el hecho de que notaste el enlace a tu blog y volviste con una solución mejorada :). Si encuentro algo de tiempo para configurarme nuevamente, podría actualizar las instrucciones de compilación para tileqt, ya que imagino que sigue siendo una alternativa viable a lo que propones.
Gabriel Morin
Este script realmente hace algo, simplemente no es visible. Todavía obtengo el feo tema de color claro. Probado en Ubuntu 14.04.
Luís de Sousa
Bueno, estoy en un sistema Lubuntu 14.04 que se convirtió en frankenstein'd en un sistema parcialmente Kubuntu 14.04 y puedo decir que funciona perfectamente con git gui(que uso a diario), por lo que no tengo idea de qué podría estar mal en tu lado. Esto debería caer firmemente dentro del núcleo común compartido por todas las distribuciones * buntu.
ssokolow
4

No puede hacer que gitk siga fácilmente sus otros temas, pero su apariencia es bastante personalizable.

Como se mencionó en otra parte, puede elegir sus fuentes manualmente. Casi todos los colores son modificables también, en su ~/.gitk. Sin embargo, asegúrese de que gitk no se esté ejecutando al modificar este archivo, ya que sobrescribe el contenido al salir.

Esto es lo que tengo (mi ~/.gitk archivo ): ingrese la descripción de la imagen aquí

Gauthier
fuente
1
( Descargo de responsabilidad: soy el mantenedor ) . Ahora hay un tema oscuro oficial de Drácula para gitk: draculatheme.com/gitk
Aurelien
1
@Aurelien Es bueno ver a otros usando gitk teing, escribí el compromiso que permite cambiar estos parámetros;) (pero Drácula tiene un contraste demasiado alto para mí. ¡Buen trabajo!)
Gauthier
Gauthier, @Aurelien: Traté de colocar el texto vinculado a mi ~/.gitkarchivo, no tuvo ningún efecto.
einpoklum - reinstalar a Monica el
1
@einpoklum: personalmente puse este texto en ~/.config/git/gitklugar de ~/.gitk. Ver draculatheme.com/gitk . ¿Esto ayuda? No sé sobre otros temas.
Aurelien
1
@Aurelien: lo hace.
Einpoklum - reinstalar a Mónica el
1

como kaizer.se dijo que gitk (y también git gui ) se implementan usando tcl / tk, tk es el kit de herramientas de widgets y no me importan los temas basados ​​en gtk (o ninguno en absoluto afaik). Y no, esto no es algo que pueda arreglar (reescribir bien gitk para usar el widget gtk no es imposible, pero difícilmente es una "solución") que no sea reemplazarlo por otra cosa.

Puede cambiar la fuente en las preferencias para hacerlo un poco mejor, yo uso:
Fuente principal: Helvetica 9
Fuente de pantalla diferida: Courier 9
Fuente de interfaz de usuario: Helvetica 9

Esto se ve un poco mejor y no tan roto como el predeterminado, bueno para mí.

Joakim Elofsson
fuente
0

He construido tile-gtk (en Mint 17.2) con los siguientes comandos:

sudo apt install tcl-dev tk-dev glib2.0-dev libglib2.0-dev
git clone git://git.code.sf.net/p/tktable/tile-gtk tktable-tile-gtk
cd tktable-tile-gtk
./configure --with-glib-lib-inc=$(pkg-config --cflags glib-2.0) --with-gtk-lib-inc=$(pkg-config --cflags gdk-2.0)
make
sudo make install
echo '*TkTheme: tilegtk' | xrdb -merge -

Funciona bien, se ve bien; desafortunadamente solo puedo ejecutar una instancia de gitk a la vez debido a tilegtk.

p2rkw
fuente
0

Después de algunas de las sugerencias aquí y en otros lugares, llegué a la conclusión de que todo este negocio de Tcl / Tk es un caso inútil: nunca logra usar el tema DE.

Por lo tanto, decidí probar otras GUI para Git. El Wiki de Git enumera una serie de GUI , algunas de las cuales son bastante capaces:

  • git-cola : basado en PyQt4 y parece ser el más poderoso en términos de funcionalidad.

  • QGit : basado en Qt, se ve muy bien pero carece de alguna funcionalidad, especialmente en lo que concierne a las ramas.

  • GitKraken : una interfaz potente y elegante basada en Electron y cargada de funciones; gratis, pero requiere el registro del usuario con el vendedor.

Mi consejo para los usuarios que luchan con git-gui / gitk es simplemente cambiar a uno de los anteriores.

Luís de Sousa
fuente
0

En mi caso, se instaló la versión correcta de tk y wish en el sistema, y ​​el problema surgió por haber instalado anaconda.

El script de instalación de anaconda se agrega export PATH=":/path/to/anaconda3/bin:$PATH"a su ~/.bashrc, lo que hace que el programa deseado instalado allí tenga prioridad.

Reescribiendo esta línea para export PATH="$PATH:/path/to/anaconda3/bin"permitir que gitk ejecute el deseo del sistema y resolvió el problema de la fuente.

ysalmon
fuente