Commit graph

574 commits

Author SHA1 Message Date
Kovid Goyal
7fe38ae579
macOS: Add a cycle through OS windows backwards action 2025-11-12 10:36:45 +05:30
Kovid Goyal
6c81547e24
Output the set of special colors separately 2025-11-08 00:55:10 +05:30
Kovid Goyal
666054955b
macOS: Add an item to the global menu to Cycle through OS windows 2025-10-31 09:31:24 +05:30
Jackie Li
05810722be
use draw_window_borders_for_single_window
single window + has focus -> active border
single window + no focus -> inactive border
multiple window + regardless of focus -> active border

a) option set:

    1) Single *visible* window in the layout - always draw a border
    border color = active if os_window is focused else inactive

    2) multiple visible windows in the layout - no change in existing
    behavior, in particular draw_minimal_borders is respected as before.

b) option unset - no changes from present behavior

option default to false.
2025-10-14 18:39:23 +01:00
Jackie Li
09e16adf8b
Add draw_borders_when_focused option
Adds a new configuration option `draw_borders_when_focused` that allows
borders to be drawn around windows when the OS window is focused,
regardless of the layout or number of windows.

This is useful for:
- Seeing which terminal window has focus in layouts like stack that
  normally don't show borders
- Showing borders even when there's only a single window
- Providing visual feedback about OS window focus state

When enabled, borders use the active_border_color when the OS window is
focused and inactive_border_color when unfocused. This behavior only
applies when the option is enabled, preserving existing behavior by
default.

The implementation:
- Adds the draw_borders_when_focused config option (default: no)
- Modifies border drawing logic to check OS window focus state
- Triggers border redraw when OS window focus changes
- Only affects behavior when the option is explicitly enabled
2025-10-13 20:07:47 +01:00
Kovid Goyal
6ea4bfa433
Fix #9100 2025-10-12 09:00:13 +05:30
Jun Woo Shin
abd220fefc Fix references to text_rendering_strategy 2025-10-11 15:01:18 -04:00
Kovid Goyal
67ca9f5b7d
Rename read_from_login_shell -> read_from_shell 2025-10-08 05:21:48 +05:30
Kovid Goyal
a9f80fe05b
Allow easily injecting env vars from the login shell config into the env in which kitty runs child processes
Fixes #9042
2025-10-07 22:23:31 +05:30
Kovid Goyal
bac2ff90ba
Fix empty aliases causing an error when loading known sessions
Fixes #9043
2025-09-29 21:30:26 +05:30
Kovid Goyal
843f0681f0
Remove warning in macos_titlebar_color docs about titlebar arbit colors. 2025-09-29 16:54:12 +05:30
Kovid Goyal
b401e12fd9
Note how to use nvim as scrollback pager in the docs for that option 2025-09-22 08:52:28 +05:30
Jan Larres
5960314ffd Support combined notify and bell on command finish 2025-09-20 14:22:01 +12:00
Kovid Goyal
68eee50aee
Make scrollbar wider when mouse hovers over it 2025-09-14 19:20:10 +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
6caa550efd
DRYer 2025-09-14 14:56:02 +05:30
Kovid Goyal
939e8e2047
Finish documenting the scrollbar settings 2025-09-14 14:40:14 +05:30
Kovid Goyal
a78fb1a655
Increase default radius slightly 2025-09-14 13:11:09 +05:30
Kovid Goyal
1e13050fda
Nicer debug output for scrollbar option 2025-09-14 12:26:25 +05:30
Kovid Goyal
77e22523ec
Start work on consolidating scrollbar settings into one option 2025-09-14 12:14:27 +05:30
Aleksey Smolenchuk
65a4d89282 Interactive scrollbar implementation 2025-09-08 11:33:15 -07:00
Kovid Goyal
315562d73d
Cleanup previous PR 2025-09-03 21:46:47 +05:30
Tim Culverhouse
0760733bd1
options: add copy_or_noop, make default
Add a "copy_or_noop" option which copies the text, and if there is no
selected text passes through the key. This allows applications to
implement native text selection but also have cmd+c still function as a
copy key since they can now receive it.

Make this the default on macos. This should have very little impact on
users because when no text is selected, the application can
(potentially) handle the key.
2025-09-03 11:01:57 -05:00
Kovid Goyal
1544830307
Allow using a custom python function in tab_title_template
Makes it easier to do complex processing
2025-08-30 09:02:39 +05:30
Kovid Goyal
14741b1b29
Implement rendering of blinking text
Fixes #8551
2025-08-25 13:55:23 +05:30
Kovid Goyal
cbca4d6593
Implement tab_bar_filter
Useful to manage multiple sessions in a single kitty OS Window.
Add some docs to sessions.rst describing this use case.
2025-08-24 12:25:15 +05:30
Kovid Goyal
e176b723f5
When creating a new window/tab with the same cwd as the current window automatically put the newwindow into the same session as the current window 2025-08-23 13:24:48 +05:30
Kovid Goyal
d3c46a829d
Add action to close a session 2025-08-23 09:17:27 +05:30
Kovid Goyal
41488fe8ba
Allow showing the currently active session name in the tab bar 2025-08-19 06:49:14 +05:30
Kovid Goyal
24e0bbd50e
Add save_as_session action
Docs need to be updated.
2025-08-16 06:32:42 +05:30
Kovid Goyal
035ce949b4
Start work on goto_session action 2025-08-14 19:43:14 +05:30
Kovid Goyal
d52f2e7981
Rewrite rendering pipeline
This was needed to fix various corner cases when doing blending of colors
in linear space. The new architecture has the same performance as the
old in the common case of opaque rendering with no UI layers or images.

In the case of only positive z-index images there is a performance
decrease as the OS Window is now rendered to a offscreen texture and
then blitted to screen. However, in the future when we move to Vulkan or
I can figure out how to get Wayland to accept buffers with colors in
linear space, this performance penalty can be removed. The performance
penalty was not significant on my system but this is highly GPU
dependent. Modern GPUs are supposedly optimised for rendering to
offscreen buffers, so we will see. The awrit project might be a good
test case.

Now either we have 1-shot rendering for the case of opaque with only ext
or all the various pieces are rendered in successive draw calls into an
offscreen buffer that is blitted to the output buffer after all drawing
is done.

Fixes #8869
2025-08-11 00:47:02 +05:30
Kovid Goyal
c86ec79e32
macOS: Add default mapping and global menubar action to erase last command
This is "Cmd+L" from Terminal.app
2025-08-07 09:15:12 +05:30
Kovid Goyal
9229af98b8
... 2025-07-27 11:34:24 +05:30
Kovid Goyal
063cf243c1
add cursor_trail_color to nullable_colors and all_color_settings 2025-07-19 07:03:13 +05:30
CollinEMac
7021271e81 Add cursor trail color option 2025-07-17 00:35:31 -05:00
Kovid Goyal
65f6b91a92
Cleanup previous PR 2025-06-27 08:39:41 +05:30
j
75387bf69d
Add scroll_offset parameter to scroll_to_prompt 2025-06-26 22:07:44 +02:00
Kovid Goyal
bb4e8ffef0
... 2025-06-21 08:40:18 +05:30
Kovid Goyal
27af96aaf6
... 2025-06-21 08:37:26 +05:30
Kovid Goyal
e31eda7735
Add a note that xdg-system-bell is terminally broken on Hyprland 2025-05-19 07:03:56 +05:30
Stefan A. Haubenthal
3b20936959
Fixed typos 2025-05-18 19:52:12 +05:30
Kovid Goyal
4c8f9f9e26
Cleanup previous PR
Fixes #8601
2025-05-12 22:18:41 +05:30
Kovid Goyal
cca838b952
... 2025-05-09 07:48:56 +05:30
Kovid Goyal
6a53897c17
change_font_size: allow multiplying/dividing the current font size in addition to incrementing it
Fixes #8616
2025-05-09 07:39:06 +05:30
Kovid Goyal
80bb9404d5
Have auto color scheme switching also control background image
Fixes #8603
2025-05-06 09:10:05 +05:30
Kovid Goyal
ec35dfd4e2
Scaffolding for selection upto surrounding whitespace 2025-04-23 05:59:49 +05:30
Kovid Goyal
923b04d124
clarify wording 2025-04-16 15:57:59 +05:30
Kovid Goyal
5d2e258c35
Wayland: When the compositor supports the xdg-system-bell protocol use it to play the default bell sound 2025-04-16 15:48:51 +05:30
Kovid Goyal
3d440cf0f6
Cleanup previous PR 2025-04-05 02:42:39 +05:30