Skip to content

[BUG]: Floating window being resized #1614

@bilogic

Description

@bilogic

Summary

Problem: When komorebi starts, it resizes and moves one of my floating app, it should not

  1. What I want is for my app to be desktop bound and fixed at the location I moved it to (it remembers its last location)
  2. I checked up the difference between floating and ignored windows
  3. Thinking through, floating should allow only min/max, restore and desktop bound (no resizing by komorebi)

Side notes

  1. If that is the case, better names of the JSON keys could be xxx_rules and xxx_and_yyy_rules
  2. xxx = untiled, and yyy = always_show
  3. Even this is not perfect, what if a user wanted a window that is not desktop bound (ignored) but still want to min/max it?

Version Information

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

komorebic 0.1.38
tag:v0.1.38
commit_hash:ffa76ea2
build_time:2025-09-13 18:40:25 +00:00
build_env:rustc 1.89.0 (29483883e 2025-08-04),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.37/schema.json",
  "app_specific_configuration_path": "$Env:USERPROFILE/applications.json",
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 10,
  "default_container_padding": 10,
  "border": true,
  "border_width": 8,
  "border_offset": -1,
  "animation": {
    "enabled": true,
    "duration": 200,
    "fps": 120,
    "style": {
      "movement": "EaseInOutCubic",
      "transparency": "Linear"
    }
  },
  "theme": {
    "palette": "Base16",
    "name": "Ashes",
    "unfocused_border": "Base03",
    "bar_accent": "Base0D"
  },
  "floating_applications": [
    {
      "kind": "Title",
      "id": "Telegram Web",
      "matching_strategy": "StartsWith"
    },
    {
      "kind": "Title",
      "id": "Telegram Web",
      "matching_strategy": "StartsWith"
    },
    {
      "kind": "Title",
      "id": "WhatsApp Web",
      "matching_strategy": "StartsWith"
    },
    {
      "kind": "Title",
      "id": "WhatsApp",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "WhatsApp",
      "matching_strategy": "StartsWith"
    }
  ],
  "monitors": [
    {
      "workspaces": [
        {
          "name": "Dev",
          "layout": "RightMainVerticalStack"
        },
        {
          "name": "Zoom",
          "layout": "RightMainVerticalStack",
          "initial_workspace_rules": [
            {
              "kind": "Exe",
              "id": "jitsi-meet.exe",
              "matching_strategy": "Equals"
            }
          ]
        },
        {
          "name": "Chat",
          "layout": "UltrawideVerticalStack",
          "initial_workspace_rules": []
        },
        {
          "name": "Half",
          "layout": "Grid",
          "initial_workspace_rules": []
        }
      ]
    }
  ]
}

Hotkey Configuration

.shell powershell

# Reload whkd configuration
# alt + o                 : taskkill /f /im whkd.exe && start /b whkd # if shell is cmd
alt + o                 : taskkill /f /im whkd.exe; Start-Process whkd -WindowStyle hidden # if shell is pwsh / powershell
alt + shift + o         : komorebic reload-configuration

alt + shift + i         : komorebic toggle-shortcuts

# App shortcuts - these require shell to be pwsh / powershell
# The apps will be focused if open, or launched if not open
# alt + f                 : if ($wshell.AppActivate('Firefox') -eq $False) { start firefox }
# alt + b                 : if ($wshell.AppActivate('Chrome') -eq $False) { start chrome }

alt + q                 : komorebic close
alt + m                 : komorebic minimize

# Focus windows
alt + h                 : komorebic focus left
alt + j                 : komorebic focus down
alt + k                 : komorebic focus up
alt + l                 : komorebic focus right
alt + shift + oem_4     : komorebic cycle-focus previous # oem_4 is [
alt + shift + oem_6     : komorebic cycle-focus next # oem_6 is ]

alt + shift + oem_4     : komorebic cycle-focus previous # oem_4 is [
alt + shift + oem_6     : komorebic cycle-focus next # oem_6 is ]
win + ctrl + next     : komorebic cycle-focus previous # oem_4 is [
win + ctrl + prior     : komorebic cycle-focus next # oem_6 is ]
win + ctrl + tab        : komorebic cycle-focus next

# Move windows
alt + shift + h             : komorebic move left
alt + shift + j             : komorebic move down
alt + shift + k             : komorebic move up
alt + shift + l             : komorebic move right
alt + shift + return        : komorebic promote
win + ctrl + return         : komorebic promote
win + ctrl + shift + next  : komorebic cycle-focus previous; komorebic promote;
win + ctrl + shift + prior  : komorebic cycle-focus next; komorebic promote;

# Stack windows
# alt + left              : komorebic stack left
# alt + down              : komorebic stack down
# alt + up                : komorebic stack up
# alt + right             : komorebic stack right
alt + oem_1             : komorebic unstack # oem_1 is ;
alt + oem_4             : komorebic cycle-stack previous # oem_4 is [
alt + oem_6             : komorebic cycle-stack next # oem_6 is ]

# Resize
alt + oem_plus          : komorebic resize-axis horizontal increase
alt + oem_minus         : komorebic resize-axis horizontal decrease
# alt + shift + oem_plus  : komorebic resize-axis vertical increase
# alt + shift + oem_minus : komorebic resize-axis vertical decrease
win + ctrl + oem_plus  : komorebic resize-axis vertical increase
win + ctrl + oem_minus : komorebic resize-axis vertical decrease


# Manipulate windows
alt + t                     : komorebic toggle-float
alt + shift + f             : komorebic toggle-monocle
win + ctrl + shift + return : komorebic toggle-monocle

# Window manager options
alt + shift + r         : komorebic retile
alt + p                 : komorebic toggle-pause

# Layouts
alt + x                 : komorebic flip-layout horizontal
alt + y                 : komorebic flip-layout vertical

# Workspaces
alt + 1                 : komorebic focus-workspace 0
alt + 2                 : komorebic focus-workspace 1
alt + 3                 : komorebic focus-workspace 2
alt + 4                 : komorebic focus-workspace 3
# alt + 5                 : komorebic focus-workspace 4
# alt + 6                 : komorebic focus-workspace 5
# alt + 7                 : komorebic focus-workspace 6
# alt + 8                 : komorebic focus-workspace 7

win + ctrl + left       : komorebic cycle-workspace previous
win + ctrl + right      : komorebic cycle-workspace next


# Move windows across workspaces
alt + shift + 1         : komorebic move-to-workspace 0
alt + shift + 2         : komorebic move-to-workspace 1
alt + shift + 3         : komorebic move-to-workspace 2
alt + shift + 4         : komorebic move-to-workspace 3
# alt + shift + 5         : komorebic move-to-workspace 4
# alt + shift + 6         : komorebic move-to-workspace 5
# alt + shift + 7         : komorebic move-to-workspace 6
# alt + shift + 8         : komorebic move-to-workspace 7


win + ctrl + alt + left        : komorebic cycle-move-to-workspace previous
win + ctrl + alt + right       : komorebic cycle-move-to-workspace next

Output of komorebic check

No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\user

Looking for configuration files in C:\Users\user

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

Found C:\Users\user\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions