lnchr 0.2.1

A fuzzy terminal app launcher
lnchr-0.2.1 is not a library.

lnchr

A fast, lightweight fuzzy launcher for your terminal.

Other launchers are often either too complex to configure, have much styling in the way, or simply weren't fast enough. lnchr aims to be none of that — minimal, no config, fast — and runs directly from your terminal emulator.

Modes

The run mode scans PATH for executables. The drun mode scans XDG data directories for .desktop files, respecting fields like Terminal, TryExec, NoDisplay, and Hidden.

For desktop entries that require a terminal (Terminal=true), lnchr looks for a terminal emulator by checking the TERMINAL environment variable first, then falls back to common terminals.

Usage

In order to use it like a normal app launcher you can bind it to a key and define rules.
For example, in Hyprland:

hl.bind(mainMod .. " + SPACE", hl.dsp.exec_cmd("alacritty --class=lnchr -e lnchr drun"))
hl.bind(mainMod .. " + SHIFT + SPACE", hl.dsp.exec_cmd("alacritty --class=lnchr -e lnchr run"))

hl.window_rule({
    name = "floating lnchr",
    match = { class = "lnchr" },
    float = true,
})

Installation

NixOS

This repo can be added as a input of the flake.nix and the package installed like this:

{
  inputs = {
    lnchr.url = "git+https://codeberg.org/paul-hartwich/lnchr";
  };
}
{ pkgs, ... }:
{
  home.packages = with pkgs; [
    inputs.lnchr.packages.x86_64-linux.lnchr
  ];
};

Cargo

In order to install the package with cargo, just run:

cargo install lnchr

License

MIT License - see LICENSE file.