all repos — gnotif @ b6a96b99de0871d6d04b99fce4cc04828f5f5bd0

A simple dbus monitor to see desktop notifications in the terminal

Clear terminal on launch
Tim Izzo tim@5ika.ch
Fri, 01 Aug 2025 16:33:47 +0200
commit

b6a96b99de0871d6d04b99fce4cc04828f5f5bd0

parent

c4fce13a7e58d0326f74ca40dc134fb323ece1e9

4 files changed, 16 insertions(+), 12 deletions(-)

jump to
M go.modgo.mod

@@ -3,16 +3,17 @@

go 1.24.2 require ( + github.com/catppuccin/go v0.3.0 + github.com/charmbracelet/lipgloss v1.1.0 + github.com/godbus/dbus/v5 v5.1.0 +) + +require ( github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect - github.com/catppuccin/go v0.3.0 github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect - github.com/charmbracelet/lipgloss v1.1.0 // indirect - github.com/charmbracelet/log v0.4.2 // indirect github.com/charmbracelet/x/ansi v0.8.0 // indirect github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect github.com/charmbracelet/x/term v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.16 // indirect
M go.sumgo.sum

@@ -6,16 +6,12 @@ github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=

github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= -github.com/charmbracelet/log v0.4.2 h1:hYt8Qj6a8yLnvR+h7MwsJv/XvmBJXiueUcI3cIxsyig= -github.com/charmbracelet/log v0.4.2/go.mod h1:qifHGX/tc7eluv2R6pWIpyHDDrrb/AG71Pf2ysQu5nw= github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE= github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q= github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8= github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs= github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ= github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
M main.gomain.go

@@ -32,6 +32,10 @@ fmt.Fprintln(os.Stderr, "Failed to become monitor:", call.Err)

os.Exit(1) } + // Clear terminal + fmt.Print("\033[H\033[2J") + fmt.Println(textStyle.Render("💬 Listing dbus notifications\n")) + c := make(chan *dbus.Message, 10) conn.Eavesdrop(c) for v := range c {
M style.gostyle.go

@@ -27,9 +27,12 @@ Catppuccin.Rosewater().Hex,

Catppuccin.Lavender().Hex, } -var datetimeStyle = lipgloss.NewStyle().Foreground(lipgloss.Color(Catppuccin.Subtext0().Hex)) -var summaryStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color(Catppuccin.Lavender().Hex)) -var bodyStyle = lipgloss.NewStyle().Foreground(lipgloss.Color(Catppuccin.Text().Hex)) +var ( + textStyle = lipgloss.NewStyle().Foreground(lipgloss.Color(Catppuccin.Text().Hex)) + datetimeStyle = lipgloss.NewStyle().Foreground(lipgloss.Color(Catppuccin.Subtext0().Hex)) + summaryStyle = lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color(Catppuccin.Lavender().Hex)) + bodyStyle = lipgloss.NewStyle().Foreground(lipgloss.Color(Catppuccin.Text().Hex)) +) func getAppNameStyle(appName string) lipgloss.Style { color := deterministicRandomString(appName, catppuccinColors)