Answers:
gitk是在tcl / tk中实现的。我到处搜寻了,但您似乎无能为力。在任何地方的Linux上,它都很难受。除了使用可怕的工具包外,gitk对我来说变得越来越糟,因为它们增加了更多功能(大多数未使用),UI变得更加混乱。
因此,我建议使用gitg替代解决方案,而不是使用GTK +作为成熟度较低的类似工具。
tcl / tk 8.5实际上是主题化的,在Windows 7和Mac上看起来很原生。在Linux下为它编写主题引擎桥的工作似乎很少,但是您可以做以下三件事之一:
$echo '*TkTheme: clam' | xrdb -merge -
要使它在重新启动之间持续存在,请将行添加*TkTheme: clam
到~/.Xresources
,但是我不确定是否可以使用它启动桌面环境startx
。
在同一页面上,同一博客文章的作者对此提供了替代解决方案:https : //superuser.com/a/428563/107881
要使tk使用qt主题,您需要从以下位置签出并构建tile-qt:git://tktable.git.sourceforge.net/gitroot/tktable/tile-qt
在Ubuntu 11.04下,这非常容易,可以根据需要调整tcl / tk库路径(有人报告说这些指令已过时):
$./configure --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5/
$make
$sudo checkinstall
checkinstall
用于创建快速.deb而不是直接安装,可保持系统整洁。
然后如上,然后让tk使用您的qt主题:
$echo '*TkTheme: tileqt' | xrdb -merge -
要以Debian(Ubuntu)方式解决此问题,请执行以下操作:
$ sudo apt-get install tk8.5
$ sudo update-alternatives --config wish
然后选择wish8.5替代。
update-alternatives: error: no alternatives for wish
加布里埃尔·莫林(Gabriel Morin)的帖子很好,但是tile-qt不再按照这些说明进行构建,尽管他链接到的博客帖子(顺便说一句)仍然有效,但它不再是我所知道的最佳解决方案。
对于想要比“蛤lam ”主题更好的东西的人,PySolFC包含了一个针对Ttk的Clearlooks主题,我写了另一篇博客文章,解释了如何安装它。
这是其中的相关部分,适用于Lubuntu用户(我现在是):
# 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
有些小部件仍然很丑陋(菜单栏和SHA1 ID:
文本,需要在gitk中进行修补才能使用),但是我对Tcl / Tk的修补不够了解。
(而且我听说有传言说菜单栏不能被使用,因为它被委托给OS以在Windows和MacOS上绘制)
git gui
(我每天都在使用)完美配合,所以我不知道这到底有什么问题。这应该完全属于所有* buntu发行版所共有的共同核心。
您不能轻易使gitk遵循其他主题,但是它的外观是相当可定制的。
如其他地方所述,您可以手动选择字体。您的中几乎所有颜色都是可以修改的~/.gitk
。但是,请确保在修改此文件时gitk没有运行,因为它会覆盖退出时的内容。
这是我所拥有的(我的~/.gitk
文件):
~/.gitk
文件中-无效。
正如kaizer.se所说的gitk(还有git gui)是使用tcl / tk实现的,tk是小部件工具包,并不关心基于gtk的主题(或任何其他afaik)。不,这不是您可以解决的事情(重写gitk以使用gtk小部件不是不可能的,但几乎不是“修复”),只能用其他东西代替。
您可以在首选项中更改字体以使其稍好一些,我使用:
主字体:Helvetica 9
差异显示字体:Courier 9
用户界面字体:Helvetica 9
对我来说,这看起来更好一些,但没有默认值那么糟糕。
我使用以下命令构建了tile-gtk(在Mint 17.2上):
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 -
效果不错,看起来不错;不幸的是,由于tilegtk,我一次只能运行一个gitk实例。
在这里和其他地方提出了一些建议之后,我得出结论,整个Tcl / Tk业务是一个无奈的案例-它永远无法使用DE主题。
因此,我决定为Git尝试其他GUI。Git Wiki 列出了许多GUI,其中一些功能非常强大:
git-cola-基于PyQt4,在功能方面似乎最强大。
基于Qt的 QGit看起来不错,但是缺少一些功能,尤其是在分支方面。
GitKraken-基于Electron且功能强大且功能强大的优雅界面;免费,但需要用户向供应商注册。
对于那些在git-gui / gitk中苦苦挣扎的用户,我的建议是简单地切换到上述之一。