[BUG]: maximized window becomes un-maximized after focus is lost and restored #532

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

Originally created by @mark-edgington on GitHub (Nov 27, 2024).

Summary

On a display with multiple windows (e.g. in horizontal tiling mode), it is possible to maximize one of the windows, so it fills the screen. If focus is lost (either by switching to a window on a different monitor, or because an application pops up a dialog window), then when the maximized window is focused again, it becomes un-maximized.

The desired behavior would be that if it was maximized, then it should be required to manually un-maximize it.

Version Information

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

komorebic 0.1.30
tag:v0.1.30
commit_hash:9a3dbccc
build_time:2024-11-03 23:49:52 +00:00
build_env:rustc 1.82.0 (f6e511eec 2024-10-15),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.28/schema.json",
  "app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml",
  "window_hiding_behaviour": "Cloak",
  "cross_monitor_move_behaviour": "Insert",
  "default_workspace_padding": 5,
  "default_container_padding": 5,
  "border": true,
  "border_implementation": "Windows",
  "border_width": 3,
  "border_offset": -1,
  "border_colours": {
    "single": "#42a5f5",
    "stack": "#00a542",
    "monocle": "#42a5f5",
    "unfocused": "#808080"
  },
  "stackbar": {
    "height": 40,
    "mode": "OnStack",
    "tabs": {
      "width": 300,
      "focused_text": "#00a542",
      "unfocused_text": "#b3b3b3",
      "background": "#141414"
    }
  },
  "animation": {
    "enabled": false,
    "duration": 100,
    "style": "Linear",
    "fps": 60
  },
  "monitors": [
    {
      "workspaces": [
        {
          "name": "1",
          "layout": "Grid"
        },
        {
          "name": "2",
          "layout": "VerticalStack"
        },
        {
          "name": "3",
          "layout": "HorizontalStack"
        },
        {
          "name": "4",
          "layout": "UltrawideVerticalStack"
        },
        {
          "name": "5",
          "layout": "Rows"
        },
        {
          "name": "6",
          "layout": "BSP"
        },
        {
          "name": "7",
          "layout": "Grid"
        }
      ]
    },
    {
      "window_based_work_area_offset": {
        "left": 600,
        "top": 0,
        "right": 650,
        "bottom": 0
      },
      "workspaces": [
        {
          "name": "1",
          "layout": "Grid"
        },
        {
          "name": "2",
          "layout": "Grid"
        },
        {
          "name": "3",
          "layout": "Grid"
        },
        {
          "name": "4",
          "layout": "Grid"
        },
        {
          "name": "5",
          "layout": "Grid"
        },
        {
          "name": "6",
          "layout": "Grid"
        },
        {
          "name": "7",
          "layout": "Grid"
        }
      ]
    },
    {
      "window_based_work_area_offset": {
        "left": 0,
        "top": 900,
        "right": 0,
        "bottom": 900
      },
      "workspaces": [
        {
          "name": "1",
          "layout": "Grid"
        },
        {
          "name": "2",
          "layout": "VerticalStack"
        },
        {
          "name": "3",
          "layout": "HorizontalStack"
        },
        {
          "name": "4",
          "layout": "UltrawideVerticalStack"
        },
        {
          "name": "5",
          "layout": "Rows"
        },
        {
          "name": "6",
          "layout": "BSP"
        },
        {
          "name": "7",
          "layout": "Grid"
        }
      ]
    }
  ],
  "mouse_follows_focus": false
}

Hotkey Configuration

Not relevant.

Output of komorebic check

Your configuration file contains some options that have been renamed or deprecated:

"applications.yaml" is now "applications.json"
No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard

Originally created by @mark-edgington on GitHub (Nov 27, 2024). ### Summary On a display with multiple windows (e.g. in horizontal tiling mode), it is possible to maximize one of the windows, so it fills the screen. If focus is lost (either by switching to a window on a different monitor, or because an application pops up a dialog window), then when the maximized window is focused again, it becomes un-maximized. The desired behavior would be that if it was maximized, then it should be required to manually un-maximize it. ### Version Information OS Name: Microsoft Windows 11 Enterprise OS Version: 10.0.22631 N/A Build 22631 komorebic 0.1.30 tag:v0.1.30 commit_hash:9a3dbccc build_time:2024-11-03 23:49:52 +00:00 build_env:rustc 1.82.0 (f6e511eec 2024-10-15),stable-x86_64-pc-windows-msvc ### Komorebi Configuration ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.28/schema.json", "app_specific_configuration_path": "$Env:USERPROFILE/applications.yaml", "window_hiding_behaviour": "Cloak", "cross_monitor_move_behaviour": "Insert", "default_workspace_padding": 5, "default_container_padding": 5, "border": true, "border_implementation": "Windows", "border_width": 3, "border_offset": -1, "border_colours": { "single": "#42a5f5", "stack": "#00a542", "monocle": "#42a5f5", "unfocused": "#808080" }, "stackbar": { "height": 40, "mode": "OnStack", "tabs": { "width": 300, "focused_text": "#00a542", "unfocused_text": "#b3b3b3", "background": "#141414" } }, "animation": { "enabled": false, "duration": 100, "style": "Linear", "fps": 60 }, "monitors": [ { "workspaces": [ { "name": "1", "layout": "Grid" }, { "name": "2", "layout": "VerticalStack" }, { "name": "3", "layout": "HorizontalStack" }, { "name": "4", "layout": "UltrawideVerticalStack" }, { "name": "5", "layout": "Rows" }, { "name": "6", "layout": "BSP" }, { "name": "7", "layout": "Grid" } ] }, { "window_based_work_area_offset": { "left": 600, "top": 0, "right": 650, "bottom": 0 }, "workspaces": [ { "name": "1", "layout": "Grid" }, { "name": "2", "layout": "Grid" }, { "name": "3", "layout": "Grid" }, { "name": "4", "layout": "Grid" }, { "name": "5", "layout": "Grid" }, { "name": "6", "layout": "Grid" }, { "name": "7", "layout": "Grid" } ] }, { "window_based_work_area_offset": { "left": 0, "top": 900, "right": 0, "bottom": 900 }, "workspaces": [ { "name": "1", "layout": "Grid" }, { "name": "2", "layout": "VerticalStack" }, { "name": "3", "layout": "HorizontalStack" }, { "name": "4", "layout": "UltrawideVerticalStack" }, { "name": "5", "layout": "Rows" }, { "name": "6", "layout": "BSP" }, { "name": "7", "layout": "Grid" } ] } ], "mouse_follows_focus": false } ``` ### Hotkey Configuration Not relevant. ### Output of komorebic check Your configuration file contains some options that have been renamed or deprecated: "applications.yaml" is now "applications.json" No ~/.config/whkdrc found; you may not be able to control komorebi with your keyboard
adam added the bug label 2026-01-05 14:51:21 +01:00
adam closed this issue 2026-01-05 14:51:21 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Nov 27, 2024):

The only maximization strategy supported by komorebi is triggering via the "komorebic toggle-maximize" command; is this what you used?

Clicking the maximize button cannot be tracked in the window manager state, and it sounds like what is happening here.

@LGUG2Z commented on GitHub (Nov 27, 2024): The only maximization strategy supported by komorebi is triggering via the "komorebic toggle-maximize" command; is this what you used? Clicking the maximize button cannot be tracked in the window manager state, and it sounds like what is happening here.
Author
Owner

@mark-edgington commented on GitHub (Nov 27, 2024):

Indeed that seems to be the problem - thanks for pointing that out. Too bad there isn't a way to periodically poll to detect maximized windows.

@mark-edgington commented on GitHub (Nov 27, 2024): Indeed that seems to be the problem - thanks for pointing that out. Too bad there isn't a way to periodically poll to detect maximized windows.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#532