gitk看起来很丑/不支持主题设置


32

我正在运行Xubuntu,(实际上是Linux Mint,顶部是xfce,但我想它基本上是同一回事)

我将外观主题设置为MurrinaStormCloud(的修改版本),但是如果我运行gitk,它将使用丑陋的字体呈现,丑陋的颜色和丑陋的小部件。

我认为这应该归咎于tcl,但是我可以解决它吗?

这是用于比较当前主题下的firefox外观和gitk外观的图片:

gitk丑陋的主题


1
好的,我们有gitg,但是我仍然投票赞成这个问题,看看是否有人可以解决tcl / tk的问题。gitk仍然比gitg更紧凑。
u0b34a0f6ae

Answers:


25

gitk是在tcl / tk中实现的。我到处搜寻了,但您似乎无能为力。在任何地方的Linux上,它都很难受。除了使用可怕的工具包外,gitk对我来说变得越来越糟,因为它们增加了更多功能(大多数未使用),UI变得更加混乱。

因此,我建议使用gitg替代解决方案,而不是使用GTK +作为成熟度较低的类似工具。


3
+1个gitg不知道那个人
乔基姆·

我听说过gitg。听起来很有前途。不过,事实是,如果我没记错的话,gitk在Windows上看起来还可以。
哈森

gitg更好。为此+1!
crazy2be

2
不幸的是,所有的tcl / tk应用程序看起来都很丑陋。
2011年

1
@jpaugh不,不是全部,只是那些不使用ttk样式的Tk'theme'系统。
Lloeki

11

tcl / tk 8.5实际上是主题化的,在Windows 7和Mac上看起来很原生。在Linux下为它编写主题引擎桥的工作似乎很少,但是您可以做以下三件事之一:

要使它在重新启动之间持续存在,请将行添加*TkTheme: clam~/.Xresources,但是我不确定是否可以使用它启动桌面环境startx

在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 -
  • 在与tile-qt相同的sourceforge回购中也有一个tile-gtk,但是已经过时了。经过几次摆弄,我确实设法构建并安装了它,但是视觉效果却很杂乱-不推荐。

10

要以Debian(Ubuntu)方式解决此问题,请执行以下操作:

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

然后选择wish8.5替代。


尽管它仍然没有遵循Gtk +或Qt主题,但看起来更好看。+1
crazy2be

谢谢,我没想到完美的桌面集成,但是8.5的确比8.4更好。
Lucian Adrian Grijincu 2011年

这个答案应该在那里!简单地将tk更改为8.5可以大大改善gitk的外观。
pedromanoel 2013年

4
这是我得到的Ubuntu 14.04:update-alternatives: error: no alternatives for wish
路易斯·德索萨

这不再起作用-可能是由于多年来基于Debian的发行版的变化。在Debian 9.试了一下
起用莫妮卡- einpoklum

8

加布里埃尔·莫林(Gabriel Morin)的帖子很好,但是tile-qt不再按照这些说明进行构建,尽管他链接到的博客帖子(顺便说一句)仍然有效,但它不再是我所知道的最佳解决方案。

对于想要比“蛤lam ”主题更好的东西的人,PySolFC包含了一个针对TtkClearlooks主题,我写了另一篇博客文章,解释了如何安装它。

这是其中的相关部分,适用于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上绘制)


我喜欢您注意到博客链接并提供改进的解决方案:)的事实。如果我有时间重新设置自己,我可能会更新tileqt的构建说明,因为我认为它仍然是您建议的替代方案。
加布里埃尔·莫林

该脚本确实可以执行某些操作,只是不可见。仍然得到丑陋的浅色主题。在Ubuntu 14.04上测试。
路易斯·德·索萨

好吧,我使用的是Lubuntu 14.04系统,它把frankenstein集成到了部分Kubuntu 14.04系统中,我可以说这与git gui(我每天都在使用)完美配合,所以我不知道这到底有什么问题。这应该完全属于所有* buntu发行版所共有的共同核心。
ssokolow '16

4

您不能轻易使gitk遵循其他主题,但是它的外观是相当可定制的。

如其他地方所述,您可以手动选择字体。您的中几乎所有颜色都是可以修改的~/.gitk。但是,请确保在修改此文件时gitk没有运行,因为它会覆盖退出时的内容。

这是我所拥有的(我的~/.gitk 文件): 在此处输入图片说明


1
免责声明:我是维护者。)gitk现在有一个官方的吸血鬼黑暗主题:draculatheme.com/gitk
Aurelien

1
@Aurelien很高兴看到其他人使用gitk主题,我编写了允许更改这些参数的提交;)(但是Dracula对我来说对比度太高。虽然不错!)
Gauthier

Gauthier,@ Aurelien:我尝试将链接到的文本放置在~/.gitk文件中-无效。
einpoklum-恢复莫妮卡

1
@einpoklum:我个人将这段文字放在~/.config/git/gitk而不是~/.gitk。参见draculatheme.com/gitk。这有帮助吗?我不知道其他主题。
Aurelien

1
@Aurelien:是的。
einpoklum-恢复莫妮卡

1

正如kaizer.se所说的gitk(还有git gui)是使用tcl / tk实现的,tk是小部件工具包,并不关心基于gtk的主题(或任何其他afaik)。不,这不是您可以解决的事情(重写gitk以使用gtk小部件不是不可能的,但几乎不是“修复”),只能用其他东西代替。

您可以在首选项中更改字体以使其稍好一些,我使用:
主字体:Helvetica 9
差异显示字体:Courier 9
用户界面字体:Helvetica 9

对我来说,这看起来更好一些,但没有默认值那么糟糕。


0

我使用以下命令构建了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实例。


0

在这里和其他地方提出了一些建议之后,我得出结论,整个Tcl / Tk业务是一个无奈的案例-它永远无法使用DE主题。

因此,我决定为Git尝试其他GUI。Git Wiki 列出了许多GUI,其中一些功能非常强大:

  • git-cola-基于PyQt4,在功能方面似乎最强大。

  • 基于Qt的 QGit看起来不错,但是缺少一些功能,尤其是在分支方面。

  • GitKraken-基于Electron且功能强大且功能强大的优雅界面;免费,但需要用户向供应商注册。

对于那些在git-gui / gitk中苦苦挣扎的用户,我的建议是简单地切换到上述之一。


0

在我的情况下,正确的tk和wish版本安装在系统上,并且问题是由于安装了蟒蛇而引起的。

anaconda安装脚本会添加export PATH=":/path/to/anaconda3/bin:$PATH"到您的中~/.bashrc,这会导致在此安装的愿望程序具有优先权。

重写此行以export PATH="$PATH:/path/to/anaconda3/bin"允许gitk执行系统的愿望,并解决了字体问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.