Skip to content

looknfeel: open new windows on the active workspace (fix portal file dialogs)#6317

Merged
dhh merged 1 commit into
basecamp:quattrofrom
scottjones:fix-portal-dialog-workspace
Jul 20, 2026
Merged

looknfeel: open new windows on the active workspace (fix portal file dialogs)#6317
dhh merged 1 commit into
basecamp:quattrofrom
scottjones:fix-portal-dialog-workspace

Conversation

@scottjones

Copy link
Copy Markdown
Contributor

What

Set misc:initial_workspace_tracking = 0 in default/hypr/looknfeel.lua.

Why

File-picker dialogs drawn by xdg-desktop-portal-gtk (browser Open/Save, GTK app choosers, etc.) open on the workspace where the portal process started at login — typically workspace 1 — instead of following the app that requested them.

Repro: put a browser on workspace 2, trigger a Save/Open dialog → it pops up on workspace 1, out of view.

With tracking off, new windows map on the currently active workspace, so the dialog follows the app.

Trade-off

An app launched on one workspace that you switch away from before its window maps will now open on the new active workspace. In practice the dialog-follows-app behavior is the more intuitive default, and this fixes a confusing, easy-to-hit bug.

Testing

Hyprland on Omarchy 4 (quattro): browser Save/Open dialogs now appear on the active workspace; hyprctl getoption misc:initial_workspace_tracking0 after reload.

…dialogs)

Set misc:initial_workspace_tracking = 0 so new windows appear on the currently
active workspace rather than the one their process was first launched on.

Without this, file-picker dialogs drawn by xdg-desktop-portal-gtk (browser
Open/Save, GTK app choosers, etc.) always open on the workspace where the portal
process started at login (typically workspace 1) instead of following the app
that requested them. So a Save dialog triggered from a browser on workspace 2
pops up on workspace 1, out of view.

Trade-off: an app launched on one workspace that switches away before its window
maps will now open on the new active workspace. In practice the dialog-follows-app
behavior is the more intuitive default.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 19, 2026 23:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the default Hyprland look-and-feel configuration to ensure newly created windows (notably xdg-desktop-portal-gtk file picker dialogs) open on the currently active workspace, addressing dialogs appearing on the portal’s login workspace instead of near the requesting app.

Changes:

  • Set misc.initial_workspace_tracking = 0 in default/hypr/looknfeel.lua.
  • Added inline documentation explaining the portal dialog/workspace rationale and trade-off.

Tip

If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dhh
dhh merged commit 498fa28 into basecamp:quattro Jul 20, 2026
katrushenkov pushed a commit to katrushenkov/omarchy that referenced this pull request Jul 20, 2026
…dialogs) (basecamp#6317)

Set misc:initial_workspace_tracking = 0 so new windows appear on the currently
active workspace rather than the one their process was first launched on.

Without this, file-picker dialogs drawn by xdg-desktop-portal-gtk (browser
Open/Save, GTK app choosers, etc.) always open on the workspace where the portal
process started at login (typically workspace 1) instead of following the app
that requested them. So a Save dialog triggered from a browser on workspace 2
pops up on workspace 1, out of view.

Trade-off: an app launched on one workspace that switches away before its window
maps will now open on the new active workspace. In practice the dialog-follows-app
behavior is the more intuitive default.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants