Commit graph

402 commits

Author SHA1 Message Date
Kovid Goyal
284ae74201
icat: Report panics in the render function correctly
Also, only fallback to imagemagick on error when the engine is not
specified as builtin
2025-10-15 08:17:53 +05:30
Kovid Goyal
b627d2e4ab
Move error handling code into its own library 2025-10-12 13:51:16 +05:30
Kovid Goyal
471831831b
move more imaging code into the imaging module 2025-10-12 08:29:30 +05:30
Kovid Goyal
44df0c85c4
Mark the netPBM image types as decodable 2025-10-11 13:43:00 +05:30
Kovid Goyal
a1168be6c7
... 2025-10-11 13:25:46 +05:30
Kovid Goyal
4c0c5c01f2
Bump version of imaging 2025-10-11 13:17:15 +05:30
Kovid Goyal
29e80f2c1b
Remove unused code 2025-10-10 08:23:22 +05:30
Kovid Goyal
b543956638
... 2025-10-09 20:29:15 +05:30
Kovid Goyal
ec7da87905
An endpoint to develop resizing code 2025-10-09 20:09:15 +05:30
Kovid Goyal
436ab9a95a
Add a convenient entry point to test and work on the image serialization code 2025-10-09 19:26:05 +05:30
Kovid Goyal
35093d2105
Fix frame origins not be de-serialized 2025-10-09 19:22:22 +05:30
Kovid Goyal
9212c08638
Faster conversion of plaette to NRGB for opaque colors 2025-10-09 16:57:28 +05:30
Kovid Goyal
2dea3087b3
Faster is_opaque implementation for paletted images 2025-10-09 16:52:13 +05:30
Kovid Goyal
c48ed15007
... 2025-10-09 16:12:39 +05:30
Kovid Goyal
127459012a
Fix incorrect alpha values returned by NRGB color model 2025-10-09 11:39:39 +05:30
Kovid Goyal
298daa4e83
Utility method to save frame as uncompressed PNG 2025-10-09 10:56:33 +05:30
Kovid Goyal
9be66bfe4a
When rendering with Go image libraries fails fallback to ImageMagick 2025-10-09 09:40:46 +05:30
Kovid Goyal
2ac2c17929
Fix transmission by file 2025-10-09 09:35:06 +05:30
Kovid Goyal
c6582e9f51
... 2025-10-09 09:25:47 +05:30
Kovid Goyal
ceb712f791
DRYer 2025-10-09 09:00:37 +05:30
Kovid Goyal
aecf13302a
Fix off-by-one in NRGB 2025-10-09 08:30:20 +05:30
Kovid Goyal
e61e95da3a
... 2025-10-09 08:04:58 +05:30
Kovid Goyal
37bd77f4a8
Bump version of imaging
imaging is now panic safe. Also format nested panics a bit better.
2025-10-09 08:00:31 +05:30
Kovid Goyal
f067e9cd92
Make various goroutines panic-safe 2025-10-09 07:17:53 +05:30
Kovid Goyal
49d8b1a9d0
More work on image preview rendering 2025-10-08 22:00:12 +05:30
Kovid Goyal
a76f32df2d
Code to serialize/unserialize loaded images 2025-10-07 17:25:47 +05:30
Kovid Goyal
16d411943a
Add integration test for go atexit implementation 2025-09-30 12:37:25 +05:30
Kovid Goyal
190e3e5891
Add atexit cleanup via worker process to kittens infrastructure 2025-09-30 11:52:13 +05:30
Kovid Goyal
f98d5fce16
Remove multiple copies of imaging package
Move to an exiffix fork that does not depend on disintegration/imaging
Now we have only one copy of kovidgoyal/imaging package.
2025-09-19 21:41:23 +05:30
Kovid Goyal
fd5876b94e
Use SIMD to replace C0 control codes in Go code 2025-07-21 08:54:22 +05:30
Kovid Goyal
fef57bd4c2
Format counts using user locale 2025-07-12 08:24:06 +05:30
Kovid Goyal
ebe9842291
Implement file filters via dbus 2025-07-06 12:17:09 +05:30
Kovid Goyal
76d0991b76
Work on filter support 2025-07-04 13:37:56 +05:30
Kovid Goyal
dea6e1da42
Special case parallel run with one worker 2025-06-06 16:02:31 +05:30
Kovid Goyal
3059c87bd0
Use a lock and channel free parallelization for subseq scoring 2025-06-06 06:39:09 +05:30
Kovid Goyal
3feea5b279
DRYer 2025-06-05 20:59:09 +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
429cff0a52
Convenience method to access any member of a set 2025-05-15 21:40:06 +05:30
Kovid Goyal
796ee602de
... 2025-04-21 09:50:30 +05:30
Kovid Goyal
6f673929eb
Fix failure of tarfile extract when dest_path has symlinks 2025-04-21 09:46:30 +05:30
Kovid Goyal
4d69eea4af
Add test for tarfile extractall 2025-04-21 09:32:56 +05:30
Kovid Goyal
3daac6fb22
Remove unnecessary check 2025-04-20 23:38:16 +05:30
Kovid Goyal
50b830faa5
DRYer 2025-04-20 23:18:49 +05:30
Kovid Goyal
5a6c2d9f3b
skip illegal paths in tar archives rather than erroring on them 2025-04-20 23:12:17 +05:30
Kovid Goyal
d7f4d44d8e
More CodeQL fixes 2025-04-20 23:08:14 +05:30
Kovid Goyal
341df0dccb
More CodeQL fixes 2025-04-20 22:13:45 +05:30
Kovid Goyal
237bb35ee9
More CodeQL fixes 2025-04-20 21:53:11 +05:30
Kovid Goyal
adfcffa5d7
Various fixes to make CodeQL happy 2025-04-20 21:34:42 +05:30
Kovid Goyal
c84b894a89
Remove deprecated tar file type check 2025-04-20 15:59:20 +05:30
Kovid Goyal
3832e45a6f
Fix another incorrect use of unix.Stat_t 2025-02-09 14:22:08 +05:30
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
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
f3db7e7554
diff kitten: Automatically change colors on terminal color scheme change 2025-01-05 06:00:24 +05:30
Kovid Goyal
af8605dabf
bump unicode version to 16 2024-11-10 09:03:52 +05:30
Kovid Goyal
31aa4bc96d
Dont ignore err in close on atomicwrite 2024-09-10 21:53:49 +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
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
e45d518082
Remove use of syscall package for flock
It is provided by unix package these days
2024-07-09 08:24:57 +05:30
Kovid Goyal
b017cc0c1e
Handle variable fonts like cascadia code that dont have a postfix variation prefix name for some of their faces 2024-06-24 07:54:17 +05:30
Kovid Goyal
802ed976a9
Start work on faces panel 2024-06-24 07:54:15 +05:30
Kovid Goyal
314b2444c7
Use KITTY_PID to find kitty exe when possible 2024-06-24 07:54:14 +05:30
Kovid Goyal
96f8dbbbeb
Get clicking on family names functional 2024-06-24 07:54:13 +05:30
Kovid Goyal
405f5ce148
Use stdlib maps/slices 2024-06-24 07:54:13 +05:30
Kovid Goyal
51472e1e88
Infrastructure for simple internal hyperlink handling 2024-06-24 07:54:13 +05:30
Kovid Goyal
3d98b33076
... 2024-04-09 08:39:42 +05:30
Kovid Goyal
a444b5eccb
Only use raw monotonic time on Linux and macOS 2024-04-09 08:21:20 +05:30
Kovid Goyal
6c64428be9
CLOCK_MONOTONIC_RAW support for Go 2024-04-09 08:04:15 +05:30
Kovid Goyal
55feef8663
Linter fixes 2024-03-22 11:16:02 +05:30
Kovid Goyal
3b74fcb88c
switch to a maintained fork of imaging 2024-03-22 10:38:22 +05:30
Kovid Goyal
e818f01ff2
Ensure palette is large enough to avoid panics with invalid images that have pixels refering to colors not in the palette 2024-03-22 10:01:20 +05:30
Kovid Goyal
e11081ac09
Use exiffix rather than imaging to handle EXIF rotation
exiffix works for more formats than just JPEG
2024-03-22 09:35:39 +05:30
Kovid Goyal
210c417d96
... 2024-03-06 10:41:39 +05:30
Kovid Goyal
16d36c46fe
Update to using math/rand/v2 2024-02-25 09:57:43 +05:30
Kovid Goyal
777fd5350b
Add a test for Go flock implementation 2024-02-09 11:54:51 +05:30
Kovid Goyal
a1f2a7df4d
Port new shlex code to Go 2023-12-04 14:14:11 +05:30
Kovid Goyal
314fe4fe4a
Allow launched background process to work with --allow-remote-control
Use a dedicated socketpair for such processes. Fixes #6712
2023-10-18 19:56:58 +05:30
Kovid Goyal
c280a28155
Dont use os.Remove on failures in syscall_shm
Use shm_unlink instead
2023-09-23 11:16:30 +05:30
Kovid Goyal
24598b846c
... 2023-09-23 11:09:51 +05:30
Kovid Goyal
dc43f0d42f
... 2023-09-23 11:08:55 +05:30
Kovid Goyal
5fede41205
Always use fallocate() on Linux for SHM creation 2023-09-23 10:55:15 +05:30
Kovid Goyal
6619bf33b0
Using fcntl() based fallocate on darwin doesnt work with file descriptors returned by shm_open 2023-09-23 10:39:10 +05:30
Kovid Goyal
38bac98c12
Fix build of fallocate_darwin.go 2023-09-23 10:08:04 +05:30
Kovid Goyal
2e4f3dab41
Use fallocate() rather than truncate() when creating SHM memory
With truncate() the OS might not actually allocate the space leading to
a SIGBUS if /dev/shm runs out of space when actually using the mmap.

By using fallocate we ensure that once the SHM mmap is created it wont
fail
2023-09-23 09:53:17 +05:30
Kovid Goyal
7faf216f9e
More linter fixes 2023-09-18 20:59:47 +05:30
Kovid Goyal
863adb3e8d
Go: Fix parsing of nullable colors
Fixes #6629
2023-09-15 20:36:24 +05:30
Kovid Goyal
5c4efc0fd7
... 2023-09-14 08:24:43 +05:30
Kovid Goyal
93618842ae
Make a couple of other Set API functions nil-safe 2023-09-12 15:37:24 +05:30
Kovid Goyal
2d7bbf60cc
Fix #6615 2023-09-12 15:34:09 +05:30
Kovid Goyal
d1d888ce19
Remove unnecessary copy of the decoder array 2023-09-04 22:28:18 +05:30
Kovid Goyal
1f4386fd08
... 2023-09-04 21:44:46 +05:30
Kovid Goyal
34e5c7f8aa
Ensure efficient conversion for base85 string API 2023-09-04 21:39:03 +05:30
Kovid Goyal
541c0cdde4
Do not build decode table for base85 until it is actually needed
Also make the tests actual tests
2023-09-04 21:32:25 +05:30