Add target screen selection and Forgejo CI #9

Merged
mburchard merged 3 commits from feature/target-screen-placement into main 2026-03-01 20:06:33 +00:00
Owner

Summary

  • New TargetScreen type ('primary' | 'app' | 'active') on WindowPlacement
    allows directing windows and dialogues to a specific display
  • resolveTargetDisplay() in WindowController handles resolution with fallback
  • Main window registry (setMainWindowId / getMainWindowId) enables screen: 'app'
  • Display demo: three new buttons for screen targeting (primary, app, active with 5s delay)
  • WindowController test coverage: 51 tests, 100% statements/lines/functions, 96% branches
  • Forgejo CI pipeline: lint, typecheck, tests with coverage, build

Test plan

  • pnpm lint clean
  • pnpm typecheck clean
  • pnpm test all 175 tests green
  • Manual: display demo buttons verified on multi-monitor setup
## Summary - New `TargetScreen` type (`'primary'` | `'app'` | `'active'`) on `WindowPlacement` allows directing windows and dialogues to a specific display - `resolveTargetDisplay()` in WindowController handles resolution with fallback - Main window registry (`setMainWindowId` / `getMainWindowId`) enables `screen: 'app'` - Display demo: three new buttons for screen targeting (primary, app, active with 5s delay) - WindowController test coverage: 51 tests, 100% statements/lines/functions, 96% branches - Forgejo CI pipeline: lint, typecheck, tests with coverage, build ## Test plan - [x] `pnpm lint` clean - [x] `pnpm typecheck` clean - [x] `pnpm test` all 175 tests green - [x] Manual: display demo buttons verified on multi-monitor setup
- New `TargetScreen` type ('primary' | 'app' | 'active') and
  `screen?` property on `WindowPlacement`
- `resolveTargetDisplay()` in WindowController resolves the
  target display and repositions the window before placement
- Main window registry (`setMainWindowId` / `getMainWindowId`)
  enables `screen: 'app'` resolution
- Display demo: three new buttons for screen targeting
  (primary, app, active with 5s delay)
- WindowController test coverage: 51 tests, 100% statements/
  lines/functions, 96% branches
Add Forgejo CI pipeline
Some checks failed
CI / ci (pull_request) Failing after 1m26s
80ccad29bb
- Lint, typecheck, tests with coverage, and build
- Node version from .node-version (single source of truth)
- pnpm store caching, coverage artifact upload (30 days)
Add .pnpm-store to .gitignore
All checks were successful
CI / ci (pull_request) Successful in 2m0s
CI / ci (push) Successful in 1m58s
2633ac28f5
- CI places the pnpm store inside the workspace; antfu's
  ESLint config auto-ignores .gitignore entries
mburchard deleted branch feature/target-screen-placement 2026-03-01 20:06:34 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mburchard/vite-electron-starter!9
No description provided.