Skip to content

Tray

Library for managing the systemtray by implementing the StatusNotifierItem protocol.

Installation

  1. install dependencies
sh
sudo pacman -Syu meson gtk3 gobject-introspection libdbusmenu-gtk3
sh
sudo dnf install meson gcc gtk3-devel libdbusmenu-gtk3 gobject-introspection-devel
sh
sudo apt install meson libgtk-3-dev libdbusmenu-gtk3-dev gobject-introspection
  1. clone repo
sh
git clone https://github.com/aylur/astal.git
cd astal/lib/tray
  1. install
sh
meson setup build
meson install -C build

TIP

Most distros recommend manual installs in /usr/local, which is what meson defaults to. If you want to install to /usr instead which most package managers do, set the prefix option:

sh
meson setup --prefix /usr build

Usage

You can browse the Tray reference.

CLI

sh
astal-tray --help

Library

js
import Tray from "gi://AstalTray"

const tray = Tray.get_default()

for (const item of tray.get_items()) {
    print(item.title)
}
py
from gi.repository import AstalTray as Tray

tray = Tray.get_default()

for item in tray.get_items():
    print(item.title)
lua
local Tray = require("lgi").require("AstalTray")

local tray = Tray.get_default()

for _, i in ipairs(tray.items) do
    print(i.title)
end
vala
// Not yet documented