400 Commits

Author SHA1 Message Date
Mitchell Hashimoto
d205f6a560 build: -Dpie default to true in system package mode
Fixes #2673

Rather than document this too much, I think it makes sense to just
default this to true when system package mode is enabled (`--system`)
since it seems that in multiple package ecosystems this is the desired
behavior.

This can still be overridden by setting `-Dpie=false`.
2024-11-14 09:34:07 -08:00
Mitchell Hashimoto
dfe33dc9bb build.zig: add -Dpie option for position independent executables
This is required by some packaging ecosytems.
2024-11-11 19:24:02 -08:00
Jeffrey C. Ollie
b353ddf46d core/gtk: unify libadwaita/adwaita options in the code
Fixes #2574
2024-11-08 22:19:04 -06:00
phillip-hirsch
b5ed4cb680 feat: Add syntax highlighting for bat 2024-11-06 17:06:24 -05:00
Tristan Partin
16e8095d52 feat: install neovim plugin
$prefix/share/vim/vimfiles is not always read by Neovim. It is
distribution dependent. $prefix/share/nvim/site is a default path for
Neovim however.

Signed-off-by: Tristan Partin <tristan@partin.io>
2024-11-04 19:58:50 -06:00
Mitchell Hashimoto
038b3dec79 update zig-objc
This fixes a hack we had around apple paths since we do this now
upstream in zig-objc. This also adds in support for NSFastEnumeration
needed for #2586
2024-11-03 15:21:26 -08:00
Nyaa97
7eb5563e9c Fix linking freetype and glslang 2024-10-30 16:43:41 -04:00
Rithul Kamesh
c625d43818 build: require exact major/minor Zig version 2024-10-27 08:33:36 -06:00
Mitchell Hashimoto
4095b189ed build: only default system libs to false on macOS 2024-10-24 15:28:53 -07:00
Mitchell Hashimoto
8bb8b01e54 build: use Zig system packaging options
This allows dynamically linking against system libraries, which is
particularly useful for packaging.
2024-10-24 14:46:37 -07:00
Mitchell Hashimoto
2bbbdf7433 build: strip symbols from release builds
This significantly reduces the size of the binary.
2024-10-15 09:46:15 -07:00
Qwerasd
d38d0f30c4 font/sprite: replace pixman with z2d, extend Box coverage
More complete coverage of the Symbols For Legacy Computing block,
including characters from Unicode 16.0.

Pixman and the web canvas impl for Canvas have been removed in favor of
z2d for drawing, since it has a nicer API with more powerful methods,
and is in Zig with no specific platform optimizations so should compile
to wasm no problem.
2024-10-14 17:50:49 -04:00
Mitchell Hashimoto
eec77e271c macos: change our minimum version to macOS 13
macOS 12 is officially EOL by Apple and the project only supports
officially supported versions of macOS. Once publicly released, users on
older macOS versions will have to use older released builds.
2024-10-09 14:41:57 -07:00
Mitchell Hashimoto
124ffb3ecb build: use the native target for generic macos target by default
Fixes #2426
2024-10-09 14:08:48 -07:00
Jeffrey C. Ollie
ab0a736089 gtk: load css when libadwaita is not being used 2024-10-08 11:17:32 -05:00
Jeffrey C. Ollie
a969364f93 cli/list-themes: add ability to search theme names 2024-09-27 10:53:58 -07:00
Jeffrey C. Ollie
743e547235 cli: "fancy" theme preview
This adds a "fancy" theme preview to the `+list-themes` CLI action.
By default, if the command is connected to a TTY, it will display the
fancy preview. If it is not connected to a TTY, or the user specifies
`--plain` on the command line, a simple list of themes will be printed
to stdout.

While in the preview `F1` or `?` will show a help screen.
2024-09-27 10:53:58 -07:00
Mitchell Hashimoto
47b3e5617f build: support building without .git directory
Fixes #2223
2024-09-12 09:39:17 -07:00
Jeffrey C. Ollie
6edeb45e7e kitty graphics: address review comments
- move wuffs code from src/ to pkg/
- eliminate stray debug logs
- make logs a warning instead of an error
- remove initialization of some structs to zero
2024-09-02 20:47:07 -07:00
Jeffrey C. Ollie
6dbb82c259 kitty graphics: performance enhancements
Improve the performance of Kitty graphics by switching to the WUFFS
library for decoding PNG images and for "swizzling" G, GA, and RGB data
to RGBA formats needed by the renderers.

WUFFS claims 2-3x performance benefits over other implementations, as
well as memory-safe operations.

Although not thorougly benchmarked, performance is on par with Kitty's
graphics decoding.

https://github.com/google/wuffs
2024-09-02 20:45:08 -07:00
Mitchell Hashimoto
2f32efbc82 Merge pull request #2173 from ghostty-org/crashlog
Initial Crash Logging
2024-09-02 10:35:27 -07:00
Mitchell Hashimoto
17db317916 build: build without Git, tag version as dev with 0 SHA
Fixes #2170

Example now: `info: ghostty version=0.1.0-dev+0000000`
2024-08-31 09:43:30 -07:00
Mitchell Hashimoto
e6ae8107c4 build: include breakpad in static lib bundle for lib 2024-08-28 21:44:38 -07:00
Mitchell Hashimoto
7613e5f211 add pkg/breakpad, configure sentry to use breakpad 2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
13f1752836 build: don't include sentry on windows 2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
2abdf291f4 implement sentry transport to write crash reports to XDG_STATE_HOME 2024-08-28 21:43:18 -07:00
Mitchell Hashimoto
42b3ee8df2 build: always compile sentry 2024-08-28 21:43:17 -07:00
Mitchell Hashimoto
adbb394e44 initialize sentry on startup 2024-08-28 21:43:17 -07:00
Mitchell Hashimoto
9409e3072f apprt/gtk: remove usingnamespace 2024-08-16 14:58:04 -07:00
Qwerasd
57d850822e macos/opengl: lock context while rendering to stop resize crashes 2024-08-14 23:47:33 -04:00
x123
502c89dce5 fix: vaxis recursive deps issue 2024-08-07 18:32:04 +02:00
Mitchell Hashimoto
0ec0cc0f95 build: build proper metallib for iOS builds 2024-08-06 16:04:41 -07:00
Mitchell Hashimoto
ab7f0c6119 Merge pull request #2056 from ghostty-org/metal
metal: precompile shaders as part of the build
2024-08-06 15:44:35 -07:00
Mitchell Hashimoto
c116d147d6 build: build metal lib 2024-08-06 15:30:48 -07:00
Mitchell Hashimoto
64c267a8c7 Merge pull request #2052 from rockorager/pretty-print
cli/list-keybinds: add pretty printing
2024-08-06 14:53:15 -07:00
Tim Culverhouse
59e226154c cli/list-keybinds: add pretty printing
Add pretty printing to the +list-keybinds command. This is done by
bringing in a dependency on libvaxis to handle the styling. Pretty
printing happens automatically when printing to a tty, and can be
disabled either by redirecting output or using the flag `--plain`
2024-08-06 12:19:39 -05:00
Łukasz Niemier
f9be02a20f chore: clean up typos 2024-08-05 13:56:57 +02:00
Mitchell Hashimoto
27acd71105 simd: add base64 functions from simdutf 2024-07-16 20:12:45 -07:00
Mitchell Hashimoto
6da2ef9112 build: if emit-docs is not set, still create share/man 2024-07-02 14:01:40 -07:00
Mitchell Hashimoto
00745f4caa update README for Zig 0.13 2024-06-24 15:36:05 -07:00
Mitchell Hashimoto
98689413b4 disable AVX512 until Zig issue is resolved
https://github.com/ziglang/zig/issues/20414
2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
cb76fe6634 fix linux builds 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
53423f1071 0.13 conversions 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
a30e791c85 begin 0.13 update process -- very broken 2024-06-24 15:16:22 -07:00
Jan200101
11a9dd9dad build: prevent breakage with relative paths
`root()` returns `@src().file` which isn't guaranteed to be an absolute path
2024-05-26 17:46:26 +02:00
Jared Widberg
dc613f221b Revert cc29f0686379187733fe8824a2bea3ec63d93448 2024-04-27 20:06:56 -04:00
Mitchell Hashimoto
99b963d4b0 build.zig: change required zig version 2024-04-21 10:27:26 -07:00
Mitchell Hashimoto
9fc4bc1e14 build: absolute path should not use b.path 2024-04-18 14:57:00 -07:00
Mitchell Hashimoto
736623b7ec build: use b.path everywhere 2024-04-18 14:51:41 -07:00
Mitchell Hashimoto
e4cbd522e8 update zig 2024-04-18 14:37:05 -07:00