Skip to content

fix: reach adjacent displays instead of switching workspaces - #2755

Open
Xeus-CC wants to merge 7 commits into
pop-os:masterfrom
Xeus-CC:master
Open

fix: reach adjacent displays instead of switching workspaces#2755
Xeus-CC wants to merge 7 commits into
pop-os:masterfrom
Xeus-CC:master

Conversation

@Xeus-CC

@Xeus-CC Xeus-CC commented Aug 18, 2026

Copy link
Copy Markdown

A few fixes for directional focus/move on stacked multi display setups (diff PR (#2150) on cosmic-settings with the toggles).

Current focus behaviour is that: from window B or C, using super + down arrow (change focus) targeting window D (which is in another monitor) moves me to another workspace. The expected behaviour is that window D is focused.
Same kind of thing for moving windows. Attempting to move window B down and next to window D, moves window B in a new workspace and it lands on monitor A. The expected behaviour is that it moves next to window D.

635990152-a399dba2-a111-468b-96d1-51a2d1e73aef

The PR fixes the things listed above and a few nice to have things:

  • moves that fall through, enter from the opposite edge, like a continuous strip effect.
  • added config for controlling which action (move or focus) result in a workspace change.

#2238


  • I have disclosed use of any AI generated code in my commit messages.
    • If you are using an LLM, and do not fully understand the changes it is making to the code base, do not create a PR.
    • In our experience, AI generated code often results in overly complex code that lacks enough context for a proper fix or feature inclusion. This results in considerably longer code reviews. Due to this, AI authored or partially authored PRs may be closed without comment.
  • I understand these changes in full and will be able to respond to review comments.
  • My change is accurately described in the commit message.
  • My contribution is tested and working as described.
  • I have read the Developer Certificate of Origin and certify my contribution under its conditions.

@rnwst

rnwst commented Aug 23, 2026

Copy link
Copy Markdown

The current behaviour has been super annoying and I started looking into fixing this myself when I discovered your PR. Thank you very much for your work on this and I really hope your PR gets merged soon!

@Xeus-CC

Xeus-CC commented Aug 24, 2026

Copy link
Copy Markdown
Author

The current behaviour has been super annoying and I started looking into fixing this myself when I discovered your PR. Thank you very much for your work on this and I really hope your PR gets merged soon!

No worries at all! It would even be super cool if you can test it out yourself too!

Clone and Build
git clone https://github.com/Xeus-CC/cosmic-comp.git
cd cosmic-comp

cargo build --release
Backup and Install
sudo cp /usr/bin/cosmic-comp /usr/bin/cosmic-comp.bak
sudo install -m755 target/release/cosmic-comp /usr/bin/cosmic-comp

Log out and back in. If you want play around beyond default settings, you can do it through here:
~/.config/cosmic/com.system76.CosmicComp/v1/workspaces

Here's my preferred configuration. Moving focus does not result in a workspace change, even if I moved beyond the edge. But, moving windows over the edge does though.

(
    workspace_mode: Global,
    workspace_layout: Vertical,
    action_on_typing: r#None,
    workspace_wraparound: false,
    focus_edge_navigation: LockedSpaces,
    move_edge_navigation: SwitchWorkspace,
)

@rnwst

rnwst commented Aug 24, 2026

Copy link
Copy Markdown

Thanks very much for the installation instructions! I've tested it out, it works perfectly! I set move_edge_navigation to LockedSpaces as well, so that the moving windows behaves the same way as moving focus. IMHO, moving focus/windows and moving workspaces are semantically different, and should not have been conflated in the first place. After all, there is already a separate default keyboard shortcut for focusing the next/previous workspace (Super+Ctrl+j/k).

@Xeus-CC

Xeus-CC commented Aug 26, 2026

Copy link
Copy Markdown
Author

Thanks very much for the installation instructions! I've tested it out, it works perfectly! I set move_edge_navigation to LockedSpaces as well, so that the moving windows behaves the same way as moving focus. IMHO, moving focus/windows and moving workspaces are semantically different, and should not have been conflated in the first place. After all, there is already a separate default keyboard shortcut for focusing the next/previous workspace (Super+Ctrl+j/k).

Glad it works! Hopefully it gets reviewed and merged soon.

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.

2 participants