42 lines
1.3 KiB
TOML
42 lines
1.3 KiB
TOML
# ShareDND — automatic Do Not Disturb while the screen is being shared.
|
|
#
|
|
# A headless [[service]] follows `niri msg -j event-stream` and re-queries
|
|
# `niri msg -j casts` on every Cast* event. When the first screencast
|
|
# appears, notification DND is enabled through the host IPC
|
|
# (notification-dnd-set); when the last one disappears, DND is restored.
|
|
# If DND was already on before sharing started, the plugin does not take
|
|
# ownership and leaves it on afterwards (configurable). Detection only
|
|
# starts inside a niri session (NIRI_SOCKET + niri binary present); on
|
|
# other compositors the service is inert and spawns nothing.
|
|
#
|
|
# External requirements: niri (screencast events come from niri IPC).
|
|
|
|
id = "whyoolw/sharednd"
|
|
name = "ShareDND"
|
|
version = "1.1.1"
|
|
plugin_api = 3
|
|
author = "whyoolw"
|
|
license = "MIT"
|
|
dependencies = ["niri"]
|
|
tags = ["privacy", "niri"]
|
|
icon = "screen-share"
|
|
description = "Automatically enables notification Do Not Disturb while a niri screencast is active."
|
|
|
|
[[setting]]
|
|
key = "only_active"
|
|
type = "bool"
|
|
label_key = "settings.only_active.label"
|
|
description_key = "settings.only_active.description"
|
|
default = false
|
|
|
|
[[setting]]
|
|
key = "always_off_after"
|
|
type = "bool"
|
|
label_key = "settings.always_off_after.label"
|
|
description_key = "settings.always_off_after.description"
|
|
default = false
|
|
|
|
[[service]]
|
|
id = "service"
|
|
entry = "service.luau"
|