BK-CONFIG-GUI(1)

πŸ“¦ version 7.3.3, in alpine 3.24

okay so this is bk config-gui(none) from the BitKeeper User’s Manual, and we’re doing part 1 of 2 β€” stay with me, bestie πŸ’…βœ¨

🌸 NAME 🌸

bk config-gui β€” configuration for the BitKeeper graphical tools. That’s it, that’s the vibe. πŸ’–

✨ DESCRIPTION ✨

BitKeeper uses a configuration file called config-gui for the configuration of the BitKeeper graphical tools. This config file is literally there to modify colors, fonts, and widget dimensions. Slay. πŸŽ¨πŸ’…

You can find where this configuration file lives on your platform by running bk dotbk. That command returns the pathname of the directory where the BitKeeper graphical tools will look for the config-gui file. Very handy, no cap. πŸ“βœ¨

Important vibe check: the config file must be a valid tcl program, because it is evaluated by the BitKeeper GUI tools (which are also tcl/tk programs). Periodt. 🧚

The point of it being a program is that tcl code may be added to the config file in order to customize the gui based on arbitrary values such as machine name, screen size, etc. For example, if all screens of a certain size were known to be LCD screens (typically laptops), then the following technique could be used to get colors more appropriate for those screens:

if {[winfo screenwidth .] <= 1024} {
     # These show up better on LCD displays.
     set gc(diffColor) gray
     set gc(activeDiffColor) lightseagreen
     set gc(fm3.handColor) yellow
}

The point of the config-gui file is to change configuration options. A typical line looks like this:

set gc(diffColor) #f0f0f0

and the meanings for each part of that line are:

  • set β€” tcl syntax for assigning variables
  • gc(diffColor) β€” configuration option
  • #f0f0f0 β€” hexadecimal color value

Each variable in the config file may take one of two forms: tool specific or global. Tool specific variables, which apply only to the named tool, have the tool name as a prefix, i.e.,

set gc(cset.fixedFont)  {fixed 12 roman}

whereas global variables, which apply to all tools unless there is a tool specific version defined as well, look like

set gc(fixedBoldFont) {fixed 12 roman bold}

The tool names used to get to tool specific variables (or to have a change only apply to that tool) are the GUI tool’s name with the trailing β€œtool” dropped, i.e., β€œdiff” for β€œdifftool”. Iykyk. 🫢πŸ”₯

πŸŽ€ TCL INFORMATION πŸŽ€

The following tcl/tk commands may be useful for display specific customization:

  • [winfo depth .] β€” returns the color depth of the screen in bits, i.e., 16 means the screen can do 65536 different colors.
  • [winfo screen .] β€” Returns the name of the screen in the form displayName.screenIndex, i.e., "disks.bitkeeper.com:0.0".
  • [winfo screenheight .] β€” returns the height of the screen in pixels.
  • [winfo screenwidth .] β€” returns the width of the screen in pixels.

🫢 GUI CONFIGURATION 🫢

okay so every single one of these variables is used by the various gui tools, and each one has to live inside a statement shaped exactly like this:

set gc(variable) value

In the list below I’m only showing the variable part, bestie β€” the set gc(...) wrapper is implied for all of them.


🌍 GLOBAL CONFIGURATION 🌍

These are the shared glow-up settings for the gui tools.

  • fixedFont β€” Font used in all of the text widgets, like file lists, entry boxes, and text widgets showing contents of files. Defaults to values that match appropriate system defaults.
  • fixedBoldFont β€” Bold font used to highlight text, like difference within lines in bk difftool. Defaults to values that match appropriate system defaults.
  • diffColor β€” Color of the changed lines in a diff view. Default: #EDEDED
  • activeDiffColor β€” Color of the selected diff block in a diff view. Default: #2FEDAD
  • oldColor β€” Color of the older revision or diff. Overrides diffColor. Default: #B48CFF
  • newColor β€” Color of the newer revision or diff. Overrides diffColor. Default: #A8D8E0
  • activeOldColor β€” Color of the older selected diff block in a diff view. Overrides activeDiffColor. Default: #2FEDAD
  • activeNewColor β€” Color of the newer selected diff block in a diff view. Overrides activeDiffColor. Default: #2FEDAD
  • highlightOld β€” Color of the subline highlighting for old lines in a diff. Default: #FFA500
  • highlightNew β€” Color of the subline highlighting for new lines in a diff. Default: #FFA500
  • noticeColor β€” Color for warnings and messages. Default: #DBDFE6
  • searchColor β€” Highlight color for search matches. Used in bk difftool and bk revtool. Default: #FFA500
  • warnColor β€” Color of the error messages. Used in bk citool. Default: #FFFF00
  • textBG β€” Background color for text windows. Used in all of the tools. Default: #FFFFFF
  • textFG β€” Text color. Used in all of the tools. Default: #000000
  • tabwidth β€” The width of a tab in average sized characters. Default: 8.
  • quit β€” Key used to exit from the gui tools. Default: <Control‐q>

🧁 CITOOL CONFIGURATION 🧁

  • ci.commentsHeight β€” height of the comments window.
  • ci.diffHeight β€” height of the diffs window (the lower window).
  • ci.display_bytes β€” Number of bytes to show in new files in bk citool. If set to 0, the entire file is displayed. Default: 8192
  • ci.editHeight β€” Height of the popup editor. Default: 30
  • ci.editWidth β€” Width of the popup editor. Default: 80
  • ci.excludeColor β€” Color of the exclude icon (X character). Default: #FF0000
  • ci.filesHeight β€” number of files in the top window.
  • ci.rescan β€” Set this option to 1 if you would like bk citool to run again after doing the commit. Rescanning is useful if you do development in the manner where you modify many files that logically belong to separate changesets. This option then allows you to stay in bk citool and create different changesets for the files without restarting citool each time. Default: 0

πŸ¦‹ CSETTOOL CONFIGURATION πŸ¦‹

  • cset.annotation β€” Annotation options to apply when getting files to be diffed. See the βˆ’a option to bk get. Example: βˆ’aum. Default: β€œβ€ (do not display annotations)
  • cset.listHeight β€” Number of lines in the list windows. Default: 12

🌈 DIFFTOOL CONFIGURATION 🌈

  • diff.diffHeight β€” Number of lines in the diff windows. Default: 50
  • diff.searchColor β€” Highlight color for search matches. Default: #ADD8E6

πŸ’… FM3TOOL CONFIGURATION πŸ’…

  • fm3.comments β€” Boolean which controls the display of the comments window at the top. Default: 1 (on)
  • fm3.firstDiff β€” Keyboard accelerator for going to the first change. Default: β€œβˆ’β€
  • fm3.handColor β€” Color used to highlight hand selected merge choices in the side by side local and remote diff windows. Default: #B4B6CB
  • fm3.lastDiff β€” Keyboard accelerator for going to the last change. Default: β€œ+”
  • fm3.mergeColor β€” Color used to highlight merge choices, both manual and automatic, in the lower merge window. Default: #B4B6CB
  • fm3.nextConflict β€” Keyboard accelerator for going to the next conflict (skips automerged changes). Default: β€œ}”
  • fm3.nextDiff β€” Keyboard accelerator for going to the next change. Default: β€œ]”
  • fm3.prevConflict β€” Keyboard accelerator for going to the previous conflict (skips automerged changes). Default: β€œ{”
  • fm3.prevDiff β€” Keyboard accelerator for going to the previous change. Default: β€œ[”
  • fm3.sameColor β€” Color used to highlight the portion of a conflict consisting of unchanged lines. Default: #EFEFEF
  • fm3.showEscapeButton β€” When entering edit mode, if this variable is set to 1 a button will be displayed that you can click on to exit edit mode. Default: 1
  • fm3.spaceColor β€” Color used to highlight the beginnings of lines which are β€œspacers” inserted to make the changes line up horizontally. Default: #000000
  • fm3.toggleAnnotations β€” Keyboard accelerator for toggling the display of annotations. Default: β€œz”
  • fm3.toggleGCA β€” Keyboard accelerator for toggling the display of the GCA. Default: β€œx”
  • fm3.undo β€” Keyboard accelerator for undoing the last merge selection. Default: β€œu”

πŸŽ€ HELPTOOL CONFIGURATION πŸŽ€

  • help.linkColor β€” Color of the hyperlinks in bk helptool. Default: #0000FF
  • help.scrollbars β€” The location of the two scrollbars in helptool. The value should be two characters with each one being L or R. The first character indicates the position of the topic list scrollbars as Left or Right, while the second character specifies the position of the content scrollbar. Default: RR
  • help.topicsColor β€” Highlight color for topic search matches. Default: #FFA500
  • help.height β€” Number of rows to display in bk helptool. Default: 50
  • help.width β€” Number of columns to display in bk helptool. Default: 72
  • help.exact β€” Only return full word/phrase matches. Default: 0, set to 1 to enable

🧚 RENAMETOOL CONFIGURATION 🧚

  • rename.listHeight β€” Height of the file list widget in bk renametool (in lines). Default: 8

πŸ‘‘ REVTOOL CONFIGURATION πŸ‘‘

  • rev.canvasBG β€” Color of the graph background. Default: #9FB6B8
  • rev.commentBG β€” Background color of the comment window in the annotated listing. Default: #ADDD8E6
  • rev.arrowColor β€” Color of the arrows connecting the revision boxes. Default: #00008B
  • rev.mergeOutline β€” Color of the box surrounding the merge revisions. Default: #00008B
  • rev.revOutline β€” Color of the box surrounding the regular revisions. Default: #00008B
  • rev.revColor β€” Fill color of the unselected node. Default: #9FB6B8
  • rev.selectColor β€” Highlight color for the selected annotated line. Default: #ADDD8E6
  • rev.commentHeight β€” Height of the comment window above the annotated file listing. Default: 5
  • rev.textWidth β€” Width of widget that displays the file content. Default: 92
  • rev.annotate β€” Arguments to the annotate command. Default: βˆ’Aur.
  • rev.textHeight β€” Height of widget that displays the file content. Default: 50
  • rev.showRevs β€” The number of revs to show when running revtool against a single file. Default: 250
  • rev.showCsetRevs β€” The number of revs to show when running revtool against a ChangeSet file. Default: 50
  • rev.tagOutline β€” Color of the outline around nodes in the ChangeSet graph that have a tag associated with them. If this value is the empty string no outline will be drawn. Default: #FFFF00
  • rev.dateColor β€” Color of the date text at the bottom of graph. Default: #181818

πŸ”₯ SEE ALSO πŸ”₯

  • Any Tcl/Tk documentation
  • X(1)
  • bk‐citool, bk‐csettool, bk‐difftool, bk‐fmtool, bk‐fm3tool, bk‐helptool, bk‐revtool, bk‐renametool

⭐ CATEGORY ⭐

  • Overview
  • Admin
  • GUI‐tools

source/version: BitKeeper Inc, 1E1; footer/date tag: bk config‐gui(none) β€” that’s the whole page, bestie. Mwah πŸ’‹βœ¨πŸ«Ά

πŸ“¦ where this page comes from
  • alpine 3.24: bitkeeper-doc 7.3.3-r1 Β· Apache-2.0
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms