popcorn/README.md
candifloss 0d7dfde926 Update README
- Description
- Installation instructions
- Usage guide
2025-12-12 16:33:44 +05:30

2.8 KiB

Popcorn

Minimal, fast, configurable OSD popup renderer for Linux.
Designed for use with lightweight desktops.

Popcorn shows a small on-screen popup for events like volume, brightness, or battery changes.
It is a one-shot renderer: other daemons or scripts call this binary with values and Popcorn displays the popup and exits.

Popcorn uses Slint for rendering and supports complete styling through a simple TOML configuration file.

Features

  • Extremely lightweight and fast
  • Works perfectly on tiling WMs
  • Fully configurable
  • Unicode glyphs as icons: Works well with Nerd Fonts.
  • Designed to be triggered by scripts, daemons, or key-bindings.
  • CLI-supplied dynamic values (icon, percent, colors)
  • Config-supplied static styling (size, fonts, colors, position, padding, timeout)
  • Resolution-independent placement

Installation

Install using cargo:

cargo install --git https://git.candifloss.cc/candifloss/popcorn.git popcorn

Optionally move the binary into your $PATH:

sudo mv ~/.cargo/bin/popcorn /usr/bin/

Usage

Popcorn is typically invoked by a system daemon, widget, or window manager keybindings. Configure your app or WM keybinding to execute:

popcorn --value={percent_value} --icon="{osd_icon}" --color="{hex_color_string}"

Arguments

Option Description
--value <PERCENT> Percentage value for the popup (0 to 100). Used for volume, brightness, battery, etc.
--icon <GLYPH> UTF-8 icon glyph. Nerd Fonts recommended.
--color <AARRGGBB> Fill color. If omitted, config fallback is used.

Example calls

Volume change

popcorn --value=45 --icon="" --color="ff55aaff"    # Normal volume: Bluish color.

Brightness change

popcorn --value=80 --icon="󰃟"   # No color specified. Falls back to default.

Battery status

popcorn --value=20 --icon="󰁼" --color="ffcc4444"    # Low battery: Reddish color.

Configiration

See the configuration guide.

License

This project is licensed under the GNU General Public License (GPL) version 3 or later. You can redistribute it and/or modify it under the terms of this License.

This software is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

For a copy of the full license, see the LICENSE file in the project repository.