[BUG]: Moving windows between monitors on UltrawideVerticalStack layout #381

Closed
opened 2026-01-05 14:50:11 +01:00 by adam · 2 comments
Owner

Originally created by @CtByte on GitHub (May 18, 2024).

Describe the bug
When moving a window from left to right using the komorebic move right command between 2 monitors, the moved window is added to the right side of the 2nd monitor instead of the left.

This issue happens when the 2nd monitor is using the UltrawideVerticalStack layout. I also tested in 'BSP' and the window is added correctly. To the left, instead of the right.

To Reproduce
Steps to reproduce the behavior:

Dual monitor setup
image

  1. Have at least the 2nd monitors use the UltrawideVerticalStack layout
  2. Open a window on both monitors
  3. Move the window from the 1st monitor to the 2nd monitor using the komorebic move right command
  4. See bug

Expected behavior
The window coming from the 1st monitor is added to the left side of the 2nd monitor.

Screenshots and Videos

https://github.com/LGUG2Z/komorebi/assets/165908630/8fa60b3f-6016-4bd2-89f0-266c883b1f9e

Operating System

OS Name:                   Microsoft Windows 11 Pro
OS Version:                10.0.22631 N/A Build 22631

komorebic check Output

No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\{UserName}

Looking for configuration files in C:\Users\{UserName}

Found komorebi.json; this file can be passed to the start command with the --config flag

Found C:\Users\{UserName}\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag
Originally created by @CtByte on GitHub (May 18, 2024). **Describe the bug** When moving a window from left to right using the `komorebic move right` command between 2 monitors, the moved window is added to the right side of the 2nd monitor instead of the left. This issue happens when the 2nd monitor is using the `UltrawideVerticalStack` layout. I also tested in 'BSP' and the window is added correctly. To the left, instead of the right. **To Reproduce** Steps to reproduce the behavior: Dual monitor setup ![image](https://github.com/LGUG2Z/komorebi/assets/165908630/99ac9ffe-d3d9-4d36-b1b0-210384871ced) 1. Have at least the 2nd monitors use the `UltrawideVerticalStack` layout 2. Open a window on both monitors 3. Move the window from the 1st monitor to the 2nd monitor using the `komorebic move right` command 4. See bug **Expected behavior** The window coming from the 1st monitor is added to the left side of the 2nd monitor. **Screenshots and Videos** https://github.com/LGUG2Z/komorebi/assets/165908630/8fa60b3f-6016-4bd2-89f0-266c883b1f9e **Operating System** ``` OS Name: Microsoft Windows 11 Pro OS Version: 10.0.22631 N/A Build 22631 ``` **`komorebic check` Output** ``` No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\{UserName} Looking for configuration files in C:\Users\{UserName} Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\{UserName}\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag ```
adam added the bug label 2026-01-05 14:50:11 +01:00
adam closed this issue 2026-01-05 14:50:11 +01:00
Author
Owner

@LGUG2Z commented on GitHub (May 19, 2024):

a29ab4cfb3/komorebi/src/window_manager.rs (L1247):L1252

The insertion position when moving across monitors depends on the last focused container index on the target monitor, and the case of UltrawideVerticalStack layout is a little more complex as the container at the index 0 occupies the largest position (in the middle) rather than the leftmost or topmost position (which is usually the largest position in other layouts)

@LGUG2Z commented on GitHub (May 19, 2024): https://github.com/LGUG2Z/komorebi/blob/a29ab4cfb3458cca971d17ae87b985bb49880143/komorebi/src/window_manager.rs#L1247:L1252 The insertion position when moving across monitors depends on the last focused container index on the target monitor, and the case of `UltrawideVerticalStack` layout is a little more complex as the container at the index `0` occupies the largest position (in the middle) rather than the leftmost or topmost position (which is usually the largest position in other layouts)
Author
Owner

@CtByte commented on GitHub (May 19, 2024):

Ah I see that is why when there are 2 windows on the 2nd monitor, a window on the 1st monitor will be placed in the middle of the workspace when moved with commands.

So I would say, let's keep it simple as this feels like more of a feature than a bug 😄

@CtByte commented on GitHub (May 19, 2024): Ah I see that is why when there are 2 windows on the 2nd monitor, a window on the 1st monitor will be placed in the middle of the workspace when moved with commands. So I would say, let's keep it simple as this feels like more of a feature than a bug 😄
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#381