366 Commits

Author SHA1 Message Date
Kovid Goyal
6d826c37b9 More work on floats 2025-04-19 08:15:53 +05:30
Kovid Goyal
d8889a2f08 Serialize floats 2025-04-16 17:06:06 +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
f07880b7fe macOS: When the program running in kitty reports progress information for a task, show a progress bar on the kitty dock icon 2025-03-11 09:33:13 +05:30
Kovid Goyal
ba31763acf Consider windows with background processes as active for confirm_close
Fixes #8358
2025-02-21 14:26:12 +05:30
Kovid Goyal
244f4597dc launch: Decouple source and dest windows from active window
Fixes #8295
2025-02-07 13:40:44 +05:30
Kovid Goyal
da1626090a Update codebase to Python 3.10 using pyupgrade 2025-02-03 10:56:50 +05:30
Kovid Goyal
9b9b313e77 When a program running in kitty reports progress of a task display it as a percentage in the tab title 2025-01-05 08:48:46 +05:30
Kovid Goyal
9d48fa9126 hints/unicode_input kittens: Do not lose keypresses that are sent very rapidly via an automation tool immediately after the kitten is launched
We now buffer the key events until the kitten tells us it is ready.
Without this the key presses are delivered to the underlying window
as the kitten's overlay window was not being focused until the kitten
set the ready message.

Fixes #7089
2024-12-12 13:11:12 +05:30
Kovid Goyal
62fbda8c9b When re-attaching a detached tab preserve internal layout state such as biases and orientations
Fixes #8106
2024-12-06 19:54:10 +05:30
Kovid Goyal
af83d855de Add a framework for easily and securely using remote control from the main function of a custom kitten 2024-09-29 20:36:12 +05:30
Kovid Goyal
4bb0d3dbfb Allow passing rc passwds when creating special window 2024-09-29 12:47:22 +05:30
Kovid Goyal
75f5908009 Allow jumping to the nth previous active tab via goto_tab
This matches the docs for the goto_tab action and there is no reason not
to have this. For backwards compat 0 and -1 both go to the first previously
active tab as before. However -2 goes to the second previously active
tab, -3 to the third and so on.
2024-08-26 12:09:54 +05:30
Kovid Goyal
f1d0d0949b Run pyupgrade to update the codebase to python 3.9
Gets rid of a lot of typing ugliness by using type annotations on
builtin types
2024-07-31 07:55:27 +05:30
Kovid Goyal
681048f1ca launch command: A new --bias option to adjust the size of newly created windows declaratively
Still need to implement it for the Grid layout.
Fixes #7634
2024-07-20 12:37:18 +05:30
Kovid Goyal
681a2b7b28 Sessions: A new command focus_matching_window to shift focus to a specific window, useful when creating complex layouts with splits 2024-07-19 14:54:44 +05:30
Kovid Goyal
499eb3c3c2 ... 2024-06-17 07:39:04 +05:30
Kovid Goyal
ede332fecf Use our monotonic everywhere
Gives nicer times relative to process start time than the python stdlib
monotonic
2024-03-26 13:26:18 +05:30
Kovid Goyal
d33afd4e96 Move toggle_tab into Boss
actions arent supported on TabManager
2024-03-07 11:57:07 +05:30
Kovid Goyal
76a4840a0f toggle_tab to easily switch to and back from a tab
Fixes #7203
2024-03-07 11:38:28 +05:30
Kovid Goyal
e656a75d5e Move implementation of --hold into Child
DRYer. Also fixed use of --hold with launch --cwd=current
2024-01-06 13:14:48 +05:30
Kovid Goyal
cc5424c054 ... 2023-12-03 19:02:46 +05:30
Kovid Goyal
3c4f2aa1b8 shlex.split -> shlex_split 2023-12-02 15:17:08 +05:30
Kovid Goyal
77292a16d6 Make shebangs consistent
Follow PEP 0394 and use /usr/bin/env python so that the python in the
users venv is respected. Not that the kitty python files are meant to be
executed standalone anyway, but, whatever.

Fixes #6810
2023-11-11 08:32:05 +05:30
Kovid Goyal
4b997a961c A new option single_window_padding_width to use a different padding when only a single window is visible
Fixes #6734
2023-10-20 08:37:45 +05:30
Kovid Goyal
ef7d4934d2 Add window groups to kitty @ ls output
Fixes #6655
2023-09-26 18:41:52 +05:30
Kovid Goyal
d6851210d7 When multiple confirmable close requests are made focus the existing close confirmation window instead of opening a new one for each request
Fixes #6601
2023-09-03 13:03:16 +05:30
Kovid Goyal
0bbc2ad734 Make mypy happy 2023-08-25 14:09:16 +05:30
Kovid Goyal
cade8efc25 kitten @ ls: Allow limiting output to matched windows/tabs
Fixes #6520
2023-08-03 11:53:17 +05:30
Kovid Goyal
d3f14ffbf4 macOS: Fix window shadows not being drawn for transparent windows
Re-organize the whole infrastructure for setting window chrome, doing it
in a single function that has access to all settings.

Fixes #2827
Fixes #6416
2023-07-04 11:59:50 +05:30
Kovid Goyal
0fb1f17af9 Have --hold wait at a shell prompt 2023-06-26 11:21:57 +05:30
Kovid Goyal
373c05943f Allow specifying full layout specifications with options for goto_layout
Fixes #6163
2023-04-08 13:35:38 +05:30
Kovid Goyal
f61ddd62d1 Allow specifying an optional integer argument for next_layout. Fixes #6121 2023-03-20 19:49:37 +05:30
pagedown
0147ef467b Import the missing which 2023-03-05 08:51:29 +08:00
Kovid Goyal
de188faf55 Fix #6048 2023-02-22 19:51:33 +05:30
Kovid Goyal
ec375ad3c6 Dont strip title for tabs to allow for leading and trailing whitespace. Fixes #6013 2023-02-14 21:31:23 +05:30
Kovid Goyal
6b8e5ea225 Rename kitty-tool to kitten
It's easier to type, and cuter.

Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.

The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.

Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
7fe5d7b58f Replace isort with ruff 2023-01-09 16:47:42 +05:30
Kovid Goyal
c18bff7821 Remote control: Allow matching the parent of an overlay window 2022-12-30 11:29:05 +05:30
Kovid Goyal
a5a6880a19 Respect enable_audio_bell when a layout action fails 2022-12-14 06:53:14 +05:30
pagedown
91576cc42f Remote control: Keep the same naming style for ls command output 2022-12-12 12:53:58 +08:00
Kovid Goyal
f5d2c35755 Move implementation of +hold to Go
No need to pay python interpreter startup cost for --hold
2022-12-01 22:34:56 +05:30
Kovid Goyal
dd4051bfd5 Allow getting the exe name of the active foreground process in the tab title template 2022-11-17 22:06:06 +05:30
Kovid Goyal
59ded41f7a When no OS Window is focused the active_* should return those belonging to the last focused OS Window 2022-11-05 11:34:10 +05:30
Kovid Goyal
10ad56885e Properly specify semantics of active and focused
active means active in parent. focused means actually has keyboard
focus.
2022-11-04 10:38:18 +05:30
Kovid Goyal
d1eb9340ac Output the actual tab id in its repr 2022-11-04 09:29:33 +05:30
Kovid Goyal
a856c64104 Have the semantics of is_focused match that of state:focused otherwise things are liable to get confusing
The previous value is now available as is_active_window
2022-11-03 22:32:07 +05:30
Kovid Goyal
c0b11c5656 Also change the behavior of state:focused matching for tabs 2022-11-03 21:56:23 +05:30
Kovid Goyal
607bc845fc Allow creating overlay-main windows, which are treated as the active window unlike normal overlays
Fixes #5392
2022-09-03 19:04:31 +05:30
pagedown
a5bb2548a6 Do not set KITTY_LISTEN_ON after the window rc password is configured 2022-08-17 19:37:52 +08:00