Skip to content

WayCastThe best launcher for wayland compositors

Full functionality out of the box without having to install plugins.

WayCast Logo

Waycast is an application launcher built for Wayland desktops. It's fast, extensible, and designed to get out of your way while helping you find what you need.

Current features:

  • Search and launch desktop applications
  • Search files in your home directories (Documents, Pictures, Music, Videos)
  • Fuzzy search that actually works
  • Fast startup with background file indexing

Planned features:

  • Recently accessed and frequently accessed files show up first
  • Pinned apps
  • Plugin system for extensions
  • Calculator, clipboard history, emojis
  • TUI
  • Web search integration

Why Another Launcher?

Linux desktop launchers are either too basic (dmenu, wofi) or too bloated (some KDE thing with 47 configuration tabs). Raycast nailed the UX on macOS, but there's no good equivalent for Linux.

Waycast aims to be:

  • Fast - Sub-100ms search responses, instant startup
  • Clean - Good defaults, minimal configuration needed
  • Extensible - Plugin system for custom functionality
  • Native - Proper Wayland integration, not an Electron app

Special Thanks

  • DevIcon. Used for the project folder icons
  • Nucleo Matcher. Amazing fuzzy finder library. It powers the search functionality in all the plugins. Very fast.
  • Iced GUI. When GTK didn't make the cut for performance, Iced really came through.

Tools I've made as part of developing waycast

Who knows how many it will end up being. So I'll be keeping track below.

  • FreeDesktop. A rust implementation of the freedesktop spec (in progress). I was relying on GIO for these kinds of things, but the library is very annoying to use and some times not reliable.
  • Devicon CLI. Needed an easy way to manage and remix the devicon set for this project.
  • mathengine. For the calculator functionality

Progress Tracker

TODO

  • Plugins to add
    • Emoji Picker
    • Unit Conversion
    • Calculator
    • Open remote git repos list (like raycast)
  • Plugin improvement
    • Projects
      • Detect project type and display a custom icon
      • Git info (current branch, uncommitted changes, etc)
  • System
    • Daemon (Decided to go against this)
    • Improve fuzzy searching (Thanks to nucleo-matcher from the Helix editor devs)
  • Performance
    • Cache file system scans
  • Configuration
    • Window Positioning (Top left/right, bottom, etc)
    • Access a plugin by prefix (Like em: for emojis or f: for file search)