8 Commits

Author SHA1 Message Date
Maksim Totmin
3fdccadd3c feat: size: prefix, external auto-detection, auto-disable stale monitors
- size:WxH and size:WxH@R resolution for config names
- auto-detection of external monitors when external list is empty (any non-internal display)
- ensureCleanLayout: explicitly disable connected monitors not in target layout
- update docs (README, example.yaml) for all three features
2026-06-24 19:51:18 +07:00
Maksim Totmin
ac2bb77113 fix(hyprland): resolve desc: monitor names before generating config
Extract shared resolveMonitorNames to backend package so both
Hyprland and Sway backends resolve desc: prefixed names to actual
connector names before applying monitor layout.

Previously the Hyprland backend wrote desc:... literally into
monitors.conf, which Hyprland ignores, causing monitors to be
positioned incorrectly or not configured at all.
2026-06-23 09:06:08 +07:00
Maksim Totmin
fb40347c68 docs: rewrite README for multi-backend (Hyprland + Sway) 2026-06-22 21:41:46 +07:00
Maksim Totmin
b24da07b6e feat: add Sway backend 2026-06-22 21:36:21 +07:00
Maksim Totmin
cc1137608c refactor: move backend options into backend_config section
- Add BackendConfig map[string]any to Config struct
- Deprecate top-level output_path (backward compatible via EffectiveBackendConfig())
- NewHyprland now accepts opts map[string]any instead of raw outputPath
- Factory signature unified to func(*slog.Logger, map[string]any) for all backends
- Update README with backend_config docs and fix Sway skeleton signature
- Update example.yaml to show backend_config instead of output_path
2026-06-22 20:49:02 +07:00
Maksim Totmin
15691c0918 feat: add optional output_path, change default to monitors.conf 2026-06-22 20:37:07 +07:00
Maksim Totmin
2a49aa98ed rename cmd/neodock -> cmd/monitor-lets-go 2026-06-22 16:34:35 +07:00
Maksim Totmin
a4b80616bb Initial commit: monitor-lets-go — automatic monitor layout daemon 2026-06-22 16:22:47 +07:00