gitk виглядає некрасиво / не шанує налаштування теми


32

Я запускаю Xubuntu (фактично linux mint з xfce вгорі, але я вважаю, що це по суті те саме)

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

Я думаю, що тут винна саме tcl, але чи можу я це виправити?

Ось малюнок для порівняння між тим, як виглядає firefox під поточною темою та тим, як виглядає gitk:

gitk потворна тема


1
приємно, що у нас є gitg, але я все одно проголосую це питання, щоб побачити, чи хтось може вирішити потворність tcl / tk gitk все ще компактніший ніж gitg.
u0b34a0f6ae

Відповіді:


25

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

Тому я замість рішення рекомендую gitg , який є подібним інструментом, менш зрілим, використовуючи GTK +.


3
+1 gitg не знав про це
Йоаким Елофссон,

Я чув про gitg. Звучить багатообіцяюче. Хоча справа в тому, що gitk виглядав нормально на Windows, якщо я правильно пам’ятаю.
hasen

gitg набагато приємніше. +1 для цього!
crazy2be

2
На жаль, всі програми tcl / tk виглядають огидно.
jpaugh

1
@jpaugh Ні, не всі, лише ті, у яких не використовуються стилі ttk, система «тема» Tk.
Льоекі

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 -
  • Також є плитка-gtk у тому ж джерелі для репортажу, що і черепиця-qt, але це остаточно застаріло. Мені вдалося створити його та встановити після багатого диваків, але візуальні результати були брудними - не рекомендується.

10

Щоб виправити це, Debian (Ubuntu) спосіб:

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

А потім виберіть бажану альтернативу 8.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)


Мені подобається те, що ти помітив посилання на свій блог і повернувся з покращеним рішенням :). Якщо я знайду якийсь час, щоб налаштувати себе знову, я можу оновити інструкції по збірці для tileqt, оскільки я думаю, що це все ще є життєздатною альтернативою тому, що ви пропонуєте.
Габріель Морін

Цей сценарій дійсно щось робить, його просто не видно. Все ж отримайте некрасиву світло-кольорову тему. Тестовано на Ubuntu 14.04.
Luís de Sousa

Ну, я в системі Lubuntu 14.04, яка отримала frankenstein'd частково в системі Kubuntu 14.04, і я можу сказати, що це прекрасно працює git gui(що я використовую щодня), тому я не маю уявлення, що може бути не так у вашому кінці. Це має міцно входити до загального ядра, спільного для всіх * buntu дистрибутивів.
ssokolow

4

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

Як було сказано в іншому місці, ви можете вибрати шрифти вручну. Майже всі кольори також можуть змінюватися у вашому ~/.gitk. Переконайтеся, що gitk не працює, змінюючи цей файл, оскільки він перезаписує вміст при виході.

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


1
( Відмова від відповідальності: я обслуговуюча особа . ) Зараз офіційна темна тема Дракули для gitk: draculatheme.com/gitk
Aurelien

1
@Aurelien Приємно бачити інших, які використовують тематику gitk, я написав команду, яка дозволяє змінити ці параметри;) (але Дракула має занадто високий контраст для мене. Хоча приємна робота!)
Готьє

Готьє, @Aurelien: Я спробував розмістити зв'язаний текст у моєму ~/.gitkфайлі - це не мало ефекту.
einpoklum - відновити Моніку

1
@einpoklum: особисто я ставлю цей текст ~/.config/git/gitkзамість ~/.gitk. Дивіться draculatheme.com/gitk . Чи допомагає це? Я не знаю про інші теми.
Aurelien

1

1

як kaizer.se сказав, що gitk (а також git gui ) реалізується за допомогою tcl / tk, tk - це інструментарій віджетів і не цікавиться темами на основі gtk (або будь-якими взагалі afaik). І ні це не те, що ви можете виправити (добре переписати gitk на використання віджета gtk - це не є неможливим, але навряд чи є "виправленням"), крім заміни його на щось інше.

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

Це виглядає трохи краще і не так зламано, як за замовчуванням, добре для мене.


0

Я створив tile-gtk (на монетному дворі 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.


0

Після деяких пропозицій тут і в інших місцях я прийшов до висновку, що весь бізнес Tcl / Tk - це безпорадний випадок - він ніколи не вдається використовувати тему DE.

Тому я вирішив спробувати інші графічні інтерфейси для Git. У Git Wiki перелічено ряд графічних інтерфейсів , деякі з яких цілком здатні:

  • git-cola - заснована на PyQt4 і, здається, є найбільш потужною з точки зору функціональності.

  • QGit - заснований на Qt, виглядає чудово, але йому не вистачає певної функціональності, особливо що стосується галузей.

  • GitKraken - потужний та елегантний інтерфейс, заснований на Electron та завантажений функціями; безкоштовно, але вимагає реєстрації користувача у постачальника.

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


0

У моєму випадку в системі було встановлено правильну версію tk and desire, і проблема виникла із встановлення анаконди.

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

Перезапис цього рядка export PATH="$PATH:/path/to/anaconda3/bin"дозволив виконувати бажання системи за допомогою gitk та вирішив проблему з шрифтом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.