43 Commits

Author SHA1 Message Date
Mitchell Hashimoto
3c0700c6b0 os: launchFromDesktop works even if the artifact is a lib
Fixes #598
2023-09-30 19:09:52 -07:00
Mitchell Hashimoto
d03083c7f5 apprt/gtk: default working-directory to home if launched from desktop
Fixes #573
2023-09-29 15:52:45 -07:00
Mitchell Hashimoto
d878d16779 os: unset lang completely setlocale fails 2023-09-29 13:11:07 -07:00
Mitchell Hashimoto
38a7c2270b os: we need to copy the old lang pointer before we unsetenv 2023-09-29 12:56:43 -07:00
Mitchell Hashimoto
0026c40062 Simplify setlocale logic to rely on libc to fail if invalid
Instead of checking if a locale is valid, let's change this logic:

  1. We first try setlocale to inherit from env vars, system default.
  2. Next, we fall back to unsetting LANG if it was set manually,
     allowing us to fall back to system defaults.
  3. We fall back to en_US.UTF-8.
2023-09-26 17:35:19 -07:00
Mitchell Hashimoto
ea4bc95f43 os: appendEnv 2023-09-20 13:02:06 -07:00
Will Pragnell
8f2ab46e1e windows: use cross platform consts where available 2023-09-15 16:01:33 -07:00
Will Pragnell
57894786d4 windows: implement tmpDir 2023-09-14 20:48:09 -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
bd7cc4b71d core: App looks up resources dir on startup 2023-08-08 09:21:52 -07:00
Mitchell Hashimoto
4e9dcf6b62 os: add resourcesDir function to find app resource dir 2023-08-08 09:17:14 -07:00
Thorsten Ball
5472d03832 locale: remove default value for local dev env
I commented this out to test something locally and it compiles & runs
fine on macOS with Xcode. Looks like it's not needed anymore.
2023-07-19 06:46:01 +02:00
Thorsten Ball
4b48d42a07 locale: set LANG to the fallback value if we have invalid locale
See #201 for more information.

Problem is that while we fall back to a default value to pass to
`setlocale`, we don't set a `LANG` and instead reset it to `""`.

What this does here is it changes the resetting to `""` and instead sets
it to the default value.
2023-07-19 06:44:35 +02:00
Mitchell Hashimoto
4176c6bdbf reset LANG env var if we set it and it is invalid
This was breaking downstream programs, see #201
2023-07-18 10:49:43 -07:00
Mitchell Hashimoto
0849aa8f20 validate locale prior to setting, fallback to en_US.UTF-8
Fixes #201

I don't fully understand locales, but it appears that the locale
returned from NSLocale can be "valid" in general but invalid according
to libc's locale API. If you attempt to `setlocale` with this bad
locale, it defaults everything to "C", which ends up breaking a lot of
things.

This commit validates the locale, and if it is invalid, we default to
"en_US.UTF-8" so things tend to work. This behavior can be overridden
using standard environment variables (LANG, LC_ALL, etc.).

This also doesn't touch env vars so further subprocesses from the shell
see original locale env vars.
2023-07-11 11:50:12 -07:00
Mitchell Hashimoto
bf25bf0a6a move a bunch of files to src/os 2023-07-10 16:48:22 -07:00
Mitchell Hashimoto
9a0d131b5b move TempDir to src/os and use the real tmpDir 2023-07-09 12:14:05 -07:00
Mitchell Hashimoto
26e17de777 add os.tmpDir to get the recommended temp dir base path 2023-07-09 11:58:04 -07:00
Mitchell Hashimoto
314f9287b1 Update Zig (#164)
* update zig

* pkg/fontconfig: clean up @as

* pkg/freetype,harfbuzz: clean up @as

* pkg/imgui: clean up @as

* pkg/macos: clean up @as

* pkg/pixman,utf8proc: clean up @as

* clean up @as

* lots more @as cleanup

* undo flatpak changes

* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
8a83a1e4a9 fix min usage in src/os 2023-06-25 11:17:51 -07:00
Mitchell Hashimoto
56f8e39e5b Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
77dcc10f80 linux: fit gtk/flatpak builds 2023-05-27 10:01:20 -07:00
Mitchell Hashimoto
83a1d783b1 termio: implement kill command for flatpak 2023-02-27 11:44:18 -08:00
Mitchell Hashimoto
630374060d passwd uses new FlatpakHostCommand 2023-02-27 11:02:59 -08:00
Mitchell Hashimoto
f64d871847 os: FlatpakHostCommand uses thread with its own event loop 2023-02-27 10:18:56 -08:00
Mitchell Hashimoto
f89d202b0d flatpak.HostCommand wip 2023-02-26 10:28:54 -08:00
Mitchell Hashimoto
0a041957f1 os: add flatpak detection 2023-02-25 21:20:48 -08:00
Mitchell Hashimoto
ec956debb7 Command/Pty work better with Flatpak but not 100% yet 2023-02-25 21:19:57 -08:00
Mitchell Hashimoto
230157d60b remove unused import 2022-12-31 09:07:14 -08:00
Mitchell Hashimoto
e8a1fe4d87 move wasm target struct around to avoid analyzing wasm file on non-wasm 2022-12-31 09:04:11 -08:00
Mitchell Hashimoto
8b6128ddfc start making the src more wasm target aware 2022-12-31 08:57:12 -08:00
Mitchell Hashimoto
ce490e21ea can specify a wasm target in build 2022-12-31 08:53:11 -08:00
Mitchell Hashimoto
d761bae27b wasm: log should use stack allocated memory first
This allows log messages to come through even when OOM.
2022-12-26 22:07:33 -08:00
Mitchell Hashimoto
af6fb294d0 wasm: use wasm allocator, rather than page allocator
Uses 4x less pages because we're not allocating 1 page (more or less)
per allocation and instead actually bin-packing it a bit.
2022-12-24 16:41:37 -08:00
Mitchell Hashimoto
241bfee7d4 wasm: use shared, imported memory
This switches our wasm build to use "shared" memory. Shared memory can
be shared across multiple web workers, which is something we'll want to
support for our multi-threaded behaviors later.

Shared memory has a number of different restrictions so this updates
zig-js to support it as well as updates some of our functions that need
to be aware of it.
2022-12-24 16:24:43 -08:00
Mitchell Hashimoto
b3090f60af mac: in debug, set locale to en_US if not manually set
See comment, I think this is a Zig miscompilation...
2022-12-15 14:50:52 -08:00
Mitchell Hashimoto
c48d8cd151 hook up logging to wasm, example uses new zig-js package 2022-12-04 13:16:54 -08:00
Mitchell Hashimoto
437f1772f1 logging works for wasm 2022-12-04 12:29:11 -08:00
Mitchell Hashimoto
66078493e6 mac: get default click repeat interval from NSEvent 2022-11-22 11:20:00 -08:00
Mitchell Hashimoto
688ec71a74 don't change cursor to ibeam on macOS prior to Ventura
glfw crashes with our tab group usage (see comment)
2022-11-20 09:03:28 -08:00
Mitchell Hashimoto
56504a342f better commenting 2022-11-14 10:03:39 -08:00
Mitchell Hashimoto
20cbee5370 locale always requires libc 2022-11-14 10:02:48 -08:00
Mitchell Hashimoto
f39484541f set system locale on startup, read Mac locale from OS preferences 2022-11-14 09:59:22 -08:00