54 Commits

Author SHA1 Message Date
mcrmck
cc32af250b Rename pane → window title bar per reviewer feedback
- Rename all options from pane_title_* to window_title_*
- Use foreground/background instead of fg/bg in color option names
- Change color options to to_color_or_none defaulting to None,
  falling back to corresponding tab bar colors
- Add bell_symbol, activity_symbol, progress_percent template vars
  using existing bell_on_tab and tab_activity_symbol options
- Add custom script support via window_title_bar.py in config dir
  (draw_window_title function exposed as {custom} in templates)
- Update C structs, Python references, and regenerate config files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-01 23:53:28 -05:00
mcrmck
ab3a8ca56a Add pane title bar feature for window splits
Add an optional title bar that displays above or below each window pane
when multiple windows are visible in a tab. This is similar to tmux's
pane-border-format or Terminator's pane title bars.

New configuration options:
- pane_title_bar: none/top/bottom (default: none)
- pane_title_template: f-string template (same syntax as tab_title_template)
- active_pane_title_template: override for active pane
- pane_title_bar_active_fg/bg: colors for active pane title
- pane_title_bar_inactive_fg/bg: colors for inactive pane titles
- pane_title_bar_align: left/center/right text alignment

The title bars are rendered using virtual Screen objects registered with
the GPU, following the same model as the tab bar. Title bars are
automatically hidden when only a single window is visible.

Ref: https://github.com/kovidgoyal/kitty/discussions/9448

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-01 23:52:24 -05:00
Kovid Goyal
6f588a0c29 run modernize 2025-11-11 17:09:37 +05:30
Kovid Goyal
80260e6eb1 Move back to individual settings for scrollbar
We need to split out the color settings so that they can be set in
themes anyway, so ...
2025-09-14 17:48:59 +05:30
Kovid Goyal
063cf243c1 add cursor_trail_color to nullable_colors and all_color_settings 2025-07-19 07:03:13 +05:30
Kovid Goyal
c861259e3b Rename go module from kitty -> github.com/kovidgoyal/kitty
Makes the code more easily re-useable in other projects
2025-05-16 08:43:39 +05:30
Kovid Goyal
35b3ae8edb Revert "themes kitten: When using the Default theme as an auto switch theme include all the actual settings values"
This reverts commit 2abc0be844.
2024-12-20 12:54:47 +05:30
Kovid Goyal
2abc0be844 themes kitten: When using the Default theme as an auto switch theme include all the actual settings values
Fixes #8124
2024-12-16 15:32:32 +05:30
Kovid Goyal
96c1a5c4d1 Get automatic theme switching working 2024-11-07 17:31:44 +05:30
Kovid Goyal
dbfeb8d6a4 Store transparent colors on ColorProfile
This will eventually allow them to be changed using remote control and
escape codes.
2024-09-24 19:02:13 +05:30
Kovid Goyal
c906314974 change the atomic write functions to work with readers 2024-07-22 15:01:19 +05:30
Kovid Goyal
0cf9a79760 A new option second_transparent_bg
Makes a second background color semi-transparent via background_opacity.
Useful for things like cursor line highlight in editors.

Fixes #7646
2024-07-21 20:22:31 +05:30
Kovid Goyal
f15eebec02 Refactor config patching code to make it re-useable 2024-06-24 07:54:17 +05:30
Kovid Goyal
405f5ce148 Use stdlib maps/slices 2024-06-24 07:54:13 +05:30
Kovid Goyal
fc64ef41b3 when parsing conf files in go accept both space and tab as key separators 2023-11-22 09:49:33 +05:30
Kovid Goyal
9e514df604 More linter fixes 2023-10-05 10:07:25 +05:30
Kovid Goyal
8865d3231a Fix themes that dont define a background color incorrectly being classified as light
The default bg in kitty is dark
2023-10-05 09:36:59 +05:30
Kovid Goyal
6bafdedd65 Fix some linter issues 2023-09-18 20:38:08 +05:30
Kovid Goyal
bd036040a6 themes kitten: Allow absolute paths for --config-file-name
Fixes #6638
2023-09-18 20:31:30 +05:30
Kovid Goyal
4f72bb9894 Replace utils.Once with stdlib sync.OnceValue 2023-08-09 12:08:42 +05:30
Kovid Goyal
0971e8c630 strings.Title works better than cases.Title 2023-08-07 21:49:50 +05:30
Kovid Goyal
ec77d051df Replace another deprecated function 2023-08-04 23:02:55 +05:30
Kovid Goyal
341d845b9a Port calls to slices.Sort functions since they now need a cmp() function rather than a less() function
Also rename os.SEEK_* to io.Seek* as the former has been deprecated
2023-08-04 22:50:13 +05:30
Kovid Goyal
e59e42a6c2 simplify API of utils.Once 2023-05-26 22:42:07 +05:30
Kovid Goyal
877d8d7008 ... 2023-05-04 10:36:02 +05:30
Kovid Goyal
ce70320a62 ... 2023-05-04 10:26:18 +05:30
Kovid Goyal
3eb18a416a Entry point for parsing theme metadata 2023-05-04 10:14:58 +05:30
Kovid Goyal
ea5634b3fd When parsing theme metadata ignore the name if it is the placeholder value from the template 2023-05-03 21:55:33 +05:30
Kovid Goyal
a09464dee9 Fix a regression in the previous release that broke usage of custom themes
Fixes #6191
2023-04-17 08:45:46 +05:30
Kovid Goyal
b966013a2b Make Samefile interface a bit nicer for working with paths 2023-04-17 08:35:50 +05:30
Kovid Goyal
046fbb860b themes kitten: ignore custom theme files if they are stdout 2023-04-17 08:02:41 +05:30
Kovid Goyal
9919767aef Remove unused code 2023-03-30 10:26:39 +05:30
Kovid Goyal
ee82cb5a52 More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
5520a75bba Dont rely on filesystem mtimes for test as they can be flaky 2023-03-14 21:13:14 +05:30
Kovid Goyal
e539035639 more useful test failure messages 2023-03-14 21:06:57 +05:30
Kovid Goyal
290b868193 forgot to close zip file 2023-03-14 20:42:36 +05:30
Kovid Goyal
c19ac531cf Fix some failing tests 2023-03-14 20:40:12 +05:30
Kovid Goyal
f6d66b2336 ... 2023-03-14 20:35:31 +05:30
Kovid Goyal
0805330b77 Finish port of themes kitten to Go 2023-03-14 20:24:21 +05:30
Kovid Goyal
21954937fb More work on porting themes 2023-03-14 12:29:44 +05:30
Kovid Goyal
6794ec1de7 Wire up the new subseq match code 2023-03-14 12:29:44 +05:30
Kovid Goyal
dd783c842f More work on porting themes UI to Go 2023-03-14 12:29:44 +05:30
Kovid Goyal
f9b0b54ee5 Start work on porting themes kitten to Go 2023-03-14 12:29:44 +05:30
Kovid Goyal
f42090766a Use the new string scanner everywhere 2023-03-08 13:31:27 +05:30
Kovid Goyal
c88a171b28 Map should use same order of arguments as pythons map 2023-03-05 12:19:03 +05:30
Kovid Goyal
327cefbfda Make test more robust 2023-02-28 13:44:29 +05:30
Kovid Goyal
4d3ce47813 ... 2023-02-28 13:19:51 +05:30
Kovid Goyal
3558d1c274 Finish porting support for color schemes to SSH kitten 2023-02-28 12:08:55 +05:30
Kovid Goyal
c877b2a5cb Code to dump basic colors from a theme as escape codes 2023-02-27 08:02:22 +05:30
Kovid Goyal
c1791c8d2b Function to load theme code 2023-02-26 22:09:07 +05:30