Add TUI notification condition config (#17175)

Problem: TUI desktop notifications are hard-gated on terminal focus, so
terminal/IDE hosts that want in-focus notifications cannot opt in.

Solution: Add a flat `[tui] notification_condition` setting (`unfocused`
by default, `always` opt-in), carry grouped TUI notification settings
through runtime config, apply method + condition together in the TUI,
and regenerate the config schema.
This commit is contained in:
Eric Traut
2026-04-08 21:50:02 -07:00
committed by GitHub
parent 2f9090be62
commit 6dc5391c7c
8 changed files with 191 additions and 48 deletions

View File

@@ -1108,6 +1108,24 @@
},
"type": "object"
},
"NotificationCondition": {
"oneOf": [
{
"description": "Emit TUI notifications only while the terminal is unfocused.",
"enum": [
"unfocused"
],
"type": "string"
},
{
"description": "Emit TUI notifications regardless of terminal focus.",
"enum": [
"always"
],
"type": "string"
}
]
},
"NotificationMethod": {
"enum": [
"auto",
@@ -1812,6 +1830,15 @@
"default": {},
"description": "Startup tooltip availability NUX state persisted by the TUI."
},
"notification_condition": {
"allOf": [
{
"$ref": "#/definitions/NotificationCondition"
}
],
"default": "unfocused",
"description": "Controls whether TUI notifications are delivered only when the terminal is unfocused or regardless of focus. Defaults to `unfocused`."
},
"notification_method": {
"allOf": [
{
@@ -1819,7 +1846,7 @@
}
],
"default": "auto",
"description": "Notification method to use for unfocused terminal notifications. Defaults to `auto`."
"description": "Notification method to use for terminal notifications. Defaults to `auto`."
},
"notifications": {
"allOf": [
@@ -1828,7 +1855,7 @@
}
],
"default": true,
"description": "Enable desktop notifications from the TUI when the terminal is unfocused. Defaults to `true`."
"description": "Enable desktop notifications from the TUI. Defaults to `true`."
},
"show_tooltips": {
"default": true,