Commit graph

417 commits

Author SHA1 Message Date
Kovid Goyal
68805850a5
Preserve opacity when resizing on image load 2025-11-15 14:56:21 +05:30
Kovid Goyal
25cf8622bc
Avoid double is_opaque scan 2025-11-15 13:06:17 +05:30
Kovid Goyal
fb6332d8e2
Resize frames in parallel 2025-11-15 12:41:14 +05:30
Kovid Goyal
1d19942811
Store more metadata about pixel data shape when serializing 2025-11-15 12:23:56 +05:30
Kovid Goyal
9be602f94f
... 2025-11-11 21:39:12 +05:30
Kovid Goyal
6f588a0c29
run modernize 2025-11-11 17:09:37 +05:30
Kovid Goyal
d19fc375ba
Switch to external shm package 2025-11-10 12:01:05 +05:30
Kovid Goyal
1c8e8e9530
Switch over to the new imaging backend for icat
Greatly simplifies a whole bunch of code. The new backend takes care of
falling back to ImageMagick efficiently itself.
2025-11-10 11:34:56 +05:30
Kovid Goyal
57f7c8f65e
Bump version of imaging for a few more fixes 2025-11-08 10:27:56 +05:30
Kovid Goyal
375aeae689
Clean up imagemagick disposal processing 2025-11-07 14:44:26 +05:30
Kovid Goyal
f8c78909fa
Use an explicit APNG identifier for apng files with ImageMagick
Required as per Imagemgick docs: https://imagemagick.org/script/formats.php
2025-11-07 11:33:13 +05:30
Kovid Goyal
1e6d67b975
Update to the latest version of imaging
Gives us a bunch of new features and allows us to move a bunch of code
into imaging
2025-11-06 22:31:31 +05:30
Eng Zer Jun
d5455ab072
Update github.com/shirou/gopsutil to v4
v4 is the latest version with bug fixes and enhancements, notably the
removal of CGO implementations on Darwin in v4.24.9 [1].

Note: Due to the library's versioning policy, v4.24.5 is the first v4
release [2].

[1]: https://github.com/shirou/gopsutil/releases/tag/v4.24.9
[2]: https://github.com/shirou/gopsutil/releases/tag/v4.24.5

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2025-10-31 23:14:38 +08:00
Kovid Goyal
1e1a1851d0
Add support for Unicode 17
This is preliminary, all tests pass, but needs more careful review.
2025-10-18 09:59:53 +05:30
Kovid Goyal
1c2c01722b
Bump version of imaging
Fixes an out of bounds error when processing opaque images
2025-10-15 08:29:23 +05:30
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