Feature-rich hardware-accelerated keyboard driven Wayland notification daemon.
recording.mp4
- Fully keyboard driven with vi inspired bindings
- Per notification config
- Fully implements FreeDesktop Notifications Specification
- Hardware accelerated
- Notification sound support
- Notification history
Moxnotify configuration is written in lua and is located at $XDG_CONFIG_HOME/moxnotify/config.lua or ~/.config/moxnotify/config.lua.
return {
keymaps = {
{
mode = "n"
keys = "d",
action = "dismiss_notification",
},
{
mode = "n"
keys = "ge",
action = "last_notification",
}
},
styles = {
{
selector = "*",
style = {
border = {
color = {
urgency_critical = "#f38ba8",
urgency_low = "#a6e3a1",
urgency_normal = "#cba6f7"
}
},
font = {
color = "#cdd6f4",
family = "DejaVu Sans",
size = 10
}
}
},
{
selector = {
"next_counter",
"prev_counter",
"notification",
"hints"
},
style = {
background = {
urgency_critical = "#181825FF",
urgency_low = "#1e1e2eFF",
urgency_normal = "#181825FF"
}
}
},
{
selector = "notification",
state = "hover",
style = {
background = {
urgency_critical = "#313244FF",
urgency_low = "#313244FF",
urgency_normal = "#313244FF"
}
}
},
{
selector = "action",
state = "hover",
style = {
background = {
urgency_critical = "#f38ba8",
urgency_low = "#f2cdcd",
urgency_normal = "#f2cdcd"
}
}
},
{
selector = "progress",
style = {
background = {
urgency_critical = "#f38ba8",
urgency_low = "#f2cdcd",
urgency_normal = "#f2cdcd"
}
}
},
{
selector = "dismiss",
style = {
font = {
color = "#00000000"
}
}
},
{
selector = "dismiss",
state = "container_hover",
style = {
font = {
color = "#000000"
}
}
}
}
}
- Lua 5.4
- Rust
- dbus
- wayland
- libpulseaudio
- vulkan-loader
Moxnotify includes two binaries: the notification daemon (daemon
) and the control utility (ctl
). For optimal compatibility with moxctl, rename the binaries as follows:
Rename daemon
to moxnotify
:
cargo build --bin daemon && mv target/release/daemon target/release/moxnotify
Rename ctl
to moxnotifyctl
:
cargo build --bin ctl && mv target/release/ctl target/release/moxnotifyctl
It is also recommended to package moxctl together with moxnotify