core: look for resources in "ghostty" subdirectory for "share" paths

Installing resources directly under ${prefix}/share causes conflicts
with other packages. This will become more problematic whenever Ghostty
is opened and becomes packaged in distributions.

Instead, install all resources under a "ghostty" subdirectory (i.e.
${prefix}/share/ghostty). This includes themes, shell integration, and
terminfo files.

Only "/usr/share" style paths use the "ghostty" subdirectory. On macOS,
Ghostty is already isolated within its app bundle, and if
$GHOSTTY_RESOURCES_DIR is set then we assume that points to the actual
resources dir (without needing to append "ghostty" to it).
This commit is contained in:
Gregory Anders
2023-12-20 09:27:37 -06:00
committed by Mitchell Hashimoto
parent e2916f8d63
commit 8751502878
4 changed files with 27 additions and 8 deletions

View File

@@ -17,8 +17,8 @@ pub const Options = struct {
///
/// Themes require that Ghostty have access to the resources directory.
/// On macOS this is embedded in the app bundle. On Linux, this is usually
/// in `/usr/share`. If you're compiling from source, this is the
/// `zig-out/share` directory. You can also set the `GHOSTTY_RESOURCES_DIR`
/// in `/usr/share/ghostty`. If you're compiling from source, this is the
/// `zig-out/share/ghostty` directory. You can also set the `GHOSTTY_RESOURCES_DIR`
/// environment variable to point to the resources directory. Themes
/// live in the `themes` subdirectory of the resources directory.
pub fn run(alloc: Allocator) !u8 {