40 Commits

Author SHA1 Message Date
Mitchell Hashimoto
692168f8dd dist: remove cdata tags from appcast, we escape it all 2025-01-29 15:08:30 -08:00
Mitchell Hashimoto
c33b82c634 macOS: add link to release notes on appcast (#5184)
Resolves #4730

I opted to link directly to the release notes of the updated version in
the `<description>` body, i.e. in the future it would link directly
v1.0.2's release notes at
https://ghostty.org/docs/install/release-notes/1-0-2. This thereby
implements the second option mentioned in the issue. It wasn't that much
harder than the third option, but if there's any particular reason _not
to_ link directly to a version's changelog page, I'll be more than happy
to modify this PR and implement the third option instead - in any case,
I had opened https://github.com/ghostty-org/website/pull/277 so that
https://ghostty.org/docs/install/release-notes is a valid page.

I also wrapped the current text `<![CDATA[ ... ]]>` just in case, as I
noticed this is a pretty standard practice in other apps that use
`<description>` to embed their release notes when using Sparkle -
[Sparkle's
documentation](https://sparkle-project.org/documentation/publishing/#embedded-release-notes)
says to do this so you can use unescaped HTML.
2025-01-29 14:38:18 -08:00
Andrej Daskalov
8c1db16c79 added exec permission back to dolphin action 2025-01-20 20:19:12 +01:00
AltCode
018a888578 macOS: add link to release notes on appcast 2025-01-17 15:18:22 +01:00
Samuel
941915b862 declare StartupWMClass in .desktop 2025-01-10 22:26:48 -04:00
Gabriele Musco
c972051611 linux: add "Open in Ghostty" shortcut for nautilus 2025-01-08 13:49:32 +01:00
Misaki Kasumi
5c2fb580d0 misc: add desktop entry fields to support xdg-terminal-exec 2024-12-29 13:58:12 +08:00
Mitchell Hashimoto
555163cb1b ci: release workflows build a dmg for macOS
We've used a zip for the duration of the private beta but macOS users
expect a dmg. This commit changes both of our release workflows to begin
building a dmg instead of a zip.
2024-12-20 21:26:33 -08:00
Mitchell Hashimoto
d3de22ce28 ci: generate a correct sparkle version string for tagged releases 2024-12-20 14:42:19 -08:00
Mitchell Hashimoto
8f15f1a066 Make Ghostty release channel aware
Ghostty now has a release channel build configuration. Current valid
values are "tip" and "stable" but I imagine more will be added in the
future.

The release channel is inferred whether the version we specify with the
`-Dversion-string` build flag has a prerelease tag or not. If it does,
the release channel is "tip". If it doesn't, the release channel is
"stable".

This also adds a configuration to specify the release channel for
auto-updates for the macOS application.
2024-12-20 14:21:59 -08:00
Mitchell Hashimoto
0abd4ea8a2 ci: release tag workflow
This adds a new workflow for building and releasing _tagged versions_
of Ghostty. The workflow is triggered automatically by new tags in the
format of `vX.Y.Z` but can also be manually triggered by running the
workflow from the GitHub Actions UI.

Release artifacts are uploaded to a completely separate R2 bucket
with its own access policy, retention, API keys, and so on.

There is currently no way to switch between "channels" in the macOS
app. I will follow up with a separate commit to add this feature.
2024-12-20 13:02:05 -08:00
Mitchell Hashimoto
c74966e07e build: change object story domain to ghostty.org 2024-12-20 08:58:46 -08:00
Anthony
5180cc6c0e Remove executable permission from readonly config file 2024-12-12 15:26:26 +11:00
Mitchell Hashimoto
247409d705 New Ghostty icon
❤️👻

This is the icon that we'll launch Ghostty 1.0 with. It was designed by
Michael Flareup at PixelResort. It retains the style of the original
Ghostty icon by Alasdair Monk, but brings in the new Ghost character and
adds details that make it more Apple-like.

The new Ghost character is an important evolution from the original
since it separates us from looking too much like PacMan. The new Ghost
is more unique and recognizable to Ghostty (or, hopefully will be!).

The icon itself has more details: the aluminum around the edge has
texture for the large enough sizes, there are visible scanlines, the
glow of a screen emanates from the ghost.

The icon itself is stylistic more Apple-like than other platforms. I
think Apple icons tend to look very good in more environments than the
reverse and I'm a big fan of the Apple aesthetic so I wanted to bring
that to Ghostty for all platforms.
2024-12-09 10:01:18 -08:00
Andrej Daskalov
3048d71537 added gtk-single-instance argument 2024-12-01 13:16:56 +01:00
Andrej Daskalov
46afa9c4e1 use cli argument instead of cd 2024-11-29 11:51:10 +01:00
Andrej Daskalov
074312c5ef updated permissions and build process
Removed check for plasma in build.zig, it installs it anyways now
Added executable permissions for ghostty_dolphin.desktop since Plasma
requires them for context menu items
2024-11-29 11:14:17 +01:00
Andrej Daskalov
62fe3eb652 added right click action for plasma 2024-11-28 23:41:55 +01:00
Mitchell Hashimoto
3ba0787ec2 macOS: save dSYM files
The focus of this commit is to store the dSYM files associated with
official macOS builds. dSYM files allow us to map crash reports to
source.

The dSYM files are primarily uploaded to our official blob storage where
all releases are also stored. We also upload the dSYM files to Sentry
since I'm experimenting with using that for crash reproting (note:
manual crash reporting, no automatic network traffic).

This commit also changes our blob URLs for releases to use the full
Git SHA rather than a build number. This is much easier to trace back.
2024-08-28 21:33:32 -07:00
Łukasz Niemier
f9be02a20f chore: clean up typos 2024-08-05 13:56:57 +02:00
Jon Parise
2a66d37e48 Update functional URLs for ghostty-org 2024-06-01 16:44:09 -04:00
Jon Parise
ca78d197d8 dist/macos: link the commit to GitHub's history view
This makes it easy to see the build in context of the repo's commit
history.
2024-03-05 10:32:34 -08:00
Jonathan Marler
7f6088ee1f windows: add rc file
Adds an rc file for windows.  An rc file is a source file given to the
toolchain that instructs it on what "resources" to embed inside the
executable.  You can think of "resources" as files or data that get
embedded into the executable and can be accessed both by the application
at runtime or by the OS.  The OS uses resources for things like getting
the icon of the executable or extracting the version of an exe for the
user.  Note that exe resources can also be modified without having to
recompile/relink the binary.

Thanks to Squeek502 zig has its own "RC Compiler" so this should still be
buildable on all platforms.

In the RC file I've included some basic info and left in comments for
other info to be populated later.  I've also included a manifest file
which starts out by telling windows that our exe will be DPI aware and
to use a slightly more modern look and feel for native controls.
2024-02-11 08:51:43 -07:00
Mitchell Hashimoto
59315d2aa1 dist/macos: prune appcast to the most recent 15 items
This prevents the file from getting too large.
2023-12-22 12:40:15 -08:00
Mitchell Hashimoto
19ca893e10 dist/macos: put the date in the short version string 2023-12-21 08:46:08 -08:00
Mitchell Hashimoto
080bd530f4 dist/macos: remove any existing matching builds in appcast 2023-12-21 08:39:29 -08:00
Mitchell Hashimoto
8c74531620 macos: update the release notes with link to GH project 2023-12-19 09:36:44 -08:00
Mitchell Hashimoto
0ccdcd3f0f dist/macos: appcast needs namespace, better formatting 2023-12-19 07:44:07 -08:00
Mitchell Hashimoto
c352d88afd ci: generate appcast, upload it 2023-12-18 21:18:52 -08:00
Mitchell Hashimoto
9b81d57cb9 remove new-window action from desktop file
Fixes #1006
2023-12-07 20:46:05 -08:00
Tim Culverhouse
caf2252144 gtk: implement desktop notifications 2023-11-17 12:59:23 -06:00
Nathan Fisher
865b43cd4d Add Categories entry to .desktop file so Linux desktops have a better
chance of placing the menu entry into an appropriate category
2023-09-29 18:24:48 -04:00
Mitchell Hashimoto
cbbafc70e2 gtk: set Name for new-window action 2023-09-15 22:10:06 -07:00
Tim Culverhouse
6484c34bec linux: don't presume install location in desktop file
The app.desktop file shipped with the default build presumes the install
location of the binary. Let the OS determine the executable through it's
normal PATH variables.
2023-09-15 03:22:48 -05:00
Mitchell Hashimoto
d94cf2f124 remove flatpak
Flatpak support has been a HUGE pain to keep working, the builds take
forever and cost me real money, and there are very few users. Ideally,
we want to just use native system packagers for each distro. I thought
Flatpak would make it easy to support many distros but that ended up
being false.
2023-09-13 11:41:16 -07:00
Thorsten Ball
d275256e32 gtk: add new-window action to .desktop files
Inspired by #413.

This modifies the .desktop files so that it's possible to right-click on
the Ghostty icon in a dock and get the "New window" action.

Apparently this is how you implement that in GTK applications. In order
for us to also get "New tab", we'd have to implement a CLI flag, I
think.
2023-09-09 07:04:22 +02:00
Mitchell Hashimoto
5db9854e63 build: install the proper linux desktop file depending on flatpak or not 2023-02-27 15:20:31 -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
1ca0ea361b dist/linux: add freedesktop desktop spec file 2023-02-25 15:23:51 -08:00
Mitchell Hashimoto
9d736985b3 Mac bundle, icons 2022-10-31 14:04:41 -07:00