diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-10-17 22:10:58 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-17 22:10:58 +0200 |
commit | 430cabb104103251958ac0739509e0a542e5c774 (patch) | |
tree | 707b78ab649e53b37c0cf08ee8cb339bfe994cea /git-gui/lib | |
parent | Git 2.29-rc2 (diff) | |
parent | Merge branch 'sh/blame-tooltip' (diff) | |
download | git-430cabb104103251958ac0739509e0a542e5c774.tar.xz git-430cabb104103251958ac0739509e0a542e5c774.zip |
Merge https://github.com/prati0100/git-gui
* https://github.com/prati0100/git-gui:
git-gui: blame: prevent tool tips from sticking around after Command-Tab
git-gui: improve dark mode support
git-gui: fix mixed tabs and spaces; prefer tabs
Diffstat (limited to 'git-gui/lib')
-rw-r--r-- | git-gui/lib/blame.tcl | 1 | ||||
-rw-r--r-- | git-gui/lib/themed.tcl | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/git-gui/lib/blame.tcl b/git-gui/lib/blame.tcl index 62ec083667..8441e109be 100644 --- a/git-gui/lib/blame.tcl +++ b/git-gui/lib/blame.tcl @@ -328,6 +328,7 @@ constructor new {i_commit i_path i_jump} { bind $i <Any-Motion> [cb _show_tooltip $i @%x,%y] bind $i <Any-Enter> [cb _hide_tooltip] bind $i <Any-Leave> [cb _hide_tooltip] + bind $i <Deactivate> [cb _hide_tooltip] bind_button3 $i " [cb _hide_tooltip] set cursorX %x diff --git a/git-gui/lib/themed.tcl b/git-gui/lib/themed.tcl index 88b3119a75..83e3ac795f 100644 --- a/git-gui/lib/themed.tcl +++ b/git-gui/lib/themed.tcl @@ -1,6 +1,44 @@ # Functions for supporting the use of themed Tk widgets in git-gui. # Copyright (C) 2009 Pat Thoyts <patthoyts@users.sourceforge.net> + +namespace eval color { + # Variable colors + # Preffered way to set widget colors is using add_option. + # In some cases, like with tags in_diff/in_sel, we use these colors. + variable select_bg lightgray + variable select_fg black + + 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] + + set color::select_bg $select_bg + set color::select_fg $select_fg + + proc add_option {key val} { + option add $key $val widgetDefault + } + # Add options for plain Tk widgets + # Using `option add` instead of tk_setPalette to avoid unintended + # consequences. + if {![is_MacOSX]} { + add_option *Menu.Background $base_bg + add_option *Menu.Foreground $base_fg + add_option *Menu.activeBackground $select_bg + add_option *Menu.activeForeground $select_fg + } + add_option *Text.Background $text_bg + add_option *Text.Foreground $text_fg + add_option *Text.HighlightBackground $base_bg + add_option *Text.HighlightColor $select_bg + } +} + proc ttk_get_current_theme {} { # Handle either current Tk or older versions of 8.5 if {[catch {set theme [ttk::style theme use]}]} { |