zmen

Owner: IIIlllIIIllI URL: git@git.0x00nyx.xyz:seb/zmen.git

README

# zmen

A minimal application launcher written in Zig.

## Description

zmen is a simple, lightweight application launcher for X11 inspired by dmenu. 
It uses XCB and Cairo for rendering with fewer than 700 lines of code.

Features:

- Tab completion for commands
- Minimal memory footprint
- Fast command scanning from standard executable paths
- Clean Zig implementation with no external dependencies other than X11 libraries

## Installation

Requirements:
- Zig compiler (tested with 0.12.0)
- libxcb1-dev
- libcairo2-dev
- libxcb-keysyms1-dev
- libx11-dev

```
git clone this repository
cd zmen
zig build
```

Or build directly:

```
zig build-exe main.zig -lc -lxcb -lcairo -lxcb-keysyms -lX11
```

## Usage

Run zmen:

```
./zmen
```
Recommended: bind to a key combination in your window manager config.

### Keybindings

- Type to search for commands
- Tab - Complete the suggested command
- Right arrow - Accept one character of suggestion
- Return - Execute the command
- Escape - Clear input or exit

## Configuration

Edit the source code directly. Simple configuration options:

```zig
const font_size = 25.0;
const bh = 30;           // Bar height
const font = "Iosevka";  // Font name
const prompt = "run:";      // Prompt character
```

## LICENSE
Released under MIT license.

Commits

HashDateAuthorSubject
610a4032025-12-19 13:17:35 +0100IIIlllIIIllIchange app -> zmen for clarity, re-work spawn/launch semantics and drop /bin/sh completely.
3f98e692025-12-19 13:10:22 +0100IIIlllIIIllIchange app -> zmen for clarity, re-work spawn/launch semantics and drop /bin/sh completely.
76d4f5e2025-05-10 13:16:05 +0200SMcreate c.zig for import, proper color struct for better color palette assignment.
28d0dc92025-05-10 12:59:54 +0200SMrdme
7a5f93d2025-05-10 12:59:01 +0200SMv0.1