1 unstable release
new 0.1.2 | Feb 20, 2025 |
---|---|
0.1.1 |
|
#388 in Unix APIs
18KB
458 lines
Pino: Pixel Notification
Pino is a fully customizable notification tool rewritten in Rust. It allows you to display notifications with various options, including dynamic theming, configurable fonts, and system integration.
Shortcuts
Features
- Customizable Notifications: Set titles, messages, delay, and fonts.
- Dynamic Theming with Pywal: Automatically matches the notification theme to your wallpaper.
- Configurable Settings: Adjust themes, screen placement, fonts, and more via a TOML config file.
- Script Integration: Automate notifications using scripts in any language.
Installation
Arch Linux
sudo pacman -S rust
Debian-based Distros
sudo apt install rustc cargo
Then, build the project:
cargo build --release
Copy the binary to /usr/bin
:
sudo cp target/release/pino /usr/bin/
Dependencies
Pino requires the following dependencies:
- Rust (for building from source)
- Pywal (optional) for dynamic theming
Usage
Pino supports the following command-line options:
Usage: pino -t <title> -m <message> [-d <delay>] [-f] [-c <config>]
Options:
-t, --title Set the notification title content
-m, --message Set the notification message content
-d, --delay Set the delay before the program closes (in seconds)
-f, --font Print all the available fonts
-c, --config Set a custom configuration file
--help, help Display usage information
Note:
If you want to insert a new line (wrap text) in the message, use \n
in the argument parameter.
Example: Low Battery Alert
You can create a script to notify about low battery status:
pino -t "Battery Warning" -m "Low battery!\nPlease connect your charger." -d 5
Configuration
The app uses a TOML configuration file located at ~/.config/pino/config.toml
. Example:
[screen]
monitor = 0
horizontal = "left"
vertical = "top"
x = 25
y = 55
width = 300
height = 100
delay = 5
[frame]
fg_color = "#1a1e24"
font_family = "Fira Code"
[border]
weight = 4
color = "#ffffff"
radius = 8
[title]
color = "#c5c6c8"
font_size = 19
x = 4
y = 10
[message]
color = "#626977"
font_size = 15
x = 10
y = 45
[pywal]
pywal = true
background_color = "bg"
border_color = "color1"
title_color = "fg"
message_color = "color8"
[optional]
sound = false
Hardware Usage
Pino is lightweight and efficient. The graphical notification window typically uses approximately 18-25MB of RAM when active, ensuring minimal system resource consumption.
Dependencies
~16MB
~336K SLoC