gtk-sni-tray: A standalone StatusNotifierItem/AppIndicator tray

[ bsd3, library, program, system ] [ Propose Tags ] [ Report a vulnerability ]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.3.0, 0.1.3.1, 0.1.3.2, 0.1.4.0, 0.1.5.0, 0.1.6.0, 0.1.6.2, 0.1.7.0, 0.1.8.0, 0.1.8.1, 0.1.9.0, 0.1.9.1, 0.1.10.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), bytestring, containers, dbus (>=1.0.0 && <2.0.0), dbus-hslogger (>=0.1.0.1 && <0.2.0.0), directory, enclosed-exceptions (>=1.0.0.1), filepath, gi-cairo, gi-cairo-connector, gi-cairo-render, gi-gdk3, gi-gdkpixbuf (>=2.0.16), gi-glib, gi-gtk-layer-shell, gi-gtk3, gtk-sni-tray, gtk-strut (>=0.1.4.0), haskell-gi (>=0.21.2), haskell-gi-base (>=0.21.1), hslogger, optparse-applicative, status-notifier-item (>=0.3.2.0 && <0.4.0.0), template-haskell, text, transformers, transformers-base (>=0.4), unix [details]
License BSD-3-Clause
Copyright 2018 Ivan Malison
Author Ivan Malison
Maintainer IvanMalison@gmail.com
Uploaded by eyevanmalicesun at 2026-02-05T22:44:04Z
Category System
Home page https://github.com/IvanMalison/gtk-sni-tray#readme
Bug tracker https://github.com/IvanMalison/gtk-sni-tray/issues
Source repo head: git clone https://github.com/IvanMalison/gtk-sni-tray
Distributions Arch:0.1.8.1, Debian:0.1.6.0, NixOS:0.1.9.0, Stackage:0.1.9.1
Reverse Dependencies 1 direct, 1 indirect [details]
Executables gtk-sni-tray-standalone
Downloads 7939 total (34 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for gtk-sni-tray-0.1.10.0

[back to package description]

gtk-sni-tray

Build Status Hackage Stackage LTS Stackage Nightly

gtk-sni-tray provides a StatusNotifierHost widget written using the gtk+3 bindings for haskell provided by gi-gtk. It also provides a simple standalone executable, gtk-sni-tray-standalone, that is configured with command line arguments. This executable will run the aforementioned widget by itself in a strut window on X11, or (when available) a layer-shell surface on Wayland.

taffybar

It is generally recommeneded that you use this widget through taffybar with this module, which will allow you to combine it with other useful widgets, and will allow more flexibility in configuration.

StatusNotifierWatcher

By default, it is assumed that you are running an isolated StatusNotifierWatcher daemon. status-notifier-item provides a StatusNotifierWatcher executable that you can use for this purpose. If you get an error like

MethodError {methodErrorName = ErrorName "org.freedesktop.DBus.Error.ServiceUnknown", methodErrorSerial = Serial 7, methodErrorSender = Just (BusName "org.freedesktop.DBus"), methodErrorDestination = Just (BusName ":1.549"), methodErrorBody = [Variant "The name org.kde.StatusNotifierWatcher was not provided by any .service files"]}

when you start gtk-sni-tray-standalone it is probably because you have not started a StatusNotifierWatcher on your system. You can solve this problem by passing the --watcher flag to gtk-sni-tray-standalone, but this is not recommeneded, because many SNI processes do not monitor for new watcher processes, and so may not immediately register when this new watcher is started.

Installation

nix, stack and cabal can all be used to install gtk-sni-tray.

When building with cabal, you will need the following system dependencies available via pkg-config:

  • gtk+-3.0
  • gtk-layer-shell-0 (for the standalone Wayland layer-shell window)

For Nix users, this repository provides a flake dev shell. If you use direnv, direnv allow then direnv reload should set up the environment.

If you see a Cabal error about missing pkg-config packages, scripts/cabal-run does a quick preflight check and prints a more direct message.