Publish Gnome Active Windows to HomeAssistant
Find a file
2026-08-15 16:28:03 +03:00
config Fix config sample 2025-01-06 22:59:02 +02:00
publish_active_windows Return empty 2026-08-15 16:28:03 +03:00
.gitignore first commit 2025-01-06 21:22:30 +02:00
Dockerfile first commit 2025-01-06 21:22:30 +02:00
install.sh fix wrapper and installer 2026-08-06 17:02:39 +03:00
LICENSE first commit 2025-01-06 21:22:30 +02:00
podman_build.sh first commit 2025-01-06 21:22:30 +02:00
podman_run.sh first commit 2025-01-06 21:22:30 +02:00
publish_active_windows.sh fix wrapper 2026-08-06 17:05:51 +03:00
pyproject.toml Update structure 2026-08-06 16:55:40 +03:00
README.md Fix config sample 2025-01-06 22:59:02 +02:00
requirements.txt Add mvp 2025-01-06 22:20:20 +02:00
setup.cfg Update structure 2026-08-06 16:55:40 +03:00
setup.py Update structure 2026-08-06 16:55:40 +03:00
wrapper.sh remove permissions check 2026-08-06 18:47:30 +03:00

publish_active_windows

Requirements

  • Only Gnome on Wayland is supported.
  • You need to install the Gnome Extension Window Calls Extended for each user to monitor.
  • You need to run this script in the Gnome Session of the user, via creating a .desktop file and adding the application to Startup Applications with Gnome Tweaks for example.

Installation

To install for example in your ~/.local/bin folder:

./install.sh --destination ~/.local/bin

To install system-wide:

sudo ./install.sh --destination /usr/local/bin

Change your configuration file in "${HOME}/.config/publish_active_windows.conf" (see the example in the config folder).

Usage

publish_active_windows.sh [--debug-level|-d CRITICAL|ERROR|WARNING|INFO|DEBUG|NOTSET] --ha-url <URL> --ha-token <TOKEN>
  • URL should be something like https://myhomeassistant.example.org:8443
  • The TOKEN must be generated in HomeAssistant, under your profile, Security, Create token. This token will be readable to the user you want to monitor, and it could be able to publish and read any other data from HomeAssistant. At the moment HomeAssistant doesn't support more granular permissions that allow you to limit the access of this token.