163 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f3662354e5 apprt/gtk: about window 2023-09-18 15:16:35 -07:00
Jonathan Marler
a2e881ff4e windows: initial support for zig build test
Makes progress getting "zig build test" to work on windows.  Mostly
fixed issues around build configuration and added some branches throughout
the Zig code to return/throw errors for unimplemented parts.

I also added an initial implementation for getting the home dir.
2023-09-14 03:15:40 -06:00
Mitchell Hashimoto
63386e4a22 build: can select renderer with -Drenderer
Note that not all renderers work in all environments.
2023-08-25 08:12:31 -07:00
Mitchell Hashimoto
ec69644de6 move stb to src/stb, add stb_image for png decoding 2023-08-20 22:03:20 -07:00
Mitchell Hashimoto
936befa1af update to 0.12.0-dev.141+ddf5859c2 2023-08-20 09:04:42 -07:00
Mitchell Hashimoto
7ccf86b175 remove imgui and devmode
imgui has been a source of compilation challenges (our fault not theirs)
and devmode hasn't worked in awhile, so drop it.
2023-08-20 08:50:24 -07:00
Mitchell Hashimoto
e8a6d09297 build: gtk needs imgui 2023-08-18 08:25:20 -07:00
Mitchell Hashimoto
3879f7c2e8 build: imgui should not be linked without an apprt 2023-08-18 08:24:09 -07:00
Mitchell Hashimoto
7659a2a733 build: fix linking bugs for macos test 2023-08-18 08:23:58 -07:00
Mitchell Hashimoto
68a9110d8e build: make glfw opt-in on all platforms, default to GTK on Linux
The GLFW build has grown farther and farther in feature parity with GTK
on Linux. And on macOS, the GLFW build has been unstable (crashes) for
months.

I still find the GLFW build useful for testing some core terminal work,
but it is increasingly user-hostile in case someone just downloads the
project and does a `zig build`.

I keep GLFW as up to date as I can, but the features that are missing
are due to fundamental limitations:

  - GLFW has no tabs, splits, etc. because it has no UI elements.
    I am not interested in painting UI widgets from scratch.

  - GLFW cannot support keyboard layouts robustly because it has no
    hooks to detect keyboard layouts or functions to get keymaps.

  - GLFW cannot support the Kitty keyboard protocol because the
    key/char API is too high level and it provides no low-level
    alternatives.

  - GLFW crashes on macOS under certain scenarios (this is my problem).
    I'm not interested in fixing it because the AppKit-based build
    is highly recommended.

To build or run the GLFW build you must now explicitly pass in
`-Dapp-runtime=glfw` to `zig build`.
2023-08-17 16:27:03 -07:00
Mitchell Hashimoto
b18e7393e1 build: remove hardcoded glibc, I don't think this error is happening 2023-08-13 11:57:43 -07:00
Mitchell Hashimoto
e33f6c71de update libxev to fix split writes on large writes (i.e. big paste)
Fixes #258

This was an upstream bug in libxev where partial the queueWrite
mechanism would not correctly handle partial write results:
https://github.com/mitchellh/libxev/pull/60
2023-08-09 08:18:43 -07:00
Kevin Hovsäter
22b8173164 Fix typos 2023-08-08 14:27:34 +02:00
Mitchell Hashimoto
a348adf26b build: dynamic link first (mode_first) 2023-08-07 10:49:50 -07:00
Mitchell Hashimoto
d356d5ea38 build: add libxml2/libbuid for fontconfig dynamic link for CI 2023-08-07 10:33:00 -07:00
Mitchell Hashimoto
68cd53e82d build: always add /usr/lib/{triple} to search path for Linux
This is a common location for dynamic libraries. We already searched it
for Flatpak but we need to do this more generally.
2023-08-07 10:20:20 -07:00
Thorsten Ball
89227a1aac flatpak: install icon files to /apps path
I couldn't get icons to work for the flatpak version, so I looked at the
reference here: https://docs.flatpak.org/en/latest/freedesktop-quick-reference.html

That says the path format is `share/icons/hicolor/<resolution>/apps/<icon>`.

That also matches what I have on my Ubuntu machines: icons are, for
example, located in these two locations:

- `/usr/share/icons/hicolor/128x128/apps`
- `~/.local/share/icons/hicolor/128x128/apps`

Note the `/apps`.
2023-08-06 18:54:45 +02:00
Mitchell Hashimoto
9e3d59534d update build.zig required zig version 2023-08-02 16:18:27 -07:00
Mitchell Hashimoto
dd18eaab5d fix various build scripts 2023-08-02 15:06:24 -07:00
Mitchell Hashimoto
d649b3f6d4 update zig 2023-08-02 14:39:19 -07:00
Mitchell Hashimoto
4b3b42bc54 update zig 2023-07-28 10:22:58 -07:00
Mitchell Hashimoto
848943770a start shell-integration folder, copy into zig-out 2023-07-06 13:26:28 -07:00
Mitchell Hashimoto
ce77002198 remove metal workaround completely 2023-07-01 15:19:13 -07:00
Mitchell Hashimoto
f537d7aab1 renderer: remove metal workaround, this caused crashes on x86_64
And it now works.
2023-07-01 15:14:24 -07:00
Mitchell Hashimoto
a212d811e7 build: update min required zig version 2023-06-30 13:24:01 -07:00
Mitchell Hashimoto
b7b3b9e7f2 build.zig update min version 2023-06-25 11:18:09 -07:00
Mitchell Hashimoto
56f8e39e5b Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
701cb9f2f5 build: fix race condition in build on creating 'share' dir 2023-06-24 15:34:17 -07:00
Mitchell Hashimoto
7e51dbb7e5 build: fix race conditions, use actual filesource 2023-06-24 14:24:58 -07:00
Mitchell Hashimoto
d9421b87b0 build: copy the terminfo db using cp so we get symlinks 2023-06-24 12:40:12 -07:00
Mitchell Hashimoto
da1248d973 build: copy terminfo data into Mac app bundle 2023-06-24 11:41:16 -07:00
Mitchell Hashimoto
aad8483323 build: use tic to compile terminfo into database format 2023-06-24 09:45:26 -07:00
Mitchell Hashimoto
21d922304b build: build.zig encodes and writes the terminfo source 2023-06-24 09:12:42 -07:00
Mitchell Hashimoto
7116ce0806 update zig version 2023-05-29 08:24:12 -07:00
Mitchell Hashimoto
57d8754c85 update required zig version in build.zig 2023-05-27 09:31:47 -07:00
Mitchell Hashimoto
97d9157d22 update zig version 2023-05-07 20:50:51 -07:00
Mitchell Hashimoto
4de8ddbeb5 update build 2023-04-06 08:57:29 -07:00
Jakub Konka
29e93a8984 macos: force macOS 12 SDK for latest macOS 13 as Mach does not support it 2023-03-26 22:51:37 +02:00
Mitchell Hashimoto
86c5b04ff9 copy mac binary must depend on binary 2023-03-24 20:33:36 -07:00
Mitchell Hashimoto
3be86cc79a don't prefix warning 2023-03-24 20:19:04 -07:00
Mitchell Hashimoto
19106575eb use new build struct 2023-03-24 20:17:25 -07:00
Mitchell Hashimoto
7a6826ee0e build: run tests 2023-03-24 19:51:17 -07:00
Mitchell Hashimoto
5dc98da9a0 build compiles at least 2023-03-24 19:39:50 -07:00
Mitchell Hashimoto
8e8aabf4c0 build.zig: detect build outside of Nix environment and provide warning 2023-03-13 11:12:12 -07:00
Mitchell Hashimoto
d99cc0aec1 build.zig: automatically patchelf the rpath when in a nix shell 2023-03-13 10:59:30 -07:00
Mitchell Hashimoto
03f5addd34 build.zig handles tagged releases 2023-03-05 09:04:59 -08:00
Mitchell Hashimoto
0907da4eba build: generate a version number, show in log on startup 2023-03-04 20:34:15 -08:00
Mitchell Hashimoto
06035e2f95 can now use -Dfont-backend to choose the font backend to use 2023-03-04 10:50:13 -08:00
Mitchell Hashimoto
2b73fbaa0d iterating on the new for loop syntax 2023-02-27 21:53:09 -08:00
Mitchell Hashimoto
5db9854e63 build: install the proper linux desktop file depending on flatpak or not 2023-02-27 15:20:31 -08:00