Midterm GNOME

April 1, 2026 ยท View on GitHub

Midterm GNOME is a native GTK4 + libadwaita desktop client for Midterm, the browser-based terminal multiplexer and agent orchestrator. It provides a Linux desktop frontend for browsing and controlling Midterm sessions, with a session sidebar, embedded VTE terminals, and backend communication over REST plus WebSocket mux/state channels.

Midterm screenshot

Features

  • Session list with quick switching and creation
  • Embedded terminal view for each remote session
  • Host picker with saved server configuration
  • Live mux updates for output, resize, and active-session changes

Development

With Nix:

nix develop
cargo run

NixOS Installation

Expose this repo as a flake input and add its default package to environment.systemPackages:

{
  inputs.midterm-gtk.url = "github:elsirion/midterm-gtk";

  outputs = { self, nixpkgs, midterm-gtk, ... }: {
    nixosConfigurations.your-host = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ({ pkgs, ... }: {
          environment.systemPackages = [
            midterm-gtk.packages.${pkgs.system}.default
          ];
        })
      ];
    };
  };
}

Then rebuild your system:

nixos-rebuild switch --flake .#your-host

Without Nix, install the GTK4, libadwaita, and VTE GTK4 development packages first, then run:

cargo run