Unify process picker, improve notification CSS editor, remove notification led_count

- Extract shared process picker module (core/process-picker.js) used by
  both automation conditions and notification CSS app filter
- Remove led_count property from notification CSS source (backend + frontend)
- Replace comma-separated app filter with newline-separated textarea + browse
- Inline color cycle add button (+) into the color row
- Fix notification app color layout to horizontal rows

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-08 22:58:36 +03:00
parent a330a8c0f0
commit d6bda9afed
12 changed files with 179 additions and 91 deletions

View File

@@ -238,7 +238,6 @@ class ColorStripSource:
app_filter_mode=data.get("app_filter_mode") or "off",
app_filter_list=app_filter_list,
os_listener=bool(data.get("os_listener", False)),
led_count=data.get("led_count") or 0,
)
# Default: "picture" type
@@ -504,7 +503,6 @@ class NotificationColorStripSource(ColorStripSource):
app_filter_mode: str = "off" # off | whitelist | blacklist
app_filter_list: list = field(default_factory=list) # app names for filter
os_listener: bool = False # whether to listen for OS notifications
led_count: int = 0 # 0 = use device LED count
def to_dict(self) -> dict:
d = super().to_dict()
@@ -515,5 +513,4 @@ class NotificationColorStripSource(ColorStripSource):
d["app_filter_mode"] = self.app_filter_mode
d["app_filter_list"] = list(self.app_filter_list)
d["os_listener"] = self.os_listener
d["led_count"] = self.led_count
return d

View File

@@ -279,7 +279,6 @@ class ColorStripStore:
app_filter_mode=app_filter_mode or "off",
app_filter_list=app_filter_list if isinstance(app_filter_list, list) else [],
os_listener=bool(os_listener) if os_listener is not None else False,
led_count=led_count,
)
else:
if calibration is None:
@@ -472,8 +471,6 @@ class ColorStripStore:
source.app_filter_list = app_filter_list
if os_listener is not None:
source.os_listener = bool(os_listener)
if led_count is not None:
source.led_count = led_count
source.updated_at = datetime.utcnow()
self._save()