gitk a l'air moche / n'honore pas les paramètres du thème


32

Je suis sous Xubuntu, (en fait linux mint avec xfce sur le dessus, mais je suppose que c'est essentiellement la même chose)

J'ai défini le thème de mon apparence sur (une version modifiée de) MurrinaStormCloud, mais si je lance gitk, il utilise un rendu de police moche, des couleurs laides et des widgets laids.

Je pense que tcl est la chose à blâmer ici, mais puis-je le réparer?

Voici une image pour comparer ce à quoi firefox ressemble sous le thème actuel et ce à quoi gitk ressemble:

thème moche de gitk


1
bien que nous ayons des gitg, mais je vote quand même cette question pour voir si quelqu'un peut résoudre la laideur de tcl / tk. Gitk est toujours plus compact que Gitg.
u0b34a0f6ae

Réponses:


25

gitk est implémenté dans tcl / tk. J'ai cherché aux alentours mais il ne semble pas y avoir grand chose à faire; il est grondé comme moche sur Linux partout. Et mis à part l’utilisation d’une boîte à outils hideuse, gitk s’aggrave pour moi à mesure qu’ils ajoutent de plus en plus de fonctions (pour la plupart non utilisées), l’interface utilisateur devient encore plus déroutante.

Donc , je au lieu d'une solution que je recommande gitg , qui est un outil similaire, moins matures, en utilisant GTK +.


3
+1 gitg ne savait rien de tout cela
Joakim Elofsson

J'ai entendu parler de Gitg. Cela semble prometteur. Le problème, c’est que, si je me souviens bien, gitk avait l’air bien.
hasen

Gitg est beaucoup plus gentil. +1 pour ça!
Crazy2be

2
Toutes les applications tcl / tk sont malheureusement hideuses.
Jpaugh

1
@jpaugh Non, pas tous, juste ceux qui n'utilisent pas les styles ttk, le système de "thème" de Tk.
Lloeki

11

tcl / tk 8.5 est en réalité thématisable et semble plutôt natif sur Windows 7 et apparemment sur Mac. Moins de soin semble avoir été donné pour écrire des ponts de moteur de thème pour cela sous Linux, mais vous pouvez faire l'une des trois choses suivantes:

Pour qu'il persiste entre les redémarrages, ajoutez la ligne *TkTheme: clamà ~/.Xresources, mais je ne suis pas sûr que cela soit lu si vous lancez votre environnement de bureau avec startxou non.

Sous Ubuntu 11.04, il était assez facile d'adapter les chemins de la bibliothèque tcl / tk selon les besoins (certaines personnes ont signalé que ces instructions étaient obsolètes):

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

$make

$sudo checkinstall

checkinstall être pour créer un .deb rapide au lieu d’installer directement, garde le système en ordre.

Ensuite, comme ci-dessus, demandez à tk d’utiliser vos thèmes qt:

$echo '*TkTheme: tileqt' | xrdb -merge -
  • Il y a aussi un tile-gtk dans le même repo sourceforge que tile-qt, mais il est complètement obsolète. J'ai réussi à le construire et à l'installer après de nombreuses manipulations, mais les résultats visuels étaient désordonnés. Ce n'était pas recommandé.

10

Pour résoudre ce problème selon Debian (Ubuntu):

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

Et puis choisissez l'alternative wish8.5.


C'est beaucoup plus joli, même si cela ne correspond toujours pas au thème Gtk + ou Qt. +1
crazy2be

Merci, je ne m'attendais pas à une intégration parfaite des postes de travail, mais la version 8.5 est bien meilleure que celle de la version 8.4.
Lucian Adrian Grijincu

Cette réponse devrait être là-haut! Changer simplement tk en 8.5 améliore grandement l’apparence de gitk.
pedromanoel

4
C’est ce que j’obtenir sur Ubuntu 14.04:update-alternatives: error: no alternatives for wish
Luís de Sousa

Cela ne fonctionne plus - peut-être en raison de changements dans les distributions basées sur Debian au cours des années.
J'ai

8

Le message de Gabriel Morin est bon, mais tu ne construis plus avec ces instructions. Bien que le blog auquel il a lié (le mien, d'ailleurs) fonctionne toujours, ce n'est plus la meilleure solution que je connaisse.

Pour les personnes qui veulent quelque chose de meilleur que le thème "palourde", PySolFC inclut un thème Clearlooks pour Ttk et j'ai écrit un autre article de blog qui explique comment l'installer.

En voici les parties pertinentes, adaptées à un utilisateur de Lubuntu (que je suis maintenant):

# 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

Il y a des widgets qui sont toujours laids (la barre de menu et le SHA1 ID:texte, qui doit être corrigé dans gitk pour être thématisables) mais je ne connais pas assez de Tcl / Tk pour corriger les choses.

(Et j'ai entendu des rumeurs selon lesquelles la barre de menus n'était pas thématisée, car elle était déléguée au système d'exploitation pour dessiner sous Windows et MacOS)


J'aime le fait que vous ayez remarqué le lien vers votre blog et que vous soyez revenu avec une solution améliorée :). Si je trouve un peu de temps pour me réinstaller, je pourrais mettre à jour les instructions de construction de tileqt, car j'imagine que c'est toujours une alternative viable à ce que vous proposez.
Gabriel Morin

Ce script fait effectivement quelque chose, il n'est tout simplement pas visible. Obtenez toujours le thème laide de couleur claire. Testé sur Ubuntu 14.04.
Luís de Sousa

Eh bien, je suis sur un système Lubuntu 14.04 qui a introduit Frankenstein dans un système partiellement Kubuntu 14.04 et je peux dire que cela fonctionne parfaitement avec git gui(que j’utilise quotidiennement), je n’ai donc aucune idée de ce qui pourrait ne pas être votre problème. Cela devrait s'inscrire fermement dans le noyau commun de toutes les distributions * buntu.
ssokolow

4

Vous ne pouvez pas facilement faire en sorte que gitk suive vos autres thèmes, mais son apparence est assez personnalisable.

Comme mentionné ailleurs, vous pouvez choisir vos polices manuellement. Presque toutes les couleurs sont également modifiables, dans votre ~/.gitk. Assurez-vous cependant que gitk n’est pas en cours d’exécution lors de la modification de ce fichier, car il écrase le contenu à la sortie.

Voici ce que j'ai (mon ~/.gitk dossier ): entrez la description de l'image ici


1
( Avertissement: je suis le responsable. ) Il existe maintenant un thème officiel Dracula dark pour gitk: draculatheme.com/gitk
Aurelien

1
@Aurelien C'est bien de voir d'autres personnes utiliser le thème gitk, j'ai écrit le commit qui permet de changer ces paramètres;) (mais Dracula a un contraste trop élevé pour moi. Beau boulot!)
Gauthier

Gauthier, @Aurelien: J'ai essayé de placer le texte lié à mon ~/.gitkfichier - cela n'avait aucun effet.
einpoklum - réintègre Monica le

1
@einpoklum: personnellement, j'ai mis ce texte à la ~/.config/git/gitkplace de ~/.gitk. Voir draculatheme.com/gitk . est-ce que cela aide? Je ne connais pas d'autres thèmes.
Aurélien le

1
@ Aurélien: C'est le cas.
einpoklum - rétablir Monica le

1

comme kaizer.se a déclaré que gitk (et aussi git gui ) est implémenté à l'aide de tcl / tk, tk est la boîte à outils des widgets et ne se soucie pas des thèmes basés sur gtk (ni de ceux qui sont affichés depuis toujours). Et non, ce n’est pas quelque chose que vous pouvez corriger (bien réécrire gitk pour utiliser le widget de gtk n’est pas impossible, mais n’est guère un «correctif») autre que le remplacer par quelque chose d’autre.

Vous pouvez modifier la police dans les préférences pour la rendre légèrement meilleure. J'utilise:
Police principale: Helvetica 9
Police d'affichage: Courier 9
Police d'interface utilisateur: Helvetica 9

Cela semble un peu mieux et pas aussi cassé que celui par défaut, bien pour moi.


0

J'ai construit tile-gtk (sur Mint 17.2) avec les commandes suivantes:

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 -

Fonctionne bien, a l'air bien; Malheureusement, je ne peux exécuter qu'une seule instance de gitk à la fois en raison de tilegtk.


0

Après quelques suggestions ici et ailleurs, je suis parvenu à la conclusion que toute cette entreprise Tcl / Tk est un cas sans défense - elle ne parvient jamais à utiliser le thème DE.

J'ai donc décidé d'essayer d'autres interfaces graphiques pour Git. Le wiki de Git répertorie un certain nombre d’interfaces graphiques , dont certaines sont tout à fait capables:

  • git-cola - basé sur PyQt4 et semble être le plus puissant en termes de fonctionnalité.

  • QGit - basé sur Qt, a fière allure mais manque de fonctionnalités, en particulier en ce qui concerne les branches.

  • GitKraken - une interface puissante et élégante basée sur Electron et chargée de fonctionnalités; gratuit, mais nécessite l'enregistrement de l'utilisateur auprès du vendeur.

Mon conseil pour les utilisateurs aux prises avec git-gui / gitk est de basculer simplement vers l’un des choix ci-dessus.


0

Dans mon cas, les versions correctes de tk et de souhaitent ont été installées sur le système, et le problème provient de l'installation d'Anaconda.

Le script d’installation d’Anaconda s’ajoute export PATH=":/path/to/anaconda3/bin:$PATH"à votre ~/.bashrc, ce qui donne la priorité au programme souhaité qui y est installé.

Réécrire cette ligne pour export PATH="$PATH:/path/to/anaconda3/bin"permettre au souhait du système d'être exécuté par gitk, et résoudre le problème des polices.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.