Skip to content

Add default-workspace-monitor config option - #2240

Open
christophervalles wants to merge 1 commit into
nikitabobko:mainfrom
christophervalles:default-workspace-monitor
Open

Add default-workspace-monitor config option#2240
christophervalles wants to merge 1 commit into
nikitabobko:mainfrom
christophervalles:default-workspace-monitor

Conversation

@christophervalles

Copy link
Copy Markdown

PR checklist

  • Explain your changes in the relevant commit messages rather than in the PR description. The PR description must not contain more information than the commit messages (except for images and other media).
  • Each commit must explain what/why/how and motivation in its description. https://cbea.ms/git-commit/
  • Don't forget to link the appropriate issues/discussions in commit messages (if applicable). — no pre-existing issue/discussion; new opt-in option
  • Each commit must be an atomic change (a PR may contain several commits).
  • ./test.sh passes — verified locally on Xcode 26.6: swift test 383/383, swiftformat + swiftlint + periphery all clean.
  • Avoid merge commits, always rebase and force push.

@github-actions github-actions Bot added the not-actionable By default, all PRs have this label. If the PR makes sense, the label will be removed. label Aug 24, 2026
A workspace that has never been shown and isn't covered by
workspace-to-monitor-force-assignment has no monitor of its own yet, so
when first focused it opens on the main monitor. On multi-monitor setups
this means switching to a fresh workspace pulls focus to the main
monitor, away from where the user is currently working.

i3/sway open a new workspace on the focused output instead. Add an opt-in
option for that behavior:

    default-workspace-monitor = 'main'     # default, unchanged
    default-workspace-monitor = 'focused'  # open on the focused monitor

When set to 'focused' and the newly focused workspace has no monitor of
its own yet, setFocus places it on the monitor being switched away from
(oldFocus's monitor) rather than its default (main). Force-assigned,
visible, and previously-placed workspaces are unaffected, so behavior is
unchanged unless the option is opted into.
@christophervalles
christophervalles force-pushed the default-workspace-monitor branch from 450fa02 to e712c8c Compare August 24, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not-actionable By default, all PRs have this label. If the PR makes sense, the label will be removed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant