1125 Commits

Author SHA1 Message Date
Kovid Goyal
8931062a70 hints kitten: Workaround for some broken light color themes that make the hints text color too low contrast to read
Fixes #7330
2025-01-17 20:22:10 +05:30
Kovid Goyal
0ffaaff8a7 Fix #8220 2025-01-16 13:21:31 +05:30
Kovid Goyal
1eeea70c7a Allow dynamically generating configuration by running an arbitrary program using the new geninclude directive 2025-01-06 19:00:01 +05:30
Kovid Goyal
795bf7fb52 Dont use a global var for mocking 2025-01-05 20:58:33 +05:30
Kovid Goyal
86a6685446 Add mock for failing test 2025-01-05 20:36:32 +05:30
Kovid Goyal
2d02ff1c5f Implement using effective kitty config options for kittens
Also centralise reading of kitty options
2025-01-05 20:16:43 +05:30
Kovid Goyal
334adf9c1a Ensure temp files and other resources are cleaned up even if kitty crashes or is SIGKILLed 2025-01-05 12:51:59 +05:30
Kovid Goyal
25cb73511f Implement atexit.rmtree 2025-01-05 11:04:23 +05:30
Kovid Goyal
0d5bcff353 Tool to implement robust cleanups even on process crash 2025-01-05 10:50:50 +05:30
Kovid Goyal
f3db7e7554 diff kitten: Automatically change colors on terminal color scheme change 2025-01-05 06:00:24 +05:30
Kovid Goyal
134271be93 diff kitten: Abort when run inside a terminal that does not support the kitty keyboard protocol
Fixes #8185
2025-01-03 21:34:38 +05:30
Kovid Goyal
fc463aaba5 Code to query terminal for capabilities 2025-01-03 21:30:05 +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
d5356804c8 ... 2024-11-23 12:06:39 +05:30
Kovid Goyal
a87ccbf8e5 Add some combining chars to the benchmark 2024-11-23 12:02:59 +05:30
Kovid Goyal
4cb190130f Document why we explicitly turn off in band resize 2024-11-19 08:08:35 +05:30
Tim Culverhouse
4b354fbd30 tui: explicitly turn off in-band resize mode
Explicitly turn off in-band resize notifications if they were requested
as part of the loop. Kitty implicitly resets this mode when `XTRESTORE`
(`CSI ? r`) is seen, however some terminals implementing mode 2048
(eg foot and Ghostty) follow the xterm behavior of only restoring the
state of explicitly passed modes.

Some of the kittens have become very useful outside of just Kitty
(`show-key`, for example). Add an explicit reset of mode 2048 to support
the behavior of other terminal emulators.
2024-11-18 10:51:14 -06:00
Kovid Goyal
af8605dabf bump unicode version to 16 2024-11-10 09:03:52 +05:30
Kovid Goyal
96c1a5c4d1 Get automatic theme switching working 2024-11-07 17:31:44 +05:30
Kovid Goyal
8b7cd98a0e When running a kitten that modifies the kitty config file if no config file exists create a commented out default config file and then modify it
Fixes #7991
2024-10-28 14:01:42 +05:30
Kovid Goyal
62d5e13cbd themes kitten: fix some keybaord shortcuts not working with weird IME systems on Linux that convert key events into text events 2024-10-15 09:51:52 +05:30
Koichi Murase
8a1f829653 Call _command_offset from bash-completion framework only if available 2024-10-14 15:40:43 +09:00
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
c1fb18a6ef Implement changing transparent background colors via remote control 2024-09-24 19:02:13 +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
31aa4bc96d Dont ignore err in close on atomicwrite 2024-09-10 21:53:49 +05:30
Kovid Goyal
8a607fa34c kitten run-shell: Forward KSI env var for no-rc
This is useless, since if you are doing manual shell integration
anyway there is no point in running via the run-shell kitten.
But, let's keep the pedants at bay.

Fixes #7809
2024-09-01 10:29:51 +05:30
Kovid Goyal
8eb0b556b7 diff kitten: Fix a regression that broke diffing against remote files
Fixes #7797
2024-08-28 11:00:42 +05:30
Kovid Goyal
fdc3c3d7c1 kitten @: Fix a regression connecting to TCP sockets using plain IP addresses rather than hostnames
Fixes #7794
2024-08-27 18:30:51 +05:30
Kovid Goyal
2ac26b0e6d Fix #7752 2024-08-20 17:27:13 +05:30
Kovid Goyal
e74188fcf0 Switch to using ps to get all processes
The Go process module is very slow to get Exe() on non-Linux systems
without CGO as it works by calling lsof on the pid. So we anyway have to
filter by command line first. So might as well just use ps in that case.
2024-08-19 20:54:54 +05:30
Kovid Goyal
9708959438 When reloading in all kitty instances, only use readlink on processes that contain "kitty" in the image name
Apparently there are some machines where a few hundred/thousand readlink calls
take 30 seconds! See #7744
2024-08-19 19:18:37 +05:30
Kovid Goyal
5c1af0fcb1 Start work on the notify kitten 2024-07-28 20:41:01 +05:30
Kovid Goyal
a50bf2c6bb move code into separate function for legibility 2024-07-26 22:43:13 +05:30
Kovid Goyal
bb3aecd2a5 kitten run-shell: Automatically add the directory containing the kitten binary to PATH if needed
Controlled via the --inject-self-onto-path option
2024-07-26 22:29:05 +05:30
Kovid Goyal
7e7050d30e DRYer 2024-07-23 13:53:02 +05:30
Kovid Goyal
cb84f56ef8 Insist on specifying an output format 2024-07-23 13:47:36 +05:30
Kovid Goyal
8201f0dd0e Move caching implementation to Python
Less code, more performant since the cache is used from Python.
And we can make the Go code a pure image format conversion filter.
2024-07-23 13:37:53 +05:30
Kovid Goyal
eaf71d1ccf Allow specifying permissions when creating anonymous temp files 2024-07-23 07:28:10 +05:30
Kovid Goyal
d08dcd92c7 Python wrapper to use image to RGBA Go code 2024-07-22 22:39:12 +05:30
Kovid Goyal
fb20c4acb6 Code to convert image at path into cached RGBA data 2024-07-22 21:39:38 +05:30
Kovid Goyal
1b6f74da65 fsync before rename for atomic write 2024-07-22 20:04: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
573058d861 Fix panic on empty style 2024-07-21 18:41:04 +05:30
Kovid Goyal
ff2baf9122 mouse demo redraw screen on window resize 2024-07-20 17:05:30 +05:30
Kovid Goyal
9c9041cf57 Dont need to reset inband resize since it is saved and restored on the private setting stack 2024-07-20 17:02:08 +05:30
Kovid Goyal
33131ff5eb ... 2024-07-20 14:06:39 +05:30
Kovid Goyal
95aeaa390f ... 2024-07-19 12:05:52 +05:30