Skip to content

Commit

Permalink
config: add appstream spec for linux
Browse files Browse the repository at this point in the history
  • Loading branch information
psadi committed Jan 15, 2025
1 parent ff9414d commit 0863399
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 0 deletions.
70 changes: 70 additions & 0 deletions dist/linux/ghostty.appdata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<content_rating type="oars-1.0" />
<id>com.mitchellh.ghostty</id>
<metadata_license>MIT</metadata_license>
<project_license>MIT</project_license>
<name>Ghostty</name>
<icon type="remote">https://raw.githubusercontent.com/ghostty-org/ghostty/refs/heads/main/images/icons/icon_256.png</icon>
<summary>Fast, native, feature-rich terminal emulator pushing modern features</summary>
<description>
<p>
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.
</p>

<p>
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.
</p>

<p>
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.
</p>

<p>
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.
</p>
</description>

<launchable type="desktop-id">com.mitchellh.ghostty.desktop</launchable>

<url type="homepage">https://ghostty.org/</url>
<url type="help">https://ghostty.org/docs/about</url>
<url type="bugtracker">https://github.com/ghostty-org/ghostty/issues</url>

<!-- tbd
<screenshots>
<screenshot type="default">
<caption>Use background image attachments</caption>
<image>https://ghostty.org/tbd-screenshot.png</image>
</screenshot>
</screenshots>
-->

<developer id="com.mitchellh">
<name>Mitchell Hashimoto</name>
</developer>

<!-- tbd
<releases>
<release version="" date="">
<description>
<p>
release notes
</p>
</description>
</release>
</releases>
-->
</component>
6 changes: 6 additions & 0 deletions src/build/GhosttyResources.zig
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
Expand Down

0 comments on commit 0863399

Please sign in to comment.