super-productivity/electron/task-widget
Johannes Millan 258a6c8949 feat(task-widget): make settings per-instance and fix Mac drag/resize
OS behavior (transparency, native drag/resize) differs enough between
platforms that syncing one shared value across devices makes no sense.
Move taskWidget settings out of the synced GlobalConfigState into a
localStorage-backed TaskWidgetSettingsService and a dedicated
UPDATE_TASK_WIDGET_SETTINGS IPC channel.

On macOS, transparent + frameless BrowserWindows do not support native
edge resize or window drag (Electron docs: "Transparent windows are not
resizable"). Use transparent: false on Mac and apply user-set opacity
via BrowserWindow.setOpacity() so native drag/resize keep working.

GlobalConfigFormSectionKey is split from GlobalConfigSectionKey so that
'taskWidget' cannot leak into updateGlobalConfigSection action payloads
(which would create phantom GLOBAL_CONFIG_UPDATE_SECTION ops).

No data migration: users previously configuring the widget will see
defaults and reconfigure once.
2026-04-29 21:16:12 +02:00
..
task-widget-api.d.ts refactor: rename overlay-indicator to task-widget 2026-03-30 22:00:47 +02:00
task-widget-preload.ts refactor: rename overlay-indicator to task-widget 2026-03-30 22:00:47 +02:00
task-widget-renderer.ts refactor: rename overlay-indicator to task-widget 2026-03-30 22:00:47 +02:00
task-widget.css refactor: rename overlay-indicator to task-widget 2026-03-30 22:00:47 +02:00
task-widget.html refactor: rename overlay-indicator to task-widget 2026-03-30 22:00:47 +02:00
task-widget.ts feat(task-widget): make settings per-instance and fix Mac drag/resize 2026-04-29 21:16:12 +02:00