A springboard-inspired compositor for mobile wayland phones.
  • Rust 88.6%
  • Nix 9%
  • Shell 2.2%
  • Just 0.2%
Find a file
2026-08-21 16:03:12 +02:00
.claude/skills/run-springchick feat: support wlr-output-power-management-unstable-v1 - for dms 2026-08-20 22:43:55 +02:00
assets docs: add logo to README.md 2026-08-21 16:03:12 +02:00
crates fix move power and gamma protocols before output 2026-08-20 23:08:07 +02:00
docs feat: allow mirror to work while phone screen is off 2026-08-16 21:40:23 +02:00
nix chore(deps): bump smithay ff5fa7d -> 7ddcd17 2026-08-19 18:44:29 +02:00
scripts compositor: support wlr-screencopy-unstable-v1 2026-08-07 11:31:24 +02:00
tests test: update integration.sh for config.toml [keybinds] table and SPRINGCHICK_CONFIG 2026-07-25 15:43:50 +02:00
.gitignore chore: add a justfile for common tasks 2026-08-12 12:19:41 +02:00
Cargo.lock chore(deps): bump smithay ff5fa7d -> 7ddcd17 2026-08-19 18:44:29 +02:00
Cargo.toml projectwide: move code around to make crate structure more logical 2026-08-03 10:18:23 +02:00
CLAUDE.md feat: add ipc quit command 2026-08-20 22:42:41 +02:00
config.example.toml feat: make rotation settle smoothly 2026-08-17 23:22:26 +02:00
CONTRIBUTING.md docs: record the pacing protocols and correct the protocol list 2026-08-19 19:16:03 +02:00
flake.lock feat: springchick Milestone 1 — Foundation 2026-06-27 00:13:25 +02:00
flake.nix build(nix): put rust-analyzer and rust-src in the devshell 2026-08-19 19:39:36 +02:00
justfile chore: add a justfile for common tasks 2026-08-12 12:19:41 +02:00
LICENSE docs: license source code under GPL 2.0 2026-08-15 16:50:40 +02:00
prek.toml chore: add prek setup with lint and formatting 2026-08-06 16:16:00 +02:00
README.md docs: add logo to README.md 2026-08-21 16:03:12 +02:00
rust-toolchain.toml feat: basic gestures and transitions 2026-06-27 13:44:20 +02:00

Springchick

A Wayland compositor for Linux phones, written in Rust with Smithay and Skia

The Authorative home for this repo is https://code.bas.es/marcus/springchick/ - Github is a mirror to allow easier contributions and visibility.

IMPORTANT: This project is made using LLM assist, however, it is not a low effort project, and I don't consider it to be slop. It is in early development. I'm daily driving it on my fairphone 5 running nixos. See dmsmobile or my flake.

Right aligned icon
  • Springchick gets a lot of inspiration from iOS' springboard shell, and will be quite familiar to iPhone users.
  • Implements a single finger user interface with smooth animation and live updates of all cards across transitions.
  • Home manager with paging and reordering/hiding.
  • Pull down to search
  • dbus based rotation in fullscreen apps like media players and games.
  • Keyboard shortcuts with hardware key mapping including long press.
  • Automatic keyboard pop up integration with wvkbd
  • External display support (mirroring only)
  • Supports most required wayland protocols including ones for screen recording/shots/clipboard++
  • Currently mostly tested on Nixos, I recommend using the provided flake on nixos phones. I intend to provide a postmarketos repo soon.

Screenshots

app switcher nvim in foot with automatic keyboard popup card in drag mode editing the homescreen

On the roadmap

  • Even smoother animations.
  • More actions supported for hardware key mapping
  • Startup apps on boot (currently best implemented through systemd user services)
  • Optional rotation for UI in addition to the current full screen rotation.