Pi66

pino-rs
Rust notification daemon.
git clone https://git.pi66.xyz/pino-rs

README.md

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Example: Low Battery Alert](#example-low-battery-alert)
- [Configuration](#configuration)
- [Dependencies](#dependencies)
- [Hardware Usage](#hardware-usage)

---

## Features

- **Customizable Notifications**: Set titles, messages, delay, and fonts.
- **Dynamic Theming with walrs(or 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

```bash
make install clean

Dependencies

Pino requires the following dependencies:


Usage

Pino supports the following command-line options:

1
2
3
4
5
6
7
8
9
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:

1
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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[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 = false
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 5-20MB of RAM when active, ensuring minimal system resource consumption.

```