[BUG]: Alt+tabbing on fullscreen windows while they are on different workspaces is broken. #686

Closed
opened 2026-01-05 14:52:23 +01:00 by adam · 3 comments
Owner

Originally created by @beingshafin on GitHub (Oct 6, 2025).

Summary

[BUG]: Alt+tabbing on fullscreen/f11 windows while they are on different workspaces brings the fullscreen window on the tiled windows workspace.

Reproduce-

  • Open any browser/application
  • Full screen it using any native fullscreen method(eg: yt fullscreen) or just f11 (lets say its chrome)
  • Alt + Tab and switch to a window thats on different workspace (lets say its notepad)
  • Alt + Tab and go to full screen window again
  • Alt + Tab and switch to that app again (notepad)
  • you can see that fullscreen window is behind the current app (notepad)
  • now alt + tab and go to chrome again.
  • unfullscreen it
  • you can see its on the workspace of notepad, not in its original workspace. (you can move it around like a floating window) (Video Here)
  • press alt + 1 (or the workspace number of chrome)
  • now its tiled properly again

Version Information

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.38/schema.json",
  "app_specific_configuration_path": "$Env:USERPROFILE/applications.json",
  "window_hiding_behaviour": "Cloak",
  "window_handling_behaviour": "Sync",
  "cross_monitor_move_behaviour": "Insert",
  "window_container_behaviour": "Create",
  "float_override": false,
  "default_workspace_padding": 0,
  "default_container_padding": 4,
  "global_work_area_offset": {
    "top": 3,
    "left": 3,
    "bottom": 6,
    "right": 6
  },
  "border": true,
  "border_implementation": "Windows",
  "border_style": "System",
  "border_width": 0,
  "border_offset": -1,
  "border_colours": {
    "single": "#859bc8",
    "stack": "#9d7cbd",
    "floating": "#f38baf",
    "monocle": "#f38ba8",
    "unfocused": "#303030",
    "unfocused_locked": "#303030"
  },

  "mouse_follows_focus": false,
  "focus_follows_mouse": "Komorebi",
  "transparency": false,
  "transparency_alpha": 200,
  "transparency_ignore_rules": [
    {
      "kind": "Title",
      "id": "YouTube",
      "matching_strategy": "Contains"
    }
  ],

  "animation": {
    "enabled": false,
    "duration": 400,
    "fps": 100,
    "style": {
      "movement": "EaseOutBack",
      "transparency": "EaseInSine"
    }
  },

  "stackbar": {
    "height": 28,
    "mode": "OnStack",
    "label": "Process",
    "tabs": {
      "width": 150,
      "font_family": "JetBrainsMono NFP",
      "font_size": 14,
      "background": "#1a1e23",
      "focused_text": "#ffffff",
      "unfocused_text": "#8b8b8b"
    }
  },

  "unmanaged_window_operation_behaviour": "Op",
  "remove_titlebar_applications": [
    {
      "kind": "Exe",
      "id": "xxxchrome.exe",
      "matching_strategy": "Equals"
    }
  ],
  "floating_applications": [
    {
      "kind": "Exe",
      "id": "Microsoft.Photos.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "ApplicationFrameHost.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "VALORANT-Win64-Shipping.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "Valorant.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "Cold Turkey Blocker.exe",
      "matching_strategy": "Equals"
    },

    {
      "kind": "Title",
      "id": "Install Theme",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Title",
      "id": "Extensions",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Title",
      "id": "Add New Task",
      "matching_strategy": "Equals"
    }
  ],

  "ignore_rules": [
    {
      "kind": "Exe",
      "id": "xxxTickTick.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "ChatGPT.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "SteelSeriesGGClient.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "GoogleDriveFS.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "FastKeys.exe",
      "matching_strategy": "Equals"
    },
    {
      "kind": "Exe",
      "id": "Notepad.exe",
      "matching_strategy": "Equals"
    }
  ],

  "monitors": [
    {
      "workspaces": [
        {
          "name": "N",
          "layout": "BSP",
          "window_container_behaviour": "Append",
          "initial_workspace_rules": [
            {
              "kind": "Exe",
              "id": "Obsidian.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "TickTick.exe",
              "matching_strategy": "Equals"
            }
          ]
        },
        {
          "name": "1",
          "layout": "BSP"
        },
        {
          "name": "2",
          "layout": "BSP"
        },
        {
          "name": "3",
          "layout": "Scrolling"
        },
        {
          "name": "4",
          "layout": "BSP",
          "float_override": true
        },
        {
          "name": "G",
          "layout": "BSP",
          "workspace_rules": [
            {
              "kind": "Exe",
              "id": "AimLab_tb.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "Valorant.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "Riot Client.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "VALORANT-Win64-Shipping.exe",
              "matching_strategy": "Equals"
            }
          ]
        },
        {
          "name": "C",
          "layout": "BSP",
          "window_container_behaviour": "Append",
          "initial_workspace_rules": [
            {
              "kind": "Exe",
              "id": "Beeper.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "Youtube Music.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "Telegram.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Title",
              "id": "WhatsApp",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Title",
              "id": "Instagram",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Title",
              "id": "YouTube Music",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Exe",
              "id": "Discord.exe",
              "matching_strategy": "Equals"
            },
            {
              "kind": "Title",
              "id": "Spotify",
              "matching_strategy": "Equals"
            }
          ]
        }
      ]
    }
  ]
}

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 + r         : komorebic reload-configuration

alt + o                  : komorebic toggle-shortcuts
#alt + f                  : komorebic toggle-maximize

# 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

#stackbar
alt + b                 : komorebic stackbar-mode never
alt + shift + b         : komorebic stackbar-mode on-stack
alt + ctrl + b          : komorebic stackbar-mode always


# Focus windows
alt + h                 : komorebic focus left
alt + j                 : komorebic focus down
alt + k                 : komorebic focus up
alt + l                 : komorebic focus right


# 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

# Stack windows
alt + ctrl + h          : komorebic stack left
alt + ctrl + j          : komorebic stack down
alt + ctrl + k          : komorebic stack up
alt + ctrl + shift + j  : komorebic stack right
alt + ctrl + l          : komorebic stack right


#alt + oem_1            : komorebic unstack # oem_1 is ;
#alt + oem_4            : komorebic cycle-stack previous # oem_4 is [


# Manipulate windows
# Layouts
alt + w                 : komorebic stack-all #allstack
alt + e                 : komorebic unstack-all #allunstack

alt + r                 : komorebic flip-layout horizontal #position
alt + u                 : komorebic flip-layout vertical #position

alt + q                 : komorebic unstack # oem_1 is ;

alt + ctrl + t          : komorebic toggle-transparency

alt + f                 : komorebic toggle-float #yacht #float state of focused window

alt + shift + f         : komorebic toggle-float-override #state -- new windows -- all workspace
alt + shift + w         : komorebic toggle-window-container-behaviour #stack -- new windows -- all workspace
#this is basically stack override
alt + ctrl + w          : komorebic toggle-workspace-window-container-behaviour #stack -- new windows -- current w.
#this is basically stack override
alt + ctrl + f          : komorebic toggle-tiling #state -- all windows -- current workspace
alt + ctrl + x          : komorebic toggle-lock
#alt + ctrl + w          : komorebic retile
#alt + ctrl + w          : komorebic enforce-workspace-rules
#alt + ctrl + q          : komorebic enforce-workspace-rules

alt + z                 : komorebic cycle-stack previous #windows       
alt + x                 : komorebic cycle-stack next #windows       
alt + shift + z         : komorebic cycle-stack-index previous #windows       
alt + shift + x         : komorebic cycle-stack-index next #windows       
alt + ctrl + v          : komorebic cycle-layout next
alt + v                 : komorebic cycle-focus next #viewww #windows         
alt + i                 : komorebic unmanage
alt + m                 : komorebic manage
#alt + b                : komorebic cycle-stack next #stacks       
#alt + shift + v        : komorebic cycle-layout previous
#alt + shift + b        : komorebic cycle-stack previous #stacks     
#alt + shift + c        : komorebic cycle-focus previous #windows       
#alt + shift + c        : komorebic cycle-focus previous windows 
#alt + y                : komorebic toggle-monocle


# Window manager options

alt + shift + p         : komorebic toggle-pause



# Workspaces
alt + ctrl + z          : komorebic focus-last-workspace

alt + a                 : komorebic cycle-workspace previous
alt + s                 : komorebic cycle-workspace next

alt + oem_3             : komorebic focus-workspace 0
alt + 1                 : komorebic focus-workspace 1
alt + 2                 : komorebic focus-workspace 2
alt + 3                 : komorebic focus-workspace 3
alt + 4                 : komorebic focus-workspace 4
alt + 5                 : komorebic focus-workspace 5
alt + c                 : komorebic focus-workspace 6

# Move windows across workspaces
alt + ctrl + shift + z         : komorebic move-to-last-workspace

alt + shift + a         : komorebic cycle-move-to-workspace previous
alt + shift + s         : komorebic cycle-move-to-workspace next

alt + shift + oem_3     : komorebic move-to-workspace 0
alt + shift + 1         : komorebic move-to-workspace 1
alt + shift + 2         : komorebic move-to-workspace 2
alt + shift + 3         : komorebic move-to-workspace 3
alt + shift + 4         : komorebic move-to-workspace 4
alt + shift + 5         : komorebic move-to-workspace 5
alt + shift + c         : komorebic move-to-workspace 6

# New Workspace

alt + shift + oem_plus  : komorebic new-workspace # oem_6 is ]
alt + shift + oem_minus : komorebic close-workspace # oem_4 is [


# Resize
alt + oem_6             : komorebic resize-axis horizontal increase #]
alt + oem_4             : komorebic resize-axis horizontal decrease #[
alt + shift + oem_6     : komorebic resize-axis vertical increase
alt + shift + oem_4     : komorebic resize-axis vertical decrease



# Cycle focus to the previous window
#alt + shift + c : komorebic cycle-focus previous.shell powershell

Output of komorebic check

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

Looking for configuration files in C:\Users\joy11

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


"focus_follows_mouse" is now end-of-life

End-of-life features will not receive any further bug fixes or updates; they should not be used

Found C:\Users\joy11\.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 @beingshafin on GitHub (Oct 6, 2025). ### Summary [BUG]: Alt+tabbing on fullscreen/f11 windows while they are on different workspaces brings the fullscreen window on the tiled windows workspace. Reproduce- - Open any browser/application - Full screen it using any native fullscreen method(eg: yt fullscreen) or just f11 (lets say its chrome) - Alt + Tab and switch to a window thats on different workspace (lets say its notepad) - Alt + Tab and go to full screen window again - Alt + Tab and switch to that app again (notepad) - you can see that fullscreen window is behind the current app (notepad) - now alt + tab and go to chrome again. - unfullscreen it - you can see its on the workspace of notepad, not in its original workspace. (you can move it around like a floating window) [(Video Here)](https://streamable.com/naoiee) - press alt + 1 (or the workspace number of chrome) - now its tiled properly again ### Version Information ``` 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 ```json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.38/schema.json", "app_specific_configuration_path": "$Env:USERPROFILE/applications.json", "window_hiding_behaviour": "Cloak", "window_handling_behaviour": "Sync", "cross_monitor_move_behaviour": "Insert", "window_container_behaviour": "Create", "float_override": false, "default_workspace_padding": 0, "default_container_padding": 4, "global_work_area_offset": { "top": 3, "left": 3, "bottom": 6, "right": 6 }, "border": true, "border_implementation": "Windows", "border_style": "System", "border_width": 0, "border_offset": -1, "border_colours": { "single": "#859bc8", "stack": "#9d7cbd", "floating": "#f38baf", "monocle": "#f38ba8", "unfocused": "#303030", "unfocused_locked": "#303030" }, "mouse_follows_focus": false, "focus_follows_mouse": "Komorebi", "transparency": false, "transparency_alpha": 200, "transparency_ignore_rules": [ { "kind": "Title", "id": "YouTube", "matching_strategy": "Contains" } ], "animation": { "enabled": false, "duration": 400, "fps": 100, "style": { "movement": "EaseOutBack", "transparency": "EaseInSine" } }, "stackbar": { "height": 28, "mode": "OnStack", "label": "Process", "tabs": { "width": 150, "font_family": "JetBrainsMono NFP", "font_size": 14, "background": "#1a1e23", "focused_text": "#ffffff", "unfocused_text": "#8b8b8b" } }, "unmanaged_window_operation_behaviour": "Op", "remove_titlebar_applications": [ { "kind": "Exe", "id": "xxxchrome.exe", "matching_strategy": "Equals" } ], "floating_applications": [ { "kind": "Exe", "id": "Microsoft.Photos.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "ApplicationFrameHost.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "VALORANT-Win64-Shipping.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Valorant.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Cold Turkey Blocker.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Install Theme", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Extensions", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Add New Task", "matching_strategy": "Equals" } ], "ignore_rules": [ { "kind": "Exe", "id": "xxxTickTick.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "ChatGPT.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "SteelSeriesGGClient.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "GoogleDriveFS.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "FastKeys.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Notepad.exe", "matching_strategy": "Equals" } ], "monitors": [ { "workspaces": [ { "name": "N", "layout": "BSP", "window_container_behaviour": "Append", "initial_workspace_rules": [ { "kind": "Exe", "id": "Obsidian.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "TickTick.exe", "matching_strategy": "Equals" } ] }, { "name": "1", "layout": "BSP" }, { "name": "2", "layout": "BSP" }, { "name": "3", "layout": "Scrolling" }, { "name": "4", "layout": "BSP", "float_override": true }, { "name": "G", "layout": "BSP", "workspace_rules": [ { "kind": "Exe", "id": "AimLab_tb.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Valorant.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Riot Client.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "VALORANT-Win64-Shipping.exe", "matching_strategy": "Equals" } ] }, { "name": "C", "layout": "BSP", "window_container_behaviour": "Append", "initial_workspace_rules": [ { "kind": "Exe", "id": "Beeper.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Youtube Music.exe", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Telegram.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": "WhatsApp", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Instagram", "matching_strategy": "Equals" }, { "kind": "Title", "id": "YouTube Music", "matching_strategy": "Equals" }, { "kind": "Exe", "id": "Discord.exe", "matching_strategy": "Equals" }, { "kind": "Title", "id": "Spotify", "matching_strategy": "Equals" } ] } ] } ] } ``` ### 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 + r : komorebic reload-configuration alt + o : komorebic toggle-shortcuts #alt + f : komorebic toggle-maximize # 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 #stackbar alt + b : komorebic stackbar-mode never alt + shift + b : komorebic stackbar-mode on-stack alt + ctrl + b : komorebic stackbar-mode always # Focus windows alt + h : komorebic focus left alt + j : komorebic focus down alt + k : komorebic focus up alt + l : komorebic focus right # 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 # Stack windows alt + ctrl + h : komorebic stack left alt + ctrl + j : komorebic stack down alt + ctrl + k : komorebic stack up alt + ctrl + shift + j : komorebic stack right alt + ctrl + l : komorebic stack right #alt + oem_1 : komorebic unstack # oem_1 is ; #alt + oem_4 : komorebic cycle-stack previous # oem_4 is [ # Manipulate windows # Layouts alt + w : komorebic stack-all #allstack alt + e : komorebic unstack-all #allunstack alt + r : komorebic flip-layout horizontal #position alt + u : komorebic flip-layout vertical #position alt + q : komorebic unstack # oem_1 is ; alt + ctrl + t : komorebic toggle-transparency alt + f : komorebic toggle-float #yacht #float state of focused window alt + shift + f : komorebic toggle-float-override #state -- new windows -- all workspace alt + shift + w : komorebic toggle-window-container-behaviour #stack -- new windows -- all workspace #this is basically stack override alt + ctrl + w : komorebic toggle-workspace-window-container-behaviour #stack -- new windows -- current w. #this is basically stack override alt + ctrl + f : komorebic toggle-tiling #state -- all windows -- current workspace alt + ctrl + x : komorebic toggle-lock #alt + ctrl + w : komorebic retile #alt + ctrl + w : komorebic enforce-workspace-rules #alt + ctrl + q : komorebic enforce-workspace-rules alt + z : komorebic cycle-stack previous #windows alt + x : komorebic cycle-stack next #windows alt + shift + z : komorebic cycle-stack-index previous #windows alt + shift + x : komorebic cycle-stack-index next #windows alt + ctrl + v : komorebic cycle-layout next alt + v : komorebic cycle-focus next #viewww #windows alt + i : komorebic unmanage alt + m : komorebic manage #alt + b : komorebic cycle-stack next #stacks #alt + shift + v : komorebic cycle-layout previous #alt + shift + b : komorebic cycle-stack previous #stacks #alt + shift + c : komorebic cycle-focus previous #windows #alt + shift + c : komorebic cycle-focus previous windows #alt + y : komorebic toggle-monocle # Window manager options alt + shift + p : komorebic toggle-pause # Workspaces alt + ctrl + z : komorebic focus-last-workspace alt + a : komorebic cycle-workspace previous alt + s : komorebic cycle-workspace next alt + oem_3 : komorebic focus-workspace 0 alt + 1 : komorebic focus-workspace 1 alt + 2 : komorebic focus-workspace 2 alt + 3 : komorebic focus-workspace 3 alt + 4 : komorebic focus-workspace 4 alt + 5 : komorebic focus-workspace 5 alt + c : komorebic focus-workspace 6 # Move windows across workspaces alt + ctrl + shift + z : komorebic move-to-last-workspace alt + shift + a : komorebic cycle-move-to-workspace previous alt + shift + s : komorebic cycle-move-to-workspace next alt + shift + oem_3 : komorebic move-to-workspace 0 alt + shift + 1 : komorebic move-to-workspace 1 alt + shift + 2 : komorebic move-to-workspace 2 alt + shift + 3 : komorebic move-to-workspace 3 alt + shift + 4 : komorebic move-to-workspace 4 alt + shift + 5 : komorebic move-to-workspace 5 alt + shift + c : komorebic move-to-workspace 6 # New Workspace alt + shift + oem_plus : komorebic new-workspace # oem_6 is ] alt + shift + oem_minus : komorebic close-workspace # oem_4 is [ # Resize alt + oem_6 : komorebic resize-axis horizontal increase #] alt + oem_4 : komorebic resize-axis horizontal decrease #[ alt + shift + oem_6 : komorebic resize-axis vertical increase alt + shift + oem_4 : komorebic resize-axis vertical decrease # Cycle focus to the previous window #alt + shift + c : komorebic cycle-focus previous.shell powershell ``` ### Output of komorebic check ``` No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\joy11 Looking for configuration files in C:\Users\joy11 Found komorebi.json; this file can be passed to the start command with the --config flag "focus_follows_mouse" is now end-of-life End-of-life features will not receive any further bug fixes or updates; they should not be used Found C:\Users\joy11\.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:52:23 +01:00
adam closed this issue 2026-01-05 14:52:23 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Oct 6, 2025):

Probably not something I'll work on, if anyone is interested in working on this feel free to submit a PR

@LGUG2Z commented on GitHub (Oct 6, 2025): Probably not something I'll work on, if anyone is interested in working on this feel free to submit a PR
Author
Owner

@LGUG2Z commented on GitHub (Oct 6, 2025):

Actually, this is ultimately similar to #1577 - komorebi only supports fullscreened windows toggled via the komorebic toggle-maximize command because Windows does not emit events for fullscreened windows; there is nothing to be done here

@LGUG2Z commented on GitHub (Oct 6, 2025): Actually, this is ultimately similar to #1577 - komorebi only supports fullscreened windows toggled via the `komorebic toggle-maximize` command because Windows does not emit events for fullscreened windows; there is nothing to be done here
Author
Owner

@beingshafin commented on GitHub (Oct 7, 2025):

Actually, this is ultimately similar to #1577 - komorebi only supports fullscreened windows toggled via the komorebic toggle-maximize command because Windows does not emit events for fullscreened windows; there is nothing to be done here

There is nothing to be done here on workspace switches because Windows does not emit an event when apps are fullscreened - the only way for komorebi to track full screen apps in the state is by running komorebic toggle-maximize - anything else will result in undefined behavior on actions like workspace switching

We could try to solve this without relying on windows fullscreen events.(As glazewm does this quite well) Here are some suggestions,

  • if the fullscreen window is on the same workspace as other windows and you switch to one of the window with alt+tab it tiles it temporarily,
    but if you alt+tab again on the fullscreen window, it is full-screened like it should be.

  • we can try to mimic this behaviour for workspace change as well, if i had to guess changing workspace trigger something in komorebi which is causing this issue. Maybe tricking the system to think it all are in same workspace but hiding other windows with a different method? Obviously you know better than me, just trying to give you some ideas if it helps

  • for workspace focus keybindings we can try to do something similar like that, instead of focusing on workspaces. Remember the focused window for each workspace and switch to that window instead with a method similar to alt+tab.. that might also fix the issue of #1577

@beingshafin commented on GitHub (Oct 7, 2025): > Actually, this is ultimately similar to [#1577](https://github.com/LGUG2Z/komorebi/issues/1577) - komorebi only supports fullscreened windows toggled via the `komorebic toggle-maximize` command because Windows does not emit events for fullscreened windows; there is nothing to be done here > There is nothing to be done here on workspace switches because Windows does not emit an event when apps are fullscreened - the only way for komorebi to track full screen apps in the state is by running `komorebic toggle-maximize` - anything else will result in undefined behavior on actions like workspace switching We could try to solve this without relying on windows fullscreen events.(As glazewm does this quite well) Here are some suggestions, - if the fullscreen window is on the same workspace as other windows and you switch to one of the window with alt+tab it tiles it temporarily, but if you alt+tab again on the fullscreen window, it is full-screened like it should be. - we can try to mimic this behaviour for workspace change as well, if i had to guess changing workspace trigger something in komorebi which is causing this issue. Maybe tricking the system to think it all are in same workspace but hiding other windows with a different method? Obviously you know better than me, just trying to give you some ideas if it helps - for workspace focus keybindings we can try to do something similar like that, instead of focusing on workspaces. Remember the focused window for each workspace and switch to that window instead with a method similar to alt+tab.. that might also fix the issue of #1577
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#686