git gui的黑暗主题

vqlkdk9b  于 2022-12-10  发布在  Git
关注(0)|答案(4)|浏览(154)

几天前,我偶然发现了这张以黑暗为主题的git gui的照片。

我已经看过了文档,搜索了菜单,问了DuckDuckGo,但是到目前为止我还没有弄清楚如何改变主题。怎么做呢?

编辑:我在Ubuntu 16.04上使用了一个黑暗主题。Git gui completes忽略了我的DE的主题设置,因此我无法想象它可能是相关的,as kowsky suggests below

bvpmtnay

bvpmtnay1#

我想你是从here拍的照片吧?
发布截屏的用户声明
[...]我正在为我的Windows使用黑暗主题,[...]

Git-GUI(主窗口)必须使用Windows本机颜色[...]
因此,我怀疑他通过相应地设置默认的Windows颜色主题来实现这个“黑暗主题”。

pepwfjgg

pepwfjgg2#

颜色是硬编码的,在一个名为choose_repository. tcl的文件中定义。不确定Ubuntu,但在Windows中它位于C:\Program Files\Git\mingw64\share\git-gui\lib\choose_repository.tcl。更改颜色到你喜欢的。我的颜色看起来像这个补丁:

@@ -91,17 +91,18 @@ constructor pick {} {
    ${NS}::frame $w_body
    text $opts \
        -cursor $::cursor_ptr \
        -relief flat \
        -background [get_bg_color $w_body] \
+       -foreground lime \
        -wrap none \
        -spacing1 5 \
        -width 50 \
        -height 3
    pack $opts -anchor w -fill x

-   $opts tag conf link_new -foreground blue -underline 1
+   $opts tag conf link_new -underline 1
    $opts tag bind link_new <1> [cb _next new]
    $opts insert end [mc "Create New Repository"] link_new
    $opts insert end "\n"
    if {$m_repo ne {}} {
        $m_repo add command \
@@ -110,11 +111,11 @@ constructor pick {} {
            -label [mc "New..."]
        bind $top <$M1B-n> [cb _next new]
        bind $top <$M1B-N> [cb _next new]
    }

-   $opts tag conf link_clone -foreground blue -underline 1
+   $opts tag conf link_clone -underline 1
    $opts tag bind link_clone <1> [cb _next clone]
    $opts insert end [mc "Clone Existing Repository"] link_clone
    $opts insert end "\n"
    if {$m_repo ne {}} {
        if {[tk windowingsystem] eq "win32"} {
@@ -128,11 +129,11 @@ constructor pick {} {
            -label [mc "Clone..."]
        bind $top <$M1B-[string tolower $key]> [cb _next clone]
        bind $top <$M1B-[string toupper $key]> [cb _next clone]
    }

-   $opts tag conf link_open -foreground blue -underline 1
+   $opts tag conf link_open -underline 1
    $opts tag bind link_open <1> [cb _next open]
    $opts insert end [mc "Open Existing Repository"] link_open
    $opts insert end "\n"
    if {$m_repo ne {}} {
        $m_repo add command \
@@ -169,12 +170,12 @@ constructor pick {} {
            -background [get_bg_color $w_body.recentlabel] \
            -wrap none \
            -width 50 \
            -height $lenrecent
        $w_recentlist tag conf link \
-           -foreground blue \
-           -underline 1
+           -foreground yellow \
+           -underline 0
        set home $::env(HOME)
        if {[is_Cygwin]} {
            set home [exec cygpath --windows --absolute $home]
        }
        set home "[file normalize $home]/"
dphi5xsq

dphi5xsq3#

Plakhoy上面的答案展示了如何设置choose_repository页面的样式。要将应用程序的其余部分更改为暗模式,请遵循我下面的建议。我没有足够的声誉来发布图片,但您可以更改几行代码来启用Git Gui的暗模式。
这将创建一个带有浅色(几乎为白色)文本的黑色背景。
档案位置:C:\程序文件\Git\mingw 64\共享\git-gui\库\主题.tcl
主题tcl线14-20原始设置(光模式)。

proc sync_with_theme {} {  
    set base_bg             [ttk::style lookup . -background]  
    set base_fg             [ttk::style lookup . -foreground]  
    set text_bg             [ttk::style lookup Treeview -background]  
    set text_fg             [ttk::style lookup Treeview -foreground]  
    set select_bg           [ttk::style lookup Default -selectbackground]  
    set select_fg           [ttk::style lookup Default -selectforeground]

在themed.tcl中,将第14-20行更改如下(暗模式)。

proc sync_with_theme {} {  
    set base_bg             #282a36  
    set base_fg             #f8f8f2  
    set text_bg             #282a36  
    set text_fg             #f8f8f2  
    set select_bg           #f8f8f2  
    set select_fg           #282a36
ar7v8xwq

ar7v8xwq4#

有一个github issue with a start on an "official" dark mode for git gui。在撰写本文时,当前的建议包括编辑git-gui.tcl,并在pave_toplevel .行之后添加以下行,大约在第869行:

ttk::style theme use default
ttk::style configure TFrame -background #333
ttk::style configure TLabelframe -background #333
ttk::style configure TLabelframe.Label -background #333 -foreground #fff
ttk::style configure TPanedwindow  -background #333
ttk::style configure EntryFrame -background #333
ttk::style configure TScrollbar -background #666 -troughcolor #444 -arrowcolor #fff -arrowsize 15
ttk::style map TScrollbar -background [list active #333 disabled #000]
ttk::style configure TLabel -background #333 -foreground #fff
ttk::style configure TButton -background #333 -foreground #fff -borderwidth 2 -bordercolor #fff
ttk::style map TButton -background [list active #555 disabled #111 readonly #000]
ttk::style configure TCheckbutton -background #333 -foreground #fff -indicatorbackground #666 -indicatorcolor #fff
ttk::style map TCheckbutton -background [list active #555 disabled #111 readonly #000]
ttk::style configure TEntry -fieldbackground #333 -background #333 -foreground #fff -insertcolor #fff
ttk::style configure TRadiobutton -background #333 -foreground #fff
ttk::style map TRadiobutton -background [list active #555 disabled #111 readonly #000]
option add *TCombobox*Listbox.background #333 interactive
option add *TCombobox*Listbox.foreground #fff interactive
option add *TCombobox*Listbox.selectBackground blue interactive
option add *TCombobox*Listbox.selectForeground #fff interactive
option add *Listbox.Background #333 interactive
option add *Listbox.Foreground #fff interactive
option add *Text.Background #333 interactive
option add *Text.Foreground #fff interactive
ttk::style configure TSpinbox -fieldbackground #333 -background #333 -foreground #fff -insertcolor #fff -arrowcolor #fff \
    .vpane.lower.commarea.buffer.frame.t \
    configure -background #0d1117 -foreground #fff -insertbackground #fff \
    .vpane.lower.diff.body.t configure -background #0d1117 -foreground #fff \
    .vpane.files.workdir.list configure -background #0d1117 -foreground #fff \
    .vpane.files.index.list configure -background #0d1117 -foreground #fff \
    .about_dialog.git_logo configure -background #333

关于的行将更改绝大多数内容。要调整各部分的边框/轮廓,请在文件中“加载窗口状态”注解的上方插入以下行:

.vpane.files.index.list configure -background #333 -highlightbackground #333 -highlightthickness 1
.vpane.files.workdir.list configure -background #333 -highlightbackground #333 -highlightthickness 1
.vpane.lower.diff.body.t configure -background #333 -highlightbackground #333 -highlightthickness 1
.vpane.lower.commarea.buffer.frame.t configure -background #333 -highlightbackground #333 -highlightthickness 1

在Mac上,git gui似乎遵循了他们的系统--至少是brew的git 2. 32版。

相关问题