gitk sieht hässlich aus / beachtet Themeneinstellungen nicht


32

Ich verwende Xubuntu (eigentlich Linux Mint mit Xfce an der Spitze, aber ich nehme an, es ist im Wesentlichen das gleiche)

Ich habe mein Erscheinungsbild auf (eine modifizierte Version von) MurrinaStormCloud eingestellt, aber wenn ich gitk ausführe, werden hässliche Schriftarten, hässliche Farben und hässliche Widgets verwendet.

Ich denke, hier ist tcl schuld, aber kann ich das beheben?

Hier ist ein Bild zum Vergleich, wie Firefox unter dem aktuellen Thema aussieht und wie Gitk aussieht:

gitk hässliches Thema


1
schön, dass wir gitg haben, aber ich stimme immer noch über diese Frage ab, um zu sehen, ob jemand die tcl / tk-Hässlichkeit lösen kann. Gitk ist immer noch kompakter als Gitg.
u0b34a0f6ae

Antworten:


25

gitk ist in tcl / tk implementiert. Ich habe gesucht, aber es scheint nicht viel zu geben, was Sie tun können. Unter Linux wird es überall als hässlich bezeichnet. Abgesehen von der Verwendung eines abscheulichen Toolkits wurde Gitk für mich immer schlechter, da es mehr Funktionen (meistens nicht verwendet) enthält, die die Benutzeroberfläche noch verwirrender machen.

Daher empfehle ich anstelle einer Lösung gitg , ein ähnliches, weniger ausgereiftes Tool, das GTK + verwendet.


3
+1 gitg wusste nichts über diesen einen
Joakim Elofsson

Ich habe von Gitg gehört. Hört sich gut an. Obwohl, die Sache ist, sah gitk auf Fenstern OK aus, wenn ich mich richtig erinnere.
Hasen

Gitg ist viel schöner. +1 dafür!
crazy2be

2
Alle tcl / tk-Apps sehen leider abscheulich aus.
Jpaugh

1
@jpaugh Nein, nicht alle, nur diejenigen, die keine ttk-Stile verwenden, das Tk-Themensystem.
Lloeki,

11

tcl / tk 8.5 ist eigentlich themenorientiert und sieht auf Windows 7 und anscheinend auf Mac eher nativ aus. Es scheint weniger Sorgfalt darauf verwendet worden zu sein, Theme Engine Bridges für Linux zu schreiben, aber Sie können eines von drei Dingen tun:

Um es besteht zwischen Neustarts der Zeile *TkTheme: clamzu ~/.Xresources, aber ich bin nicht sicher , ob das lesen , ob Sie Ihre Desktop - Umgebung starten mit startxoder nicht.

Unter Ubuntu 11.04 war es ziemlich einfach, die Pfade der tcl / tk-Bibliothek nach Bedarf anzupassen (einige Leute haben berichtet, dass diese Anweisungen veraltet sind):

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

$make

$sudo checkinstall

checkinstall Dadurch, dass eine schnelle .deb-Datei erstellt und nicht direkt installiert wird, bleibt das System aufgeräumt.

Dann fordere tk wie oben beschrieben auf, deine qt-Themes zu verwenden:

$echo '*TkTheme: tileqt' | xrdb -merge -
  • Es gibt auch ein Tile-GTK im selben Sourceforge-Repo wie Tile-QT, aber es ist völlig veraltet. Ich habe es geschafft, es zu bauen und zu installieren, nachdem ich viel herumgespielt habe, aber die visuellen Ergebnisse waren chaotisch - nicht zu empfehlen.

10

Um dies auf die Debian (Ubuntu) Weise zu beheben:

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

Und dann wähle die wish8.5-Alternative.


Das sieht viel schöner aus, obwohl es immer noch nicht dem Gtk + - oder Qt-Thema folgt. +1
crazy2be

Vielen Dank, ich hatte keine perfekte Desktop-Integration erwartet, aber 8.5 sieht viel besser aus als die in 8.4.
Lucian Adrian Grijincu

Diese Antwort sollte dort oben sein! Durch einfaches Ändern von tk auf 8.5 wird das Aussehen von gitk erheblich verbessert.
Pedromanoel

4
Dies ist, was ich auf Ubuntu 14.04 bekomme:update-alternatives: error: no alternatives for wish
Luís de Sousa

Dies funktioniert nicht mehr - möglicherweise aufgrund von Änderungen in Debian-basierten Distributionen im Laufe der Jahre. Versuchte es mit Debian 9.
einpoklum - stelle Monica

8

Gabriel Morins Post ist gut, aber tile-qt baut nicht mehr mit diesen Anweisungen und obwohl der Blog-Post, auf den er verlinkt hat (übrigens meiner), immer noch funktioniert, ist er nicht mehr die beste Lösung, die ich kenne.

Für Leute, die etwas Besseres als das "Clam" -Thema wollen, enthält PySolFC ein Clearlooks-Thema für Ttk, und ich habe einen weiteren Blog-Beitrag geschrieben, in dem erklärt wird, wie man es installiert.

Hier sind die relevanten Teile davon, angepasst für einen Lubuntu-Benutzer (was ich jetzt bin):

# 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

Es gibt einige Widgets, die immer noch hässlich sind (die Menüleiste und der SHA1 ID:Text, der in gitk gepatcht werden muss, um thematisiert werden zu können), aber ich kenne nicht genug Tcl / Tk, um Dinge zu patchen.

(Und ich habe Gerüchte gehört, dass die Menüleiste nicht themengerecht gestaltet wurde, weil sie an das Betriebssystem delegiert wurde, um unter Windows und MacOS zu zeichnen.)


Ich mag die Tatsache, dass du den Link zu deinem Blog bemerkt hast und eine verbesserte Lösung gefunden hast :). Wenn ich Zeit finde, mich wieder einzurichten, aktualisiere ich möglicherweise die Build-Anweisungen für tileqt, da ich mir vorstelle, dass dies immer noch eine praktikable Alternative zu dem ist, was Sie vorschlagen.
Gabriel Morin

Dieses Skript macht in der Tat etwas, es ist einfach nicht sichtbar. Erhalten Sie noch das hässliche helle Thema. Getestet auf Ubuntu 14.04.
Luís de Sousa

Nun, ich arbeite auf einem Lubuntu 14.04-System, das in ein teilweise Kubuntu 14.04-System verwandelt wurde, und ich kann sagen, dass dies perfekt funktioniert git gui(was ich täglich verwende), daher habe ich keine Ahnung, was an Ihrem Ende falsch sein könnte. Dies sollte fest in den gemeinsamen Kern aller * buntu distros fallen.
Ssokolow

4

Sie können gitk nicht einfach dazu bringen, Ihren anderen Themen zu folgen, aber das Erscheinungsbild ist ziemlich anpassbar.

Wie an anderer Stelle erwähnt, können Sie Ihre Schriftarten manuell auswählen. Fast alle Farben können auch in Ihren Farben geändert werden ~/.gitk. Stellen Sie sicher, dass gitk nicht ausgeführt wird, während Sie diese Datei ändern, da der Inhalt beim Beenden überschrieben wird.

Folgendes habe ich (meine ~/.gitk Datei ): Bildbeschreibung hier eingeben


1
( Haftungsausschluss: Ich bin der Betreuer. ) Es gibt jetzt ein offizielles Dracula-Dark-Theme für gitk: draculatheme.com/gitk
Aurelien

1
@Aurelien Gut zu sehen , andere mit gitk Theming, schrieb ich das sagen zu , dass erlaubt , diese Parameter zu ändern;) (aber Dracula einen zu hohen Kontrast für mich Nice job obwohl).!
Gauthier

Gauthier, @Aurelien: Ich habe versucht, den verlinkten Text in meine ~/.gitkDatei aufzunehmen - er hatte keine Wirkung.
einpoklum - wieder Monica

1
@einpoklum: Ich persönlich habe diesen Text ~/.config/git/gitkanstelle von eingefügt ~/.gitk. Siehe draculatheme.com/gitk . Hilft das? Ich weiß nichts über andere Themen.
Aurelien

1
@ Aurelien: Das tut es.
einpoklum - wieder Monica

1

Da kaizer.se sagte, dass gitk (und auch git gui ) mit tcl / tk implementiert wird, ist tk das Widget-Toolkit und kümmert sich nicht um gtk-basierte Themen (oder überhaupt keine afaik). Und nein, das können Sie nicht beheben (es ist natürlich nicht unmöglich, gitk so umzuschreiben, dass es gtk-Widgets verwendet), außer es durch etwas anderes zu ersetzen.

Sie können die Schriftarten in den Einstellungen ändern , um sie ein wenig zu verbessern. Ich verwende:
Hauptschriftart: Helvetica 9
Diff Anzeigeschriftart: Courier 9
Benutzerschnittstellenschriftart: Helvetica 9

Das sieht ein bisschen besser aus und ist nicht so kaputt wie die Standardeinstellungen, gut für mich.


0

Ich habe tile-gtk (auf Mint 17.2) mit folgenden Befehlen erstellt:

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 -

Funktioniert gut, sieht gut aus; Leider kann ich aufgrund von tilegtk nur eine Instanz von gitk ausführen.


0

Nach einigen Vorschlägen hier und anderswo bin ich zu dem Schluss gekommen, dass dieses ganze Tcl / Tk-Geschäft ein hilfloser Fall ist - es schafft es nie, das DE-Thema zu verwenden.

Deshalb habe ich mich entschlossen, andere GUIs für Git auszuprobieren. Das Git Wiki listet eine Reihe von GUIs auf , von denen einige durchaus in der Lage sind:

  • Git-Cola - basiert auf PyQt4 und scheint hinsichtlich der Funktionalität am leistungsstärksten zu sein.

  • QGit - basiert auf Qt, sieht gut aus, verfügt jedoch nicht über einige Funktionen, insbesondere in Bezug auf Branchen.

  • GitKraken - eine leistungsstarke und elegante Oberfläche, die auf Electron basiert und mit zahlreichen Funktionen ausgestattet ist. kostenlos, erfordert jedoch eine Benutzerregistrierung beim Anbieter.

Mein Rat für Benutzer, die mit git-gui / gitk zu kämpfen haben, ist, einfach zu einem der oben genannten zu wechseln.


0

In meinem Fall waren die richtige Version von tk und wish auf dem System installiert, und das Problem ergab sich aus der Installation von Anaconda.

Das Anaconda-Installationsskript fügt export PATH=":/path/to/anaconda3/bin:$PATH"Ihrer hinzu ~/.bashrc, wodurch das dort installierte Wunschprogramm Vorrang hat.

Umschreiben dieser Zeile, damit export PATH="$PATH:/path/to/anaconda3/bin"der Systemwunsch von gitk ausgeführt werden kann, und Beheben des Zeichensatzproblems.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.