Mark Levedahl b9f6b8237d gitk: make configuration dialog resizing useful
gitk's configuration dialog can be resized, but this does not expand the
space allocated to any widgets. Some items may have long lines of text
that would be visible if the widgets expanded, but this does not happen.

The top-level container uses a two column grid and allocates any space
change equally to both columns.  However, the configuration pages are
contained in one cell so half the additional space is wasted if
expanding. Also, the individual configuration pages do not mark any
column or widgets to expand, so any additional space given is just used
as padding.

Collapse the top-level page to have one column, placing the "OK" and
"Cancel" buttons in a non-resizing frame in column 1 (this keeps the
buttons in constant geometry as the dialog is expanded). This makes all
additional space go to the configuration page.

Mark column 3 of the individual pages to get all additional space, and
mark the text widgets in that column so they will expand to use the
space. While we're at it, eliminate or simplify use of frames to contain
column 2 content, and harmonize the indents of that content.

prefspage_general adds a special "spacer" label in row 2, column 1, that
causes all of the subsequent rows with no column 1 content to indent,
and this carries over to the next notebook tab (prefspage_color) through
some undocumented feature. The fonts page has a different indent, again
for unknown reason. The documented approach would be to use -padx
explicitly on all the rows to set the indents.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
2025-10-04 10:31:40 -04:00
2013-01-30 21:12:16 +11:00

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.

Description
No description provided
Readme 616 MiB
Languages
C 49.9%
Shell 39.5%
Perl 4.3%
Tcl 3%
Python 0.8%
Other 2.2%