github free-explorers/veshell v0.1.1
Veshell 0.1.1 (beta)

5 hours ago

Changelog

User-facing changes since Alpha #1 (October 2024). Internal work — refactors,
build tooling, CI, tests and docs — is deliberately left out.

System

System-wide capabilities provided by the compositor and its OS integration.

Notifications

  • Full freedesktop notification support: actions, close, replace, history and
    "clear all".
  • A notification panel, with popups routed to the workspace or tile they belong
    to, and click-to-open that brings the sending window forward.
  • Window attention requests become notifications.
  • System notifications for volume, brightness and battery, including peripheral
    batteries.

Screen sharing, screenshots and recording

  • A full xdg-desktop-portal backend.
  • Screen casting over PipeWire: share a monitor or a single window, with a
    consent picker.
  • Screenshots, including area capture on Shift+Print.
  • Local screen recording (zero-copy) with a trusted recording indicator and a
    stop control.

Audio and media keys

  • PulseAudio support.
  • Volume control and hardware media-key bindings.

Power, display and monitoring

  • Displays dim and blank after idle, and hibernate when supported.
  • Brightness keys, with the backlight fading on idle and brightness reported back
    to the shell.
  • Battery and power monitoring.
  • A monitoring panel with CPU, memory and disk.
  • GPU telemetry for AMD, Intel and NVIDIA, with load and VRAM on a single chart.

Input and cursors

  • Custom cursors.
  • Trackpad: multi-finger gestures, swipe navigation, and smoother scrolling.

Session and compatibility

  • A Wayland session with XWayland support, so X11 applications run.
  • A nested session mode.
  • Clean shutdown — logging out stops the compositor and its applications — and
    recovery after an unclean exit.

Languages

  • Veshell is localized, with a language picker and regional formats.

Performance and reliability

  • No blocked first frame at startup.
  • Fixed unbounded memory growth in long-running sessions.
  • Reworked rendering and vsync (a single flip in flight) for smoother,
    lower-latency output.

Overview

Everything the shell puts on screen: Helm, files, ephemeral windows, media and
settings.

Helm

  • A content panel with tabs (Helm, ephemeral windows, file previews) that
    cross-fade.

Files

  • A real file browser: browse, breadcrumbs, open with the default handler, and
    select on first click.
  • File previews persist as tabs until you close them.
  • Search modes for applications, files and settings, with settings walked as one
    list.

Ephemeral windows

  • A floating application launcher and ephemeral windows.

Media

  • Media player controls (MPRIS) in the overview.

Settings

  • Searchable settings.
  • A hotkey editor, plus hotkey bindings loaded from a file.
  • Options for natural scrolling, tap-to-click, and swapping Alt/Meta.
  • Monitors: drag to arrange, orientation, mirroring, zoom & pan, a refresh-rate
    picker, per-monitor fractional scaling, and confirmation before applying.
  • Language and regional-format settings.
  • Controls that are unavailable are hidden rather than shown inactive.

Keyboard

  • Left-hand navigation throughout, with Super+WASD and index-based selection in
    every search mode.

PersistentWindow

Per-window behaviour: the mode a window is shown in, how windows are matched to
tiles, and how they are tiled.

Display modes

Every window has a display mode, chosen from its tile:

  • Maximized (default) — the window fills its tile.
  • Fullscreen — the window fills the whole display.
  • Game — the compositor hands the game the output directly, compositing its
    surface at full size and forwarding input straight to it for the lowest
    latency. The mode starts paused so entering the tile never grabs the input;
    click to resume, and Ctrl+Esc to leave. The game keeps the pointer while it
    is active, and frames are paced to the display.
  • Floating — the window floats over its tile instead of filling it.

Window matching

  • Far more reliable matching: identity by process, startup class and title,
    recovery of helper processes, and tracked launches.
  • Fullscreen-like windows are extracted into their own tile, and one extracted on
    its own starts in Game mode.

Tiling

  • Dialogs opened over a maximized tile are capped to 90% of the tile and stay
    attached to it.
  • Popups, dialogs and subsurfaces stay sized to their tile.
  • Reorder tiles and workspaces by drag & drop or by hotkey.

Binaries (payloads and attested Nix closures) are attached to the
packaging release.
Install instructions are in the README.

Don't miss a new veshell release

NewReleases is sending notifications on new releases.