Go to file
Mark Levedahl c0932eda80 gitk: add theme selection to color configuration page
gitk allows configuring a particular theme in its configuration file
(default on linux: ~/.config/git/gitk), but offers no ability to modify
this from gitk's configuration editor. Let's add this to the color
configuration page.

Present the offered themes in a list, and allow choosing / modifying a
theme definition file ($themeloader). Update the list of themes if the
theme file is modified, and update the theme if specifically requested
(by default, just change the value for use after gitk is restarted).

Any theme definition file can change the global options database,
affecting potentially any theme. So, the ultimate configuration should
have either
- no theme definition file (themeloader = {}), and a native Tk, theme,
or
- themeloader naming a valid file, and $theme naming a theme defined by
  that file.

But, there is no trivial way to enforce the above. Shrug.

Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
2025-10-01 13:54:31 -04:00
po gitk i18n: Remove the locations within the Bulgarian translation 2025-07-29 19:51:41 +02:00
.gitignore gitk: Ignore gitk-wish buildproduct 2013-01-30 21:12:16 +11:00
Makefile gitk: place file name arguments after options in msgfmt call 2025-05-14 17:55:11 +02:00
README.md gitk: add README with usage, build, and contribution details 2025-08-28 19:51:31 +02:00
generate-tcl.sh gitk: extract script to build executable 2025-02-20 08:52:07 +01:00
gitk gitk: add theme selection to color configuration page 2025-10-01 13:54:31 -04:00
meson.build gitk: introduce support for the Meson build system 2025-02-20 08:52:15 +01:00

README.md

Gitk - The Git Repository Browser

Gitk is a graphical Git repository browser. It displays the commit history of a Git repository as a graph, showing the relationships between commits, branches, and tags.

Usage

To view the history of the current repository:

gitk

To view the history of specific files or directories:

gitk path/to/file
gitk path/to/directory

To view a specific branch or range of commits:

gitk branch-name
gitk v1.0..v2.0

For more usage examples and options, see the gitk manual.

Building

Gitk is a Tcl/Tk application. It requires Tcl/Tk to be installed on your system.

Running directly

Gitk can be run from the source directory without installation:

./gitk

This allows for quick testing of changes.

Installation

To install system-wide, you can use either make or meson:

# Install to default location ($HOME/bin)
make install

# Install to system-wide location
sudo make install prefix=/usr/local

# Install to custom location
make install prefix=/opt/gitk

# Using Meson
meson setup builddir
meson compile -C builddir
meson install -C builddir

Both build systems will handle setting the correct Tcl/Tk interpreter path and installing translation files.

Contributing

Contributions are welcome! The preferred method for submitting patches is via email to the Git mailing list, as this allows for more thorough review and broader community feedback. However, GitHub pull requests are also accepted.

All commits must be signed off (use git commit --signoff) and should have commit messages prefixed with gitk:.

Email Patches

Send patches to git@vger.kernel.org and CC j6t@kdbg.org. See the Git project's patch submission guidelines for detailed instructions on creating and sending patches.

License

Gitk is distributed under the GNU General Public License, either version 2, or (at your option) any later version.