Kovid Goyal
42ab460db3
Only include -fno-plt if the compiler supports it
2025-04-02 11:12:07 +05:30
Kovid Goyal
66856e7b52
Use a multi-stage lookup table for grapheme segmentation
2025-03-31 21:51:28 +05:30
Firepup Sixfifty
7814869fc1
Handle the edge case of someone running a development go build
2025-03-18 12:20:30 -05:00
leiserfg
6171ca6859
Fix regression in setup.py
2025-03-08 12:23:51 +01:00
leiserfg
55bd074c01
Add support for xdg-terminal-exec
...
See proposal in https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/3/diffs
2025-03-07 11:29:53 +01:00
Kovid Goyal
744145f392
Add cairo and pixman as deps on Linux
...
Needed to render COLRv1 fonts. Which are needed because bitmap emoji
fonts dont render well at large font sizes such as can be used with
multicell chars.
2025-02-03 11:06:38 +05:30
Kovid Goyal
dc1bed1bd1
Use XXHash for hash table hashing of arbitrary sized keys
...
Much faster than FNV
2025-02-03 10:56:46 +05:30
Kovid Goyal
d36a64087e
Bump Go to 1.23
...
We need this because Go < 1.23 produces binaries that dont work on
modern OpenBSD because OpenBSD decided to remove syscall() from their
libc. Mad buggers, who removes functions from libc breaking all
binaries!!
Also increase minimum macOS version to 11.0 as Go 1.23 requires that
2024-08-24 08:06:02 +05:30
Kovid Goyal
81061a8d43
macOS: Bump the minimum required macOS version to Catalina released five years ago.
...
Catalina is actually already EOL as of July 2022 but we dont need
anything from newer releases that isn't detected at runtime. Going to
Catalina allows us to use a better format for the generated DMG (UMNO
instead of ULFO which compresses better).
2024-08-13 09:03:38 +05:30
Kovid Goyal
2c743dcdb2
Update sound support in desktop notifications spec
...
Add a short list of standard sound names.
2024-08-04 20:20:41 +05:30
Kovid Goyal
9b19f300fe
Drop support for building without UserNotifications
...
Trying to maintain the two code paths is too much effort given all the
new features being added to notifications.
2024-07-30 07:39:53 +05:30
Kovid Goyal
b8e6d6b058
fonts should not be removed by make clean
...
It is not generated by make
2024-07-05 12:04:48 +05:30
Kovid Goyal
a54afe2433
make clean should remove copied in fonts
2024-07-02 19:13:34 +05:30
Kovid Goyal
71f96b3c83
Package the standalone NERD font
2024-07-02 19:08:52 +05:30
Kovid Goyal
15af20fa31
Copy in systemwide NERD font during build
...
Means it works when running from source and can be used as the
source for copying the font into built packages
2024-07-02 18:57:38 +05:30
Kovid Goyal
9b3bb05a3a
Drop support for 32-bit x86 prebuilt binaries
...
SIMDe 0.8.2 doesnt build on 32 bit and while that will likely be fixed
eventually, 32bit isn't tested in CI and generally speaking there isn't
much use for this platform anymore. I dont know of any 32-bit computers
in common use these days.
As such the overhead of maintaining these is not worth it for me.
kitty itself remains buildable on 32-bit though no guarantees for how
long that will last. kitten remains available on 32bit.
2024-06-24 07:53:15 +05:30
Kovid Goyal
b5cf999da9
Make kitty --single-instance fast
...
No longer pay the overhead of starting the Python interpreter
just to write a message to the single instance socket. This reduces
the time for kitty --single-instance (for second and later instances)
from 70ms to 3ms an almost 25x improvement.
Needs testing on macOS and also porting of the +open handling.
2024-06-23 15:45:41 +05:30
Kovid Goyal
581db0ab7a
Make kitty --version fast
...
It's now approx 3ms on my system and 1.23 times faster than alacritty
--version
2024-06-22 12:27:29 +05:30
Kovid Goyal
adc457ff0f
Dynload libsystemd
2024-05-16 21:13:09 +05:30
Kovid Goyal
f979c24add
Move some defines to only the source files where they are needed
2024-05-16 17:38:26 +05:30
Kovid Goyal
f30652c24a
...
2024-05-16 17:18:06 +05:30
Kovid Goyal
28a9f48786
Fix CI with systemd
2024-05-16 16:00:28 +05:30
Kovid Goyal
39ea084be9
Linux: Run all child processes in their own systemd scope to prevent the OOM killer from harvesting kitty when a child process misbehaves
...
Fixes #7427
2024-05-16 15:43:25 +05:30
Kovid Goyal
a4c9cb6d28
Small performance increase in SIMD code
...
Use OpenMP annotations with simde as the simde docs recommend.
2024-05-04 09:47:02 +05:30
Kovid Goyal
8183e9d3ef
Fix CI build failure on macOS
...
Also update simde to version 0.8. Accidental was using it to debug
issues with building against simde, but now that it's done, keep it.
2024-04-30 09:48:51 +05:30
Kovid Goyal
437fc0d8c2
Revert renaming of kitty.dekstop to kitty-terminal.desktop
...
Changing the default value for application id/WM_CLASS is a no go, since
existing scripts can depend on it and I try to avoid breaking people's
workflows wherever possible. Guess xdg-mime will just have to live with
the horror of an unhyphenated file name.
Fixes #7326
2024-04-09 12:47:14 +05:30
Kovid Goyal
597710dd53
Add StartupNotify to kitty.desktop
...
See https://gitlab.gnome.org/GNOME/mutter/-/issues/2739
Also rename kitty.desktop to kitty-terminal.desktop as otherwise
xdg-menu-install complains about no vendor prefix.
2024-04-08 10:00:06 +05:30
Kovid Goyal
20375ee77a
Fix #7310
2024-04-04 15:08:58 +05:30
Kovid Goyal
d260c0a679
...
2024-03-29 13:31:31 +05:30
Kovid Goyal
c72963dfc5
Use requires-python in pyproject.toml to specify python requirement
2024-03-29 13:23:09 +05:30
Kovid Goyal
a0424bf1bd
Dont omit frame pointer in debug and profile builds
2024-03-18 10:56:50 +05:30
Kovid Goyal
5e0185d3eb
Ensure KITTY_NO_SIMD is defined for all files on arches without SIMD support
2024-03-15 12:19:47 +05:30
Kovid Goyal
0153c9bb85
Use -g3 for profiling rather than -g
2024-03-14 17:07:38 +05:30
Kovid Goyal
10cff577d6
Also get a backtrace when generating go code segfaults on CI
2024-03-14 16:25:52 +05:30
Kovid Goyal
77125798a4
Redirect to NULL instead of pipe since we dont use the output
2024-03-14 12:15:15 +05:30
Kovid Goyal
c26954c69e
...
2024-03-14 12:05:57 +05:30
Kovid Goyal
9667da307c
Print detected compiler type in verbose mode
2024-03-14 12:04:33 +05:30
Kovid Goyal
baa3ec0a62
Explicitly detect compiler types gcc vs clang
2024-03-14 12:02:01 +05:30
Kovid Goyal
3950632517
Switch to detecting clang rather than gcc
...
gcc makes it impossible to detect that it is gcc via --version
so instead detect clang and assume gcc if not clang.
Fixes #7218
2024-03-14 10:48:27 +05:30
Kovid Goyal
297ac9c3fe
...
2024-03-14 08:54:39 +05:30
Kovid Goyal
17fe6b3373
Simplify sanitize args
2024-03-01 11:08:51 +05:30
Kovid Goyal
f16c2a0d67
Move checking for compiler brand into Env
2024-02-25 09:57:43 +05:30
Kovid Goyal
29a574a4bc
Prevent duplicate VZEROUPPER instructions
2024-02-25 09:57:43 +05:30
Kovid Goyal
f1fe0bf40a
Code to easily compare SIMD and scalar decode in a live instance
...
Also remove -mtune=intel as it fails with clang
2024-02-25 09:57:41 +05:30
Kovid Goyal
55c909c656
Use -mtune=intel for SIMD files when building without native optimizations
2024-02-25 09:57:40 +05:30
Kovid Goyal
68d800d4fa
make clean should clean generated asm as well
2024-02-25 09:57:40 +05:30
Kovid Goyal
73342411bc
Dont build any SIMD code when the target is neither ARM64 nor x86/amd64
2024-02-25 09:57:38 +05:30
Kovid Goyal
8dd6f9b07c
Get universal builds working again
...
Now we use lipo and build individually so we can pass the correct
compiler flags per arch
2024-02-25 09:57:38 +05:30
Kovid Goyal
7e77a196e6
Build only the SIMD code with SIMD compiler flags
2024-02-25 09:57:38 +05:30
Kovid Goyal
465616223c
Drop using the v2 microarch
...
No significant performance impact and small risk of breakage
2024-02-25 09:57:38 +05:30