Re: [PATCH 3/5] gitk: show color preferences on the button instead of the label
- From
mark <mlevedahl@gmail.com>
- Date
- Aug 7, 2026, 14:37 UTC
- Message-ID
- <eff19bf1-a8a8-4de0-9fc1-cea4b3d0f1a6@gmail.com>
- In-Reply-To
- <0428a92efc4657d2da1e968ebe45038cd186b055.1785998419.git.gitgitgadget@gmail.com>
On 8/6/26 2:40 AM, Johannes Sixt via GitGitGadget wrote:
Show 44 quoted lines
> From: Johannes Sixt <j6t@kdbg.org>
>
> When the user goes to the color preferences, the eye is automatically
> drawn to the color samples. However, clicking on the sample with the
> intent to change it does nothing. Instead, the text label also acts as
> a button and must be clicked to change the color.
>
> Turn the color samples into clickable buttons and the text labels into
> static text. Use non-themed buttons because their color can be changed
> by simply specifying the color properties. (Themed buttons would need
> a lot more elaboration.)
>
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
> gitk-git/gitk | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/gitk-git/gitk b/gitk-git/gitk
> index 137940defb..877b2ad27f 100755
> --- a/gitk-git/gitk
> +++ b/gitk-git/gitk
> @@ -11867,10 +11867,10 @@ proc prefspage_colors {notebook} {
> ]
>
> foreach {uielem colorvar idx label title} $coloruielems {
> - label $page.$uielem -padx 40 -relief sunk
> - ttk::button $page.${uielem}btn -text $label \
> + ttk::label $page.$uielem -text $label
> + button $page.${uielem}btn -padx 40 -pady 0 \
> -command [list choosecolor $colorvar $idx $page $title]
> - grid x $page.${uielem}btn $page.$uielem -sticky w
> + grid x $page.$uielem $page.${uielem}btn -sticky w
> }
>
> grid columnconfigure $page 2 -weight 1
> @@ -11896,7 +11896,7 @@ proc prefspage_set_colorswatches {page} {
> linkfg $linkfgcolor \
> ]
> foreach {uielem color} $coloruielems {
> - $page.$uielem configure -background $color
> + $page.${uielem}btn configure -background $color -activebackground $color
> }
> }
> The original approach has unthemed labels, allowing easy specification of color, and themed buttons. With this change, the roles reverse, so swapping themed / unthemed makes sense. Good.
But, the colored buttons do not stand out to my eye as much as in the prior approach. Perhaps use -borderwidth 2? This is totally subjective, I'm ok if you leave this as-is.