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

32

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

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

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

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

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

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

Ответы:

25

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

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

u0b34a0f6ae
источник
3
+1 Гитг не знал об этом
Йоаким Элофссон
Я слышал о Гитге. Звучит многообещающе. Хотя дело в том, что на окнах гитк выглядел нормально, если я правильно помню.
Хазен
Гитг намного приятнее. +1 за это!
crazy2be
2
К сожалению, все приложения tcl / tk выглядят отвратительно.
jpaugh
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 -
  • В том же репозитории sourceforge, что и tile-qt, есть также 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.
Люциан Адриан Гриджинку
Этот ответ должен быть там! Простое изменение tk до 8.5 значительно улучшает внешний вид gitk.
pedromanoel
4
Это то, что я получаю в Ubuntu 14.04:update-alternatives: error: no alternatives for wish
Луис де Соуза
Это больше не работает - возможно, из-за изменений в дистрибутивах на основе Debian за эти годы. Пробовал с Debian 9.
einpoklum - восстанови Монику
8

Пост Габриэля Морина хорош, но 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)

ssokolow
источник
Мне нравится тот факт, что вы заметили ссылку на свой блог и вернулись с улучшенным решением :). Если я найду время, чтобы настроить себя снова, я мог бы обновить инструкции по сборке для tileqt, так как я думаю, что это все еще жизнеспособная альтернатива тому, что вы предлагаете.
Габриэль Морен
Этот скрипт действительно что-то делает, его просто не видно. Все еще получаю уродливую светлую тему. Проверено на Ubuntu 14.04.
Луис де Соуза
Ну, я нахожусь в системе Lubuntu 14.04, в которой frankenstein частично входит в систему Kubuntu 14.04, и я могу сказать, что она прекрасно работает git gui(которую я использую ежедневно), поэтому я понятия не имею, что может быть не так с вашей стороны. Это должно строго входить в общее ядро, разделяемое всеми дистрибутивами Buntu.
ssokolow
4

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

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

Вот что у меня есть (мой ~/.gitk файл ): введите описание изображения здесь

Готье
источник
1
( Отказ от ответственности: Я сопровождающим. ) Существует в настоящее время официальный Дракула темная тема для gitk: draculatheme.com/gitk
Орельен
1
@Aurelien Приятно видеть, что другие используют gitk Темы, я написал коммит, который позволяет изменять эти параметры;) (но у Дракулы слишком высокий контраст для меня. Хотя хорошая работа!)
Готье
Готье, @Aurelien: я попытался поместить связанный текст в мой ~/.gitkфайл - это не имело никакого эффекта.
einpoklum - восстановить Монику
1
@einpoklum: лично я вставил этот текст ~/.config/git/gitkвместо~/.gitk . См. Draculatheme.com/gitk . Это помогает? Я не знаю о других темах.
Аурелиен
1
@ Aurelien: так и есть.
einpoklum - восстановить Монику
1

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

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

Работает хорошо, выглядит хорошо; к сожалению, я могу запустить только один экземпляр gitk одновременно из-за tilegtk.

p2rkw
источник
0

После некоторых предложений здесь и в других местах я пришел к выводу, что весь этот бизнес Tcl / Tk - беспомощный случай - ему никогда не удается использовать тему DE.

Поэтому я решил попробовать другие графические интерфейсы для Git. В Git Wiki перечислены несколько графических интерфейсов , некоторые из которых вполне способны:

  • git-cola - основан на PyQt4 и кажется наиболее мощным с точки зрения функциональности.

  • QGit, основанный на Qt, выглядит великолепно, но ему не хватает функциональности, особенно в том, что касается веток.

  • GitKraken - мощный и элегантный интерфейс, основанный на Electron и загруженный функциями; бесплатно, но требует регистрации пользователя у продавца.

Мой совет для пользователей, борющихся с git-gui / gitk, - просто переключиться на один из вышеперечисленных.

Луис де Соуза
источник
0

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

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

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

ysalmon
источник