Гитк выглядит некрасиво / не соблюдает настройки темы

9799
hasen

Я использую Xubuntu (на самом деле Linux Mint с XFCE сверху, но я полагаю, что это по сути то же самое)

Я установил для своей темы оформления (измененную версию) MurrinaStormCloud, но если я запускаю gitk, он использует уродливую визуализацию шрифтов, уродливые цвета, уродливые виджеты.

Я думаю, что здесь виноват tcl, но можно ли это исправить?

Вот картинка для сравнения того, как выглядит Firefox в текущей теме и как выглядит gitk:

Гитк уродливая тема

31
хорошо, что у нас есть gitg, но я все еще голосую за этот вопрос, чтобы посмотреть, сможет ли * кто-нибудь * решить tcl / tk безобразие. Гитк все еще более компактен, чем Гитг. u0b34a0f6ae 14 лет назад 1

9 ответов на вопрос

24
u0b34a0f6ae

Гитк реализован в tcl / tk. Я искал вокруг, но, кажется, вы мало что можете сделать; это повсеместно ругается на Linux. И кроме использования отвратительного инструментария, gitk становился все хуже для меня, поскольку они добавляли больше функций (в основном не используются), пользовательский интерфейс становится еще более запутанным.

Поэтому я вместо решения рекомендую gitg, аналогичный инструмент, менее зрелый, использующий GTK +.

+1 Гитг не знал об этом Joakim Elofsson 14 лет назад 3
Я слышал о Гитге. Звучит многообещающе. Хотя дело в том, что на окнах гитк выглядел нормально, если я правильно помню. hasen 14 лет назад 0
Гитг намного приятнее. +1 за это! crazy2be 12 лет назад 0
К сожалению, все приложения tcl / tk выглядят отвратительно. jpaugh 12 лет назад 1
@jpaugh Нет, не все, только те, которые не используют стили ttk, систему Tk 'theme'. Lloeki 11 лет назад 1
В 2016 году «Гитг» выглядит довольно зрелым. Luís de Sousa 8 лет назад 0
11
Gabriel Morin

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 - 
  • В том же репозитории sourceforge, что и tile-qt, есть также tile-gtk, но оно устарело. Мне удалось собрать и установить его после долгих хлопот, но визуальные результаты были грязными - не рекомендуется.
10
speakman

Чтобы исправить это, используйте Debian (Ubuntu):

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

А затем выберите альтернативу wish8.5.

Это выглядит намного лучше, хотя все еще не соответствует теме Gtk + или Qt. +1 crazy2be 12 лет назад 0
Спасибо, я не ожидал идеальной интеграции с рабочим столом, но 8.5 выглядит намного лучше, чем те, что в 8.4. Lucian Adrian Grijincu 12 лет назад 0
Этот ответ должен быть там! Простое изменение tk до 8.5 значительно улучшает внешний вид gitk. pedromanoel 11 лет назад 0
Это то, что я получаю в Ubuntu 14.04: `update-alternatives: error: нет альтернатив для желания` Luís de Sousa 8 лет назад 4
8
ssokolow

Пост Габриэля Морина хорош, но tile-qt больше не собирается с этими инструкциями, и, хотя пост в блоге, на который он ссылался (кстати, мой), все еще работает, это больше не лучшее решение, которое я знаю.

Для людей, которые хотят что-то лучше, чем тема «моллюск», PySolFC включает в себя тему Clearlooks для Ttk, и я написал еще одно сообщение в блоге, в котором объясняется, как его установить.

Вот соответствующие части, адаптированные для пользователя 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 для исправления вещей.

(И я слышал слухи о том, что строка меню не была изменяемой, потому что она делегирована ОС для рисования на Windows и MacOS)

Мне нравится тот факт, что вы заметили ссылку на свой блог и вернулись с улучшенным решением :). Если я найду время, чтобы настроить себя снова, я мог бы обновить инструкции по сборке для tileqt, так как я думаю, что это все еще жизнеспособная альтернатива тому, что вы предлагаете. Gabriel Morin 9 лет назад 0
Этот скрипт действительно что-то делает, его просто не видно. Всё ещё получаю уродливую светлую тему. Проверено на Ubuntu 14.04. Luís de Sousa 8 лет назад 0
Ну, я нахожусь на системе Lubuntu 14.04, в которую frankenstein попал в частично систему Kubuntu 14.04, и я могу сказать, что это прекрасно работает с `git gui` (который я использую ежедневно), поэтому я понятия не имею, что может быть не так на вашем конце. Это должно строго входить в общее ядро, общее для всех дистрибутивов Buntu. ssokolow 8 лет назад 0
4
Gauthier

Вы не можете легко заставить gitk следовать другим темам, но его внешний вид довольно настраиваемый.

Как уже упоминалось в другом месте, вы можете выбрать свои шрифты вручную. Почти все цвета также могут быть изменены в вашем ~/.gitk. Убедитесь, что gitk не работает во время изменения этого файла, поскольку он перезаписывает содержимое при выходе.

Вот что у меня есть (мой ~/.gitk файл ):

(* Отказ от ответственности: я сопровождающий. *) Теперь есть официальная темная тема Дракулы для gitk: https://draculatheme.com/gitk Aurelien 6 лет назад 1
@Aurelien Приятно видеть, что другие используют gitk Темы, я написал коммит, который позволяет изменять эти параметры;) (но у Дракулы слишком высокий контраст для меня. Хотя хорошая работа!) Gauthier 6 лет назад 1
1
Joakim Elofsson

Как сказал kaizer.se, gitk (а также git gui ) реализован с использованием tcl / tk, tk является набором инструментов для виджетов и не заботится о темах, основанных на gtk (или вообще о каких-либо afaik). И нет, это не то, что вы можете исправить (хорошо переписать gitk для использования виджета gtk - это не невозможно, но вряд ли это «исправить»), кроме как заменить его чем-то другим.

Вы можете изменить шрифт в настройках, чтобы сделать его немного лучше, я использую:
Основной шрифт: Helvetica 9
Шрифт Diff Display: Courier 9
Шрифт интерфейса пользователя: Helvetica 9

Это выглядит немного лучше и не так сломано, как по умолчанию, хорошо для меня.

0
p2rkw

I have built tile-gtk (on Mint 17.2) with following commands:

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 - 

Works good, looks good; unfortunately I can run only one instance of gitk at time due to tilegtk.

0
Luís de Sousa

After some of the suggestions here and elsewhere, I came to the conclusion this whole Tcl/Tk business is an helpless case - it never manages to use the DE theme.

Therefore I decided to try other GUIs for Git. The Git Wiki lists a number of GUIs, some of which are quite able:

  • git-cola - based on PyQt4 and seems to be most powerful in term of functionality.

  • QGit - based on Qt, looks great but lacks some functionality, especially in what concerns branches.

  • GitKraken - a powerful and elegant interface based on Electron and loaded with features; free, but requires user registration with the vendor.

My advice for users struggling with git-gui/gitk is to simply switch to one of the above.

0
ysalmon

В моем случае правильная версия tk и wish были установлены в системе, и проблема возникла из-за установки anaconda.

Сценарий установки anaconda добавляет export PATH=":/path/to/anaconda3/bin:$PATH"к вашему ~/.bashrc, что заставляет желаемую программу, установленную там, иметь приоритет.

Переписав эту строку, чтобы export PATH="$PATH:/path/to/anaconda3/bin"gitk удовлетворил желание системы, и решил проблему со шрифтами.

Похожие вопросы