explaingit

nohzafk/emacs-workspace-hud

17Emacs LispAudience · developerComplexity · 3/5Setup · hard

TLDR

An Emacs extension that adds a floating status card in the top-right corner showing your Git branch, uncommitted files, language server status, and code errors, always visible while you code, without running any commands.

Mindmap

mindmap
  root((emacs-workspace-hud))
    What it does
      Floating status card
      Top-right Emacs corner
      Auto-shows in Git projects
    Status Shown
      Git branch and sync state
      Uncommitted file count
      Language server health
      Errors and warnings
    Tech
      Emacs Lisp extension
      Rust and WebAssembly UI
      Embedded web view
    Setup
      Rust and wasm-pack needed
      Emacs 30 recommended
      No prebuilt binaries
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

See your Git branch, commits ahead/behind the remote, and unstaged file count at a glance without running git status.

USE CASE 2

Monitor language server connection health and error/warning counts without switching to a separate Emacs buffer.

USE CASE 3

Auto-show the HUD when working in Git-tracked projects and auto-hide it in non-code buffers like help pages.

USE CASE 4

Extend the HUD with custom sections from your own Emacs packages using the built-in extension API.

Tech stack

Emacs LispRustWebAssemblywasm-pack

Getting it running

Difficulty · hard Time to first run · 1h+

No prebuilt binaries, must have Rust and wasm-pack installed and compile the WebAssembly UI locally before the extension will load in Emacs.

License terms are not mentioned in the repository description.

In plain English

Emacs Workspace HUD is an extension for the Emacs text editor that adds a floating status card anchored to the top-right corner of the editor window. Rather than replacing Emacs's existing status bar, it provides an at-a-glance summary of the things most relevant while coding in a project: which Git branch you are on, whether your local branch is ahead or behind the remote, how many files have uncommitted changes, whether your language server is connected, and how many errors or warnings are present in the current code. The panel appears automatically when you open a file inside a Git-tracked project and hides itself when you switch to non-code buffers such as help pages or message logs. You can also toggle it manually with a keyboard shortcut. The auto-visibility behavior is customizable through a standard Emacs settings interface, and additional sections can be contributed by other packages through an extension API. The floating card itself is built in Rust and compiled to WebAssembly, then rendered inside a special embedded web view that some Emacs builds support. This approach lets the card have its own visual style independent of the rest of Emacs. Building the UI requires a Rust toolchain and a tool called wasm-pack, and no prebuilt binaries are distributed. Installation is more involved than a typical Emacs package because the WebAssembly UI must be compiled locally. There are two routes: a declaration-based approach using a built-in Emacs 30 feature, or a manual clone followed by a build step. Either way, the process fetches a bundled submodule and compiles the Rust code into a web-compatible binary. This is aimed at Emacs users who want an ambient, always-visible project status summary without opening separate windows or running status commands manually.

Copy-paste prompts

Prompt 1
Walk me through building the emacs-workspace-hud WebAssembly UI from source using Rust and wasm-pack on macOS, then loading it in Emacs 30.
Prompt 2
Write an Emacs Lisp snippet that registers a custom section with the emacs-workspace-hud extension API to show the active Python virtual environment name in the status card.
Prompt 3
How do I configure emacs-workspace-hud so the HUD only appears in python-mode and rust-mode, and stays hidden in org-mode and dired?
Prompt 4
Show me the use-package or package-vc-install declaration to install emacs-workspace-hud using the Emacs 30 built-in package system.
Open on GitHub → Explain another repo

← nohzafk on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.