ghostty

Currently, no package exists for Linux Mint, my daily driver on the workstation.

Why ghostty

I've heard from a contact that it's worth a try.

The default Gnome-Terminal provided by default with Cinnamon is not to my taste. For now, I am unfortunately used to two features I'm really missing:
- being able to automatically have the highlighted text content in the clipboard - being able to paste into the terminal with just a right click

A short research for lightweight terminals that could provide me with an easy way to get these features led me to urxvt and ghostty.

I might be willing to keep urxvt for my lightweight station. Let's try to get ghostty on the workstation.

There is not Mint package currently.

There is an unofficial package : https://debian.griffo.io/install-latest-ghostty-in-debian.html but at the time I first attempted it, I wanted to try to build it from source. Because why not.

Debian/Ubuntu prerequisites

Unable to locate package libgtk4-layer-shell-dev

The first step is obviously to install the prerequisites.
Source : https://ghostty.org/docs/install/build#debian-and-ubuntu

sudo apt install \
  libgtk-4-dev \
  libgtk4-layer-shell-dev \
  libadwaita-1-dev \
  gettext \
  libxml2-utils

This produces an error given that in the Ubuntu LTS used to create the Mint release I'm running, one package is missing : Unable to locate package libgtk4-layer-shell-dev

Build the package from source

Installing build dependencies

sudo apt install git meson ninja-build build-essential libgtk-4-dev

cloning the repository

git clone https://github.com/wmww/gtk4-layer-shell.git
cd gtk4-layer-shell

building and installing

prerequisites for the "mason setup build" step :

sudo apt update
sudo apt install \
  gobject-introspection \
  libgirepository1.0-dev \
  pkg-config \
  cmake \
  valac

This must have installed pkg-config, cmake, and vapigen, that are required for the steps below:

meson setup build
ninja -C build
sudo ninja -C build install

We have NOW reached the step where we have the prerequisites fulfilled for Mint. Yeay !

Install zig

This is pretty well documented : https://zig.guide/getting-started/installation/

The drawback for me was more on ghostty side. The ghostty build from source page describes which versions require which zig corresponding version but I've been lost in the repository and somehow just ended attempting the installation of ghostty 1.1.0 because it needs zig 0.13.0. Upper version did not match the zig version I was able to get.

Installing zig just consisted - in my case - on downloading a tar.xz from the official website, extracting it to ~/.local/bin directory (that I had to create) and adding it to the PATH.

Build the ghostty binary

Avalaible packages can be found here : https://github.com/ghostty-org/ghostty/tags
Get the package :

ghostty_version=1.1.0
curl -OL https://release.files.ghostty.org/${ghostty_version}/ghostty-${ghostty_version}.tar.gz
curl -OL https://release.files.ghostty.org/${ghostty_version}/ghostty-${ghostty_version}.tar.gz.minisig
tar -xf ghostty-VERSION.tar.gz
cd ghostty-VERSION/
zig build -Doptimize=ReleaseFast

Without the -Doptimize=ReleaseFast flag, the version compiled is a debug one. We do not want this.

We now have the binary in zig-out/bin/ghostty

But it cannot be launchded yet from a Desktop shortcut or a taskbar icon yet.

Recognition and launchability in Cinnamon

still struggling to achieve this

Update

Installing newer version is useful.

What about the two features that made me install it ?

Adding the following :
line 1 line 2 to this configuration file: