From 3348d4ef510526fe2bee29b40d39e58f805ac4db Mon Sep 17 00:00:00 2001 From: psadi Date: Thu, 16 Jan 2025 03:55:21 +0530 Subject: [PATCH] config: add appstream spec for linux --- dist/linux/ghostty.appdata.xml | 68 ++++++++++++++++++++++++++++++++++ src/build/GhosttyResources.zig | 6 +++ 2 files changed, 74 insertions(+) create mode 100644 dist/linux/ghostty.appdata.xml diff --git a/dist/linux/ghostty.appdata.xml b/dist/linux/ghostty.appdata.xml new file mode 100644 index 0000000000..723a1f5722 --- /dev/null +++ b/dist/linux/ghostty.appdata.xml @@ -0,0 +1,68 @@ + + + + com.mitchellh.ghostty + MIT + MIT + Ghostty + https://raw.githubusercontent.com/ghostty-org/ghostty/refs/heads/main/images/icons/icon_256.png + Fast, native, feature-rich terminal emulator pushing modern features + +

+ Ghostty is a terminal emulator that differentiates itself by being fast, + feature-rich, and native. While there are many excellent terminal + emulators available, they all force you to choose between speed, + features, or native UIs. Ghostty provides all three. +

+ +

+ In all categories, I am not trying to claim that Ghostty is the best + (i.e. the fastest, most feature-rich, or most native). But Ghostty is + competitive in all three categories and Ghostty doesn't make you choose + between them. +

+ +

+ Ghostty also intends to push the boundaries of what is possible with a + terminal emulator by exposing modern, opt-in features that enable CLI + tool developers to build more feature rich, interactive applications. +

+ +

+ While aiming for this ambitious goal, our first step is to make Ghostty + one of the best fully standards compliant terminal emulator, remaining + compatible with all existing shells and software while supporting all of + the latest terminal innovations in the ecosystem. You can use Ghostty as + a drop-in replacement for your existing terminal emulator. +

+
+ + com.mitchellh.ghostty.desktop + + https://ghostty.org/ + https://ghostty.org/docs/about + https://github.com/ghostty-org/ghostty/issues + + + + + Mitchell Hashimoto + + + + + +

+ Initial AppImage build. +

+
+
+
+
diff --git a/src/build/GhosttyResources.zig b/src/build/GhosttyResources.zig index cae907ec2d..cd43c78337 100644 --- a/src/build/GhosttyResources.zig +++ b/src/build/GhosttyResources.zig @@ -188,6 +188,12 @@ pub fn init(b: *std.Build, cfg: *const Config) !GhosttyResources { if (cfg.target.result.os.tag == .linux) { // https://developer.gnome.org/documentation/guidelines/maintainer/integrating.html + // AppStream specification: https://www.freedesktop.org/wiki/Distributions/AppStream + try steps.append(&b.addInstallFile( + b.path("dist/linux/ghostty.appdata.xml"), + "share/metainfo/com.mitchellh.ghostty.appdata.xml", + ).step); + // Desktop file so that we have an icon and other metadata try steps.append(&b.addInstallFile( b.path("dist/linux/app.desktop"),