gitk ดูน่าเกลียด / ไม่เคารพการตั้งค่าธีม


32

ฉันกำลังใช้งาน Xubuntu (จริง ๆ แล้วลินุกซ์กับ xfce อยู่ด้านบน แต่ฉันคิดว่ามันเป็นสิ่งเดียวกัน)

ฉันตั้งค่าธีมลักษณะที่ปรากฏของฉันเป็น (เวอร์ชั่นดัดแปลง) ของ MurrinaStormCloud แต่ถ้าฉันรัน gitk มันจะใช้การเรนเดอร์ตัวอักษรที่น่าเกลียดสีน่าเกลียดวิดเจ็ตที่น่าเกลียด

ฉันคิดว่า tcl เป็นสิ่งที่ตำหนิที่นี่ แต่ฉันจะแก้ไขได้ไหม

นี่คือรูปภาพสำหรับเปรียบเทียบระหว่างสิ่งที่ firefox มีลักษณะภายใต้ชุดรูปแบบปัจจุบันและลักษณะ gitk:

ชุดรูปแบบน่าเกลียด gitk


1
ดีที่เรามี gitg แต่ฉันยังคงโหวตคำถามนี้ขึ้นเพื่อดูว่าใครสามารถแก้ปัญหาความน่าเกลียดของ tcl / tk gitk นั้นยังเล็กกว่า gitg
u0b34a0f6ae

คำตอบ:


25

gitk มีการใช้งานใน tcl / tk ฉันค้นหาไปรอบ ๆ แต่ดูเหมือนว่าคุณจะทำได้ไม่มากนัก มันดุว่าน่าเกลียดบน Linux ทุกที่ และนอกเหนือจากการใช้ชุดเครื่องมือที่น่ากลัวแล้ว Gitk ก็ยิ่งแย่ลงสำหรับฉันเนื่องจากพวกเขาใส่ฟังก์ชั่นเพิ่มเติม (ส่วนใหญ่ไม่ได้ใช้) UI จะกลายเป็นความสับสนมากยิ่งขึ้น

ดังนั้นฉันจึงแนะนำวิธีแก้ปัญหาแทนgitgซึ่งเป็นเครื่องมือที่คล้ายกันใช้งานน้อยกว่าเมื่อใช้ GTK +


3
+1 gitg ไม่รู้เกี่ยวกับสิ่งนั้น
Joakim Elofsson

ฉันเคยได้ยินเกี่ยวกับ gitg เสียงที่มีแนวโน้ม แม้ว่าสิ่งที่เป็น gitk ดูตกลงบน windows ถ้าฉันจำได้อย่างถูกต้อง
hasen

gitg ดีกว่ามาก +1 สำหรับสิ่งนั้น!
crazy2be

2
แอป tcl / tk ทั้งหมดดูน่าเกลียดน่าเสียดาย
jpaugh

1
@jpaugh ไม่ไม่ทั้งหมดเพียงแค่ผู้ที่ไม่ได้ใช้รูปแบบ ttk ซึ่งเป็นระบบ 'ชุดรูปแบบ' ของ Tk
Lloeki

11

tcl / tk 8.5 เป็นธีมที่ใช้งานได้จริงและมีลักษณะค่อนข้างเหมือนใน Windows 7 และเห็นได้ชัดบน Mac ดูเหมือนว่าจะมีการให้ความสนใจน้อยลงในการเขียนบริดจ์เอ็นจิ้นธีมภายใต้ลินุกซ์ แต่คุณสามารถทำหนึ่งในสามสิ่งต่อไปนี้:

หากต้องการให้มันยังคงอยู่ระหว่างการรีบูตให้เพิ่มบรรทัด*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-gtk ใน repo sourceforge เดียวกับ tile-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
Lucian Adrian Grijincu

คำตอบนี้ควรจะอยู่ที่นั่น! เพียงเปลี่ยน tk เป็น 8.5 จะช่วยปรับปรุงรูปลักษณ์ของ gitk อย่างมาก
pedromanoel

4
นี่คือสิ่งที่ฉันได้รับบน Ubuntu 14.04:update-alternatives: error: no alternatives for wish
Luís de Sousa

สิ่งนี้ไม่ทำงานอีกต่อไป - อาจเป็นเพราะการเปลี่ยนแปลงในการแจกแจงแบบเดเบียนในช่วงหลายปีที่ผ่านมา พยายามกับ Debian 9
einpoklum - คืนสถานะโมนิก้า

8

โพสต์ของ Gabriel Morin นั้นดี แต่ 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

สคริปต์นี้ทำอะไรบางอย่างมันไม่สามารถมองเห็นได้ ยังคงได้รับชุดรูปแบบสีอ่อนน่าเกลียด ทดสอบบน Ubuntu 14.04
Luís de Sousa

ฉันอยู่ในระบบ Lubuntu 14.04 ที่ได้รับ frankenstein มาเป็นส่วนหนึ่งของระบบ Ubuntu Ubuntu 14.04 และฉันสามารถพูดได้ว่ามันใช้งานได้อย่างสมบูรณ์แบบด้วยgit gui(ซึ่งฉันใช้ทุกวัน) ดังนั้นฉันจึงไม่รู้เลยว่าสิ่งที่คุณทำผิดไป สิ่งนี้น่าจะอยู่ในคอร์ที่ใช้ร่วมกันโดย * buntu distros ทั้งหมด
ssokolow

4

คุณไม่สามารถทำให้ gitk ติดตามธีมอื่น ๆ ของคุณได้อย่างง่ายดาย แต่รูปลักษณ์ของมันนั้นปรับแต่งได้ค่อนข้างดี

ตามที่กล่าวไว้ที่อื่นคุณสามารถเลือกแบบอักษรของคุณได้ด้วยตนเอง ~/.gitkเกือบทุกสีที่สามารถปรับเปลี่ยนได้เป็นอย่างดีในของคุณ ตรวจสอบให้แน่ใจว่า gitk ไม่ทำงานในขณะที่แก้ไขไฟล์นี้เนื่องจากจะเขียนทับเนื้อหาเมื่อจบการทำงาน

นี่คือสิ่งที่ฉันมี ( ~/.gitk ไฟล์ของฉัน): ป้อนคำอธิบายรูปภาพที่นี่


1
( ข้อจำกัดความรับผิดชอบ: ฉันเป็นผู้ดูแล ) ขณะนี้มีชุดรูปแบบที่มืดอย่างเป็นทางการของ Dracula สำหรับ gitk: draculatheme.com/gitk
Aurelien

1
@Aurelien ดีที่จะเห็นคนอื่น ๆ ที่ใช้ชุดรูปแบบ gitk ฉันเขียนความมุ่งมั่นที่ช่วยให้การเปลี่ยนแปลงพารามิเตอร์เหล่านี้;) (แต่แดรกคิวลามีความคมชัดสูงเกินไปสำหรับฉันงานดี แต่!)
Gauthier

Gauthier, @Aurelien: ฉันพยายามวางข้อความที่ลิงก์ไปยังไว้ใน~/.gitkไฟล์ของฉัน- มันไม่มีผลใด ๆ
einpoklum - คืนสถานะโมนิก้า

1
@einpoklum: ส่วนตัวผมใส่ข้อความนี้ในแทน~/.config/git/gitk ~/.gitkดูdraculatheme.com/gitk สิ่งนี้ช่วยได้ไหม? ฉันไม่รู้เกี่ยวกับธีมอื่น ๆ
Aurelien


1

ดังที่ kaizer.se กล่าวว่าgitk (และgit gui ) นั้นถูกใช้งานโดยใช้ tcl / tk, tk เป็นชุดเครื่องมือวิดเจ็ตและไม่สนใจเกี่ยวกับชุดรูปแบบที่ใช้ gtk (หรือชุดใด ๆ เลย) และไม่มีสิ่งนี้ไม่ใช่สิ่งที่คุณสามารถแก้ไขได้ (การเขียน gitk ใหม่เพื่อใช้วิดเจ็ตของ gtk นั้นเป็นไปไม่ได้ แต่ไม่ค่อยจะเป็น 'แก้ไข') นอกเหนือจากการแทนที่ด้วยสิ่งอื่น

คุณสามารถเปลี่ยนแบบอักษรในการตั้งค่าเพื่อให้ดีขึ้นเล็กน้อยฉันใช้:
แบบอักษรหลัก: Helvetica 9
แบบอักษรที่แสดง Diff: 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


0

หลังจากคำแนะนำบางอย่างที่นี่และที่อื่น ๆ ฉันได้ข้อสรุปว่าธุรกิจ Tcl / Tk ทั้งหมดนี้เป็นกรณีที่หมดหนทางไม่เคยจัดการที่จะใช้ธีม DE

ดังนั้นฉันจึงตัดสินใจลองใช้ GUI อื่น ๆ สำหรับ Git Git Wiki แสดงรายการ GUI จำนวนหนึ่งซึ่งบางอันสามารถ:

  • git-cola - ตาม PyQt4 และดูเหมือนจะมีประสิทธิภาพมากที่สุดในแง่ของการทำงาน

  • QGit - จาก Qt นั้นดูดี แต่ขาดฟังก์ชั่นบางอย่างโดยเฉพาะในสาขาที่เกี่ยวข้อง

  • GitKraken - อินเทอร์เฟซที่ทรงพลังและสง่างามบนพื้นฐานของอิเล็กตรอนและเต็มไปด้วยคุณสมบัติ ฟรี แต่ต้องลงทะเบียนผู้ใช้กับผู้ขาย

คำแนะนำของฉันสำหรับผู้ใช้ที่กำลังดิ้นรนกับ git-gui / gitk คือการเปลี่ยนไปใช้วิธีใดวิธีหนึ่งข้างต้น


0

ในกรณีของฉันเวอร์ชั่นที่ถูกต้องของ tk และความปรารถนาถูกติดตั้งบนระบบและปัญหาเกิดขึ้นจากการติดตั้งแอนนาคอนดา

สคริปต์การติดตั้งงูใหญ่เพิ่มexport PATH=":/path/to/anaconda3/bin:$PATH"ลงในของคุณ~/.bashrcซึ่งทำให้โปรแกรมที่ต้องการติดตั้งที่นั่นมีความสำคัญ

เขียนบรรทัดนี้ใหม่เพื่อexport PATH="$PATH:/path/to/anaconda3/bin"ให้ความปรารถนาของระบบถูกเรียกใช้โดย gitk และแก้ไขปัญหาตัวอักษร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.