LGUG2Z / komorebi

A tiling window manager for Windows 🍉
https://lgug2z.github.io/komorebi/
Other
9.63k stars 200 forks source link

[BUG]: The stack command is inconsistent if the active window is already in a stack. #1085

Closed Turizmo closed 3 weeks ago

Turizmo commented 1 month ago

Summary

I have my workspace tiled in two stacks. If my active window is in the stack to the right, and run the "stack left" command, it moves a window from the left stack to the right stack. Expected behavior is to move the active window to the left stack. If my active window is in the left stack and i run the "stack right" command nothing seems to happen.

I am unsure if this is actually a bug or if it is not supposed to be a feature, but it is definitely unexpected behavior. I expect the stack command to move the active window into the stack in the stack direction. This would be useful to move windows between adjacent stacks.

Version Information

OS Name: Microsoft Windows 10 Pro OS Version: 10.0.19045 N/A Build 19045 Komorebic Version: 0.1.29

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.29/schema.json",
  "app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 0,
  "default_container_padding": 0,
  "border": true,
  "border_width": 2,
  "border_offset": -1,
  "theme": {
    "palette": "Catppuccin",
    "name": "Mocha",
  },
  "stackbar": {
    "height": 20,
    "mode": "Always",
    "tabs": {
      "width": 150,
      "font_size": 16
    }
  },
  "monitors": [
    {
      "workspaces": [
        {
          "name": "0_I",
          "layout": "BSP"
        },
        {
          "name": "0_II",
          "layout": "Grid"
        },
        {
          "name": "0_III",
          "layout": "HorizontalStack"
        },
        {
          "name": "0_IV",
          "layout": "UltrawideVerticalStack"
        },
        {
          "name": "0_V",
          "layout": "Rows"
        },
        {
          "name": "0_VI",
          "layout": "Grid"
        },
        {
          "name": "0_VII",
          "layout": "RightMainVerticalStack"
        }
      ]
    },
        {
      "workspaces": [
        {
          "name": "1_I",
          "layout": "BSP"
        },
        {
          "name": "1_II",
          "layout": "Grid"
        },
        {
          "name": "1_III",
          "layout": "HorizontalStack"
        },
        {
          "name": "1_IV",
          "layout": "UltrawideVerticalStack"
        },
        {
          "name": "1_V",
          "layout": "Rows"
        },
        {
          "name": "1_VI",
          "layout": "Grid"
        },
        {
          "name": "1_VII",
          "layout": "RightMainVerticalStack"
        }
      ]
    }
  ]
}

Hotkey Configuration

SingleInstance Force

Komorebic(cmd) { RunWait(format("komorebic.exe {}", cmd), , "Hide") }

; Keybindoings for komorebic tiling window manager

q::Komorebic("close")

m::Komorebic("minimize")

; Focus windows

Left::Komorebic("focus left")

Down::Komorebic("focus down")

Up::Komorebic("focus up")

Right::Komorebic("focus right")

+[::Komorebic("cycle-focus previous")

+]::Komorebic("cycle-focus next")

; Move windows

+Left::Komorebic("move left")

+Down::Komorebic("move down")

+Up::Komorebic("move up")

+Right::Komorebic("move right")

; Stack windows !#Left::Komorebic("stack left") !#Down::Komorebic("stack down") !#Up::Komorebic("stack up") !#Right::Komorebic("stack right")

Home::Komorebic("unstack")

PgUp::Komorebic("cycle-stack previous")

PgDn::Komorebic("cycle-stack next")

; Resize

=::Komorebic("resize-axis horizontal increase")

-::Komorebic("resize-axis horizontal decrease")

+=::Komorebic("resize-axis vertical increase")

+_::Komorebic("resize-axis vertical decrease")

; Manipulate windows

t::Komorebic("toggle-float")

f::Komorebic("toggle-monocle")

; Window manager options

+r::Komorebic("retile")

p::Komorebic("toggle-pause")

; Layouts

x::Komorebic("flip-layout horizontal")

y::Komorebic("flip-layout vertical")

; Workspaces

1::Komorebic("focus-workspace 0")

2::Komorebic("focus-workspace 1")

3::Komorebic("focus-workspace 2")

4::Komorebic("focus-workspace 3")

5::Komorebic("focus-workspace 4")

6::Komorebic("focus-workspace 5")

7::Komorebic("focus-workspace 6")

8::Komorebic("focus-workspace 7")

; Move windows across workspaces

+1::Komorebic("move-to-workspace 0")

+2::Komorebic("move-to-workspace 1")

+3::Komorebic("move-to-workspace 2")

+4::Komorebic("move-to-workspace 3")

+5::Komorebic("move-to-workspace 4")

+6::Komorebic("move-to-workspace 5")

+7::Komorebic("move-to-workspace 6")

+8::Komorebic("move-to-workspace 7")

; Move windows across monitors !#1::Komorebic("move-to-monitor 0") !#2::Komorebic("move-to-monitor 1") !#3::Komorebic("move-to-monitor 2")

Output of komorebic check

KOMOREBI_CONFIG_HOME detected: C:\VMshare\OneDrive - Guard Automation AS\Util\Komorebi Looking for configuration files in C:\VMshare\OneDrive - Guard Automation AS\Util\Komorebi Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\stian.foss.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag