[BUG]: Komorebi Bar active workspace stops updating after a while #484

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

Originally created by @xidsyed on GitHub (Oct 9, 2024).

Describe the bug

  • After using Komorbei with the Komorebi bar for some time the Komorebi Bar will stop updating the current active workspace.
  • This doesn't seem to have any apparent trigger nor is there any error posted by Komarabi Bar to the console.
  • The only solution that I have found is to stop and start the komarabi bar all over again. I have a hot-key alt+shift+b that i use to acheive this.
  • Currently i have to do this approx 5-6 times a day :(
  • I have recorded a video after launching the bar from the console and waiting for it to freeze.
  • Note that all the other widgets seem to update properly, and clicking on the workspace names on the bar does take you to the current workspace and updates it too! However switching workspaces using the hot keys doesn't seem to reflect in the widget.

To Reproduce
Steps to reproduce the behavior:

  1. Use Komorebi with bar turned on for a while
  2. After some prolonged use the bar's active workspacec widget will randomly stop reflecting the current workspace
  3. Killing and restarting komorebi should fix the problem

Expected behavior
Komorebi bar stops responding, and needs to be restarted

Screenshots and Videos

https://github.com/user-attachments/assets/981ac8bf-9bef-4a0e-b02a-78f5e24bc990

Operating System

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

komorebic check Output

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

Looking for configuration files in C:\Users\mmsye

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

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

Additional context

.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 + b 		: Stop-Process -name komorebi-bar; Start-Process komorebi-bar -windowstyle hidden 

# 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 ]

# 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 + shift + oem_4 	: komorebic stack left
alt + ctrl + oem_4		: komorebic stack down
alt + ctrl + oem_6		: komorebic stack up
alt + shift + oem_6		: 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

# Manipulate windows
alt + shift + d         : komorebic toggle-float
alt + d         		: komorebic toggle-monocle

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

# 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
alt + 9                 : komorebic focus-workspace 8
alt + 0                 : komorebic focus-workspace 9

# 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
alt + shift + 9         : komorebic move-to-workspace 8
alt + shift + 0         : komorebic move-to-workspace 9

# Launch Apps
ctrl + alt + c 			: Start-Process chrome.exe
{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.29/schema.bar.json",
  "monitor": {
    "index": 0,
    "work_area_offset": {
      "left": 0,
      "top": 40,
      "right": 0,
      "bottom":40
    }
  },
  "font_size": 11,
  "font_family": "Cascadia Code",
  "theme": {
    "palette": "Base16",
    "name": "Chalk",
    "accent": "Base0F"
  },
  "left_widgets": [
    {
      "Komorebi": {
        "workspaces": {
          "enable": true,
          "hide_empty_workspaces": true
        },
        "layout": {
          "enable": true
        },
        "focused_window": {
          "enable": false,
          "show_icon": false
        }
      }
    }
  ],
  "right_widgets": [
    {
      "Media": {
        "enable": true
      }
    },
    {
      "Storage": {
        "enable": false
      }
    },
    {
      "Memory": {
        "enable": true
      }
    },
    {
      "Network": {
        "enable": false,
        "data_refresh_interval": 1,
        "show_total_data_transmitted": false,
        "show_network_activity": false
      }
    },
    {
      "Date": {
        "enable": true,
        "format": "DayDateMonthYear"
      }
    },
    {
      "Time": {
        "enable": true,
        "format": "TwelveHour"
      }
    },
    {
      "Battery": {
        "enable": true,
        "data_refresh_interval": 60
      }
    }
  ]
}
{
  "$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": 1,
  "default_container_padding": 1,
  "transparency": false,
  "border": true,
  "border_width": 0,
  "border_style": "System",
  "border_implementation": "Windows",
  "border_colours": {
    "single": "#a6856e",
    "stack": "#a6856e",
    "monocle": "#fc585e",
    "unfocused": "#000000"
  },
  "stackbar": {
    "label": "Title",
    "height": 18,
    "mode": "OnStack",
    "tabs": {
      "width": 220,
      "focused_text": "#a6856e",
      "unfocused_text": "#383838",
      "background": "#000000",
      "font_size": 28,
      "font_family": "Consolas"
    }
  },
  "monitors": [
    {
      "workspaces": [
        {
          "name": "1 Code",
          "layout": "BSP"
        },
        {
          "name": "2 Notes",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "Obsidian.exe",
              "kind": "Exe"
            }
          ]
        },
        {
          "name": "3 Web",
          "layout": "BSP"
        },
        {
          "name": "4 Comm",
          "layout": "BSP"
        },
        {
          "name": "5 AI",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "ChatGPT App",
              "kind": "Title",
              "matching_strategy": "StartsWith"
            },
            {
              "id": "Perplexity App",
              "kind": "Title",
              "matching_strategy": "StartsWith"
            },
            {
              "id": "Claude",
              "kind": "Title",
              "matching_strategy": "StartsWith"
            }
          ]
        },
        {
          "name": "6 Media",
          "layout": "BSP"
        },
        {
          "name": "7 Task",
          "layout": "BSP"
        },
        {
          "name": "8 Task",
          "layout": "BSP"
        },
        {
          "name": "9 Task",
          "layout": "BSP"
        },
        {
          "name": "0 Last",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "edit_komorebi",
              "kind": "Title",
              "matching_strategy": "Contains"
            }
          ]

        }
      ]
    }
  ],
  "float_rules": [
    {
      "id": "Voice call ‎- WhatsApp Beta",
      "kind": "Title",
      "matching_strategy": "Equals"
    }
  ]
}
Originally created by @xidsyed on GitHub (Oct 9, 2024). **Describe the bug** - After using Komorbei with the Komorebi bar for some time the Komorebi Bar will stop updating the current active workspace. - This doesn't seem to have any apparent trigger nor is there any error posted by Komarabi Bar to the console. - The only solution that I have found is to stop and start the komarabi bar all over again. I have a hot-key alt+shift+b that i use to acheive this. - Currently i have to do this approx 5-6 times a day :( - I have recorded a video after launching the bar from the console and waiting for it to freeze. - Note that all the other widgets seem to update properly, and clicking on the workspace names on the bar does take you to the current workspace and updates it too! However switching workspaces using the hot keys doesn't seem to reflect in the widget. **To Reproduce** Steps to reproduce the behavior: 1. Use Komorebi with bar turned on for a while 2. After some prolonged use the bar's active workspacec widget will randomly stop reflecting the current workspace 3. Killing and restarting komorebi should fix the problem **Expected behavior** Komorebi bar stops responding, and needs to be restarted **Screenshots and Videos** https://github.com/user-attachments/assets/981ac8bf-9bef-4a0e-b02a-78f5e24bc990 **Operating System** ``` OS Name: Microsoft Windows 11 Home OS Version: 10.0.22631 N/A Build 22631 ``` **`komorebic check` Output** ``` No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\mmsye Looking for configuration files in C:\Users\mmsye Found komorebi.json; this file can be passed to the start command with the --config flag Found C:\Users\mmsye\.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag ``` **Additional context** ``` .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 + b : Stop-Process -name komorebi-bar; Start-Process komorebi-bar -windowstyle hidden # 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 ] # 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 + shift + oem_4 : komorebic stack left alt + ctrl + oem_4 : komorebic stack down alt + ctrl + oem_6 : komorebic stack up alt + shift + oem_6 : 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 # Manipulate windows alt + shift + d : komorebic toggle-float alt + d : komorebic toggle-monocle # Window manager options alt + shift + r : komorebic retile alt + shift + p : komorebic toggle-pause alt + shift + m : komorebic manage # 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 alt + 9 : komorebic focus-workspace 8 alt + 0 : komorebic focus-workspace 9 # 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 alt + shift + 9 : komorebic move-to-workspace 8 alt + shift + 0 : komorebic move-to-workspace 9 # Launch Apps ctrl + alt + c : Start-Process chrome.exe ``` ``` { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.29/schema.bar.json", "monitor": { "index": 0, "work_area_offset": { "left": 0, "top": 40, "right": 0, "bottom":40 } }, "font_size": 11, "font_family": "Cascadia Code", "theme": { "palette": "Base16", "name": "Chalk", "accent": "Base0F" }, "left_widgets": [ { "Komorebi": { "workspaces": { "enable": true, "hide_empty_workspaces": true }, "layout": { "enable": true }, "focused_window": { "enable": false, "show_icon": false } } } ], "right_widgets": [ { "Media": { "enable": true } }, { "Storage": { "enable": false } }, { "Memory": { "enable": true } }, { "Network": { "enable": false, "data_refresh_interval": 1, "show_total_data_transmitted": false, "show_network_activity": false } }, { "Date": { "enable": true, "format": "DayDateMonthYear" } }, { "Time": { "enable": true, "format": "TwelveHour" } }, { "Battery": { "enable": true, "data_refresh_interval": 60 } } ] } ``` ``` { "$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": 1, "default_container_padding": 1, "transparency": false, "border": true, "border_width": 0, "border_style": "System", "border_implementation": "Windows", "border_colours": { "single": "#a6856e", "stack": "#a6856e", "monocle": "#fc585e", "unfocused": "#000000" }, "stackbar": { "label": "Title", "height": 18, "mode": "OnStack", "tabs": { "width": 220, "focused_text": "#a6856e", "unfocused_text": "#383838", "background": "#000000", "font_size": 28, "font_family": "Consolas" } }, "monitors": [ { "workspaces": [ { "name": "1 Code", "layout": "BSP" }, { "name": "2 Notes", "layout": "BSP", "workspace_rules": [ { "id": "Obsidian.exe", "kind": "Exe" } ] }, { "name": "3 Web", "layout": "BSP" }, { "name": "4 Comm", "layout": "BSP" }, { "name": "5 AI", "layout": "BSP", "workspace_rules": [ { "id": "ChatGPT App", "kind": "Title", "matching_strategy": "StartsWith" }, { "id": "Perplexity App", "kind": "Title", "matching_strategy": "StartsWith" }, { "id": "Claude", "kind": "Title", "matching_strategy": "StartsWith" } ] }, { "name": "6 Media", "layout": "BSP" }, { "name": "7 Task", "layout": "BSP" }, { "name": "8 Task", "layout": "BSP" }, { "name": "9 Task", "layout": "BSP" }, { "name": "0 Last", "layout": "BSP", "workspace_rules": [ { "id": "edit_komorebi", "kind": "Title", "matching_strategy": "Contains" } ] } ] } ], "float_rules": [ { "id": "Voice call ‎- WhatsApp Beta", "kind": "Title", "matching_strategy": "Equals" } ] } ```
adam added the bug label 2026-01-05 14:51:01 +01:00
adam closed this issue 2026-01-05 14:51:01 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Oct 9, 2024):

I haven't reproduced this yet but I know others have. Please run komorebi-bar.exe in the foreground and share the logs when the bar updates stop rendering - this will help rule out (or confirm?) thread crashes in komorebi-bar.

edit: I see the logs in the video - I think this rules out thread crashes in komorebi-bar. I see that the komorebic socket messages are also still being received as expected (shortcuts are working).

It would be useful to add some debug logs here to see if the subscription notifications are still being received: 30e09d9946/komorebi-bar/src/komorebi.rs (L440)

Similarly it will be useful to check the komorebi logs to see if subscription notifications are being emitted. You'll have to use the appropriate Rust env var to enable debug logging before launching komorebi for this: 30e09d9946/komorebi/src/lib.rs (L307)

@LGUG2Z commented on GitHub (Oct 9, 2024): I haven't reproduced this yet but I know others have. Please run `komorebi-bar.exe` in the foreground and share the logs when the bar updates stop rendering - this will help rule out (or confirm?) thread crashes in `komorebi-bar`. edit: I see the logs in the video - I think this rules out thread crashes in `komorebi-bar`. I see that the `komorebic` socket messages are also still being received as expected (shortcuts are working). It would be useful to add some debug logs here to see if the subscription notifications are still being received: https://github.com/LGUG2Z/komorebi/blob/30e09d99464f9e1662912086de048abb8daa4164/komorebi-bar/src/komorebi.rs#L440 Similarly it will be useful to check the `komorebi` logs to see if subscription notifications are being _emitted_. You'll have to use the appropriate Rust env var to enable debug logging before launching komorebi for this: https://github.com/LGUG2Z/komorebi/blob/30e09d99464f9e1662912086de048abb8daa4164/komorebi/src/lib.rs#L307
Author
Owner

@LGUG2Z commented on GitHub (Oct 9, 2024):

30e09d9946/komorebi-bar/src/main.rs (L373)

Probably also want to check if this deserialization fails

@LGUG2Z commented on GitHub (Oct 9, 2024): https://github.com/LGUG2Z/komorebi/blob/30e09d99464f9e1662912086de048abb8daa4164/komorebi-bar/src/main.rs#L373 Probably also want to check if this deserialization fails
Author
Owner

@LGUG2Z commented on GitHub (Oct 10, 2024):

f968e89d5d

@LGUG2Z commented on GitHub (Oct 10, 2024): https://github.com/LGUG2Z/komorebi/commit/f968e89d5d7b65d62cc134a87d14d7caf7e39f71
Author
Owner

@xidsyed commented on GitHub (Nov 15, 2024):

I'm using the 7f0b54c nightly build of komorebi and for me this issue has disappeared :)

@xidsyed commented on GitHub (Nov 15, 2024): I'm using the [7f0b54c](https://github.com/LGUG2Z/komorebi/commit/f968e89d5d7b65d62cc134a87d14d7caf7e39f71) nightly build of komorebi and for me this issue has disappeared :)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#484