Skip to content

Conversation

@Simbaclaws
Copy link

@Simbaclaws Simbaclaws commented Oct 5, 2025

I've created some changes in order to make sure that changeMonitor among other things are using monitor selection based on their position, not their ID's. There is still room for improvement though, because you might also want to have an up/down command for moving windows up and down instead of just next/prev. This is something that does exist in hyprland, but not yet in this plugin. I hope this helps people with different layouts properly be able to switch windows to the right position.

@Simbaclaws
Copy link
Author

we might want to remove some of the logs....

@Simbaclaws
Copy link
Author

also sorry for the commit mess....

@Simbaclaws
Copy link
Author

Simbaclaws commented Oct 5, 2025

The swapping fix was a mistake from my end, I had a duplicate keybind setup accidentally because I was using omarchy... So for those who are using omarchy. I used this config:

plugin {
    split-monitor-workspaces {
        count = 10
        keep_focused = 0
        enable_notifications = 0
        enable_persistent_workspaces = 1
    }
}

$mainMod = SUPER

# Unbinding Omarchy bindings
unbind = SUPER, code:10
unbind = SUPER, code:11
unbind = SUPER, code:12
unbind = SUPER, code:13
unbind = SUPER, code:14
unbind = SUPER, code:15
unbind = SUPER, code:16
unbind = SUPER, code:17
unbind = SUPER, code:18
unbind = SUPER, code:19

unbind = SUPER SHIFT, code:10
unbind = SUPER SHIFT, code:11
unbind = SUPER SHIFT, code:12
unbind = SUPER SHIFT, code:13
unbind = SUPER SHIFT, code:14
unbind = SUPER SHIFT, code:15
unbind = SUPER SHIFT, code:16
unbind = SUPER SHIFT, code:17
unbind = SUPER SHIFT, code:18
unbind = SUPER SHIFT, code:19

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 0


# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 0

# Unbind swap active window
unbind = SUPER SHIFT, left
unbind = SUPER SHIFT, right

# Move window to next monitor
bind = SUPER SHIFT, left, split-changemonitor, prev
bind = SUPER SHIFT, right, split-changemonitor, next

@Simbaclaws
Copy link
Author

This might need to be tested properly in different setups

@zjeffer
Copy link
Collaborator

zjeffer commented Oct 5, 2025

See my comment here: #150 (comment)

I'll take a closer look at your changes later, but since they look quite big I won't merge this yet for the reasons mentioned in that comment. We might be able to use part of it to solve the original issue mentioned in #150, though.

@zjeffer zjeffer self-assigned this Oct 5, 2025
@zjeffer zjeffer added the enhancement New feature or request label Oct 5, 2025
@bbmoon33
Copy link

The swapping fix was a mistake from my end, I had a duplicate keybind setup accidentally because I was using omarchy... So for those who are using omarchy. I used this config:

plugin {
    split-monitor-workspaces {
        count = 10
        keep_focused = 0
        enable_notifications = 0
        enable_persistent_workspaces = 1
    }
}

$mainMod = SUPER

# Unbinding Omarchy bindings
unbind = SUPER, code:10
unbind = SUPER, code:11
unbind = SUPER, code:12
unbind = SUPER, code:13
unbind = SUPER, code:14
unbind = SUPER, code:15
unbind = SUPER, code:16
unbind = SUPER, code:17
unbind = SUPER, code:18
unbind = SUPER, code:19

unbind = SUPER SHIFT, code:10
unbind = SUPER SHIFT, code:11
unbind = SUPER SHIFT, code:12
unbind = SUPER SHIFT, code:13
unbind = SUPER SHIFT, code:14
unbind = SUPER SHIFT, code:15
unbind = SUPER SHIFT, code:16
unbind = SUPER SHIFT, code:17
unbind = SUPER SHIFT, code:18
unbind = SUPER SHIFT, code:19

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 0


# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 0

# Unbind swap active window
unbind = SUPER SHIFT, left
unbind = SUPER SHIFT, right

# Move window to next monitor
bind = SUPER SHIFT, left, split-changemonitor, prev
bind = SUPER SHIFT, right, split-changemonitor, next

works for me, thanks

@prydudev
Copy link

Thank you! Just the solution I needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants