[BUG]: Taskbar and workspace visibility issues with restricted apps and multiple monitors #638

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

Originally created by @hsayed21 on GitHub (Jun 8, 2025).

Summary

I'm encountering two usability issues while using komorebi with multiple monitors and workspace-restricted apps:

  1. Taskbar shows all apps from all workspaces
    When using workspaces with app restrictions (e.g., only allowing Chrome in workspace 3.WEB), the taskbar still displays all open apps from all workspaces, not just the apps assigned to the active workspace.

Expected behavior:

The taskbar should only display apps that are allocated to the currently active workspace.

Current behavior (screenshot below):

I am working in the 3.WEB workspace (Chrome-only), but the taskbar shows apps from all workspaces:
Image

  1. Active workspace indicator shown on both monitors
    I have two monitors. When switching focus to a workspace on one monitor (e.g., 3.WEB), the active workspace is shown on both monitors (e.g., 1.Home and 3.WEB both appear active).

Expected behavior:

Only the workspace of the currently focused monitor should be shown as active in the komorebic-bar.

Would love to hear your thoughts or guidance on potential fixes or workarounds!

Thanks for the awesome tool 🙌

Version Information

└─# komorebic --version
komorebic 0.1.37
tag:v0.1.37
commit_hash:00384ce3
build_time:2025-05-17 19:16:53 +00:00
build_env:rustc 1.87.0 (17067e9ac 2025-05-09),stable-x86_64-pc-windows-msvc

Komorebi Configuration

komorebi.json

{
    "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.json",
    "app_specific_configuration_path": "$Env:USERPROFILE/applications.json",
    "window_hiding_behaviour": "Cloak",
    "cross_monitor_move_behaviour": "Insert",
    "unmanaged_window_operation_behaviour": "Op",
    "default_workspace_padding": 4,
    "default_container_padding": 4,
    "border": true,
    "border_width": 2,
    "border_offset": -1,
    "border_colours": {
        "single": "#61afef",
        "stack": "#82AAFF",
        "monocle": "#FFCB6B",
        "unfocused": "#3e4451"
    },
    "border_implementation": "Komorebi",
    "stackbar": {
        "mode": "OnStack",
        "height": 28,
        "background_colour": "#1e2127",
        "focused_text_colour": "#61afef",
        "unfocused_text_colour": "#5c6370",
        "label": "Process"
    },
    "theme": {
        "palette": "Base16",
        "name": "HorizonDark",
        "unfocused_border": "Base03",
        "bar_accent": "Base0D"
    },
    "transparency": false,
    "transparency_alpha": 240,
    "animation": {
        "enabled": true,
        "duration": 200,
        "fps": 144,
        "style": "EaseOutExpo"
    },
    "resize_delta": 40,
    "global_work_area_offset": {
        "left": 0,
        "top": 0,
        "right": 0,
        "bottom": 0
    },
    "mouse_follows_focus": false,
    "window_container_behaviour": "Create",
    "focus_follows_mouse": "Komorebi",
    "ignore_rules": [
        {
            "kind": "Exe",
            "id": "zebar.exe",
            "matching_strategy": "Equals"
        }
    ],
    "manage_rules": [],
    "workspace_rules": [],
    "floating_window_aspect_ratio": "Widescreen",
    "floating_applications": [],
    "monitors": [
        {
            "workspaces": [
                {
                    "name": "1.HOME",
                    "layout": "BSP",
                    "initial_workspace": true,
                    "workspace_padding": 12,
                    "container_padding": 8
                },
                {
                    "name": "6.MISC",
                    "layout": "Grid",
                    "workspace_padding": 10,
                    "container_padding": 8
                }
            ]
        },
        {
            "workspaces": [
                {
                    "name": "2.DEV",
                    "layout": "BSP",
                    "workspace_padding": 12,
                    "container_padding": 8
                },
                {
                    "name": "3.WEB",
                    "layout": "VerticalStack",
                    "workspace_padding": 10,
                    "container_padding": 6
                },
                {
                    "name": "4.TERM",
                    "layout": "HorizontalStack",
                    "workspace_padding": 8,
                    "container_padding": 4
                },
                {
                    "name": "5.TEST",
                    "layout": "Rows",
                    "workspace_padding": 10,
                    "container_padding": 8
                }
            ]
        }
    ],
    "bar_configurations": [
        "G:\\My Drive\\dotfiles\\komorebi\\komorebi.bar.json",
        "G:\\My Drive\\dotfiles\\komorebi\\komorebi.bar2.json"
    ]
}


komorebi.bar.json

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.bar.json",
  "monitor": {
    "index": 0
  },
  "position": {
    "start": { "x": 0, "y": 0 }, // 10% of 1920 = 192
    "end": { "x": 1740, "y": 40 } // 90% of 1920 = 1728
  },
  "height": 35,
  "font_family": "JetBrains Mono NF",
  "font_size": 11,
  "max_label_width": 300,
  "theme": {
    "palette": "Base16",
    "name": "HorizonDark",
    "accent": "Base0D"
  },
  "transparency_alpha": 180,
  "left_widgets": [
    {
      "Komorebi": {
        "workspaces": {
          "enable": true,
          "hide_empty_workspaces": false,
          "display": "AllIconsAndText"
        },
        "layout": {
          "enable": true,
          "display": "Icon"
        },
        "focused_container": {
          "enable": true,
          "show_icon": true,
          "display": "Icon"
        },
        "tiling": {
          "enable": true
        }
      }
    }
  ],
  "center_widgets": [
    {
      "Time": {
        "enable": true,
        "format": {
          "Custom": "%b, %a %d/%m/%Y  %I:%M:%S %p"
        }
      }
    }
  ],
  "right_widgets": [
    {
      "Cpu": {
        "enable": true,
        "label_prefix": "Icon"
      }
    },
    {
      "Memory": {
        "enable": true,
        "label_prefix": "Icon"
      }
    },
    {
      "Network": {
        "enable": true,
        "show_activity": true,
        "show_total_activity": false,
        "label_prefix": "Icon",
        "icon": "󰖩"
      }
    },
    {
      "Battery": {
        "enable": true,
        "label_prefix": "IconAndText"
      }
    },
    {
      "Media": {
        "enable": true,
        "label_prefix": "Icon"
      }
    }
  ],
  "widget_spacing": 4,
  "padding": {
    "left": 8,
    "right": 8,
    "top": 2,
    "bottom": 2
  }
}


komorebi.bar2.json

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.bar.json",
  "monitor": {
    "index": 1
  },
  "height": 35,
  "font_family": "JetBrains Mono NF",
  "font_size": 11,
  "max_label_width": 300,
  "theme": {
    "palette": "Base16",
    "name": "HorizonDark",
    "accent": "Base0D"
  },
  "transparency_alpha": 180,
  "left_widgets": [
    {
      "Komorebi": {
        "workspaces": {
          "enable": true,
          "hide_empty_workspaces": false,
          "display": "AllIconsAndText"
        },
        "layout": {
          "enable": true,
          "display": "Icon"
        },
        "focused_container": {
          "enable": true,
          "show_icon": true,
          "display": "Icon"
        },
        "tiling": {
          "enable": true
        }
      }
    }
  ],
  "center_widgets": [
    {
      "Time": {
        "enable": true,
        "format": {
          "Custom": "%b, %a %d/%m/%Y  %I:%M:%S %p"
        }
      }
    }
  ],
  "right_widgets": [
    {
      "Cpu": {
        "enable": true,
        "label_prefix": "Icon"
      }
    },
    {
      "Memory": {
        "enable": true,
        "label_prefix": "Icon"
      }
    },
    {
      "Network": {
        "enable": true,
        "show_activity": true,
        "show_total_activity": false,
        "label_prefix": "Icon",
        "icon": "󰖩"
      }
    },
    {
      "Battery": {
        "enable": true,
        "label_prefix": "IconAndText"
      }
    },
    {
      "Media": {
        "enable": true,
        "label_prefix": "Icon"
      }
    }
  ],
  "widget_spacing": 4,
  "padding": {
    "left": 8,
    "right": 8,
    "top": 2,
    "bottom": 2
  }
}

Hotkey Configuration

_

Output of komorebic check

└─# komorebic check
No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\hsayed

Looking for configuration files in C:\Users\hsayed

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\hsayed.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 @hsayed21 on GitHub (Jun 8, 2025). ### Summary I'm encountering two usability issues while using komorebi with multiple monitors and workspace-restricted apps: 1. Taskbar shows all apps from all workspaces When using workspaces with app restrictions (e.g., only allowing Chrome in workspace **3.WEB**), the taskbar still displays all open apps from all workspaces, not just the apps assigned to the active workspace. Expected behavior: > The taskbar should only display apps that are allocated to the currently active workspace. Current behavior (screenshot below): > I am working in the **3.WEB** workspace (Chrome-only), but the taskbar shows apps from all workspaces: <img width="1920" alt="Image" src="https://github.com/user-attachments/assets/15837bec-0554-4b54-9651-715d710e4cce" /> 2. Active workspace indicator shown on both monitors I have two monitors. When switching focus to a workspace on one monitor (e.g., **3.WEB**), the active workspace is shown on both monitors (e.g., **1.Home** and **3.WEB** both appear active). Expected behavior: > Only the workspace of the currently focused monitor should be shown as active in the **komorebic-bar**. Would love to hear your thoughts or guidance on potential fixes or workarounds! Thanks for the awesome tool 🙌 ### Version Information └─# komorebic --version komorebic 0.1.37 tag:v0.1.37 commit_hash:00384ce3 build_time:2025-05-17 19:16:53 +00:00 build_env:rustc 1.87.0 (17067e9ac 2025-05-09),stable-x86_64-pc-windows-msvc ### Komorebi Configuration ```json komorebi.json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.json", "app_specific_configuration_path": "$Env:USERPROFILE/applications.json", "window_hiding_behaviour": "Cloak", "cross_monitor_move_behaviour": "Insert", "unmanaged_window_operation_behaviour": "Op", "default_workspace_padding": 4, "default_container_padding": 4, "border": true, "border_width": 2, "border_offset": -1, "border_colours": { "single": "#61afef", "stack": "#82AAFF", "monocle": "#FFCB6B", "unfocused": "#3e4451" }, "border_implementation": "Komorebi", "stackbar": { "mode": "OnStack", "height": 28, "background_colour": "#1e2127", "focused_text_colour": "#61afef", "unfocused_text_colour": "#5c6370", "label": "Process" }, "theme": { "palette": "Base16", "name": "HorizonDark", "unfocused_border": "Base03", "bar_accent": "Base0D" }, "transparency": false, "transparency_alpha": 240, "animation": { "enabled": true, "duration": 200, "fps": 144, "style": "EaseOutExpo" }, "resize_delta": 40, "global_work_area_offset": { "left": 0, "top": 0, "right": 0, "bottom": 0 }, "mouse_follows_focus": false, "window_container_behaviour": "Create", "focus_follows_mouse": "Komorebi", "ignore_rules": [ { "kind": "Exe", "id": "zebar.exe", "matching_strategy": "Equals" } ], "manage_rules": [], "workspace_rules": [], "floating_window_aspect_ratio": "Widescreen", "floating_applications": [], "monitors": [ { "workspaces": [ { "name": "1.HOME", "layout": "BSP", "initial_workspace": true, "workspace_padding": 12, "container_padding": 8 }, { "name": "6.MISC", "layout": "Grid", "workspace_padding": 10, "container_padding": 8 } ] }, { "workspaces": [ { "name": "2.DEV", "layout": "BSP", "workspace_padding": 12, "container_padding": 8 }, { "name": "3.WEB", "layout": "VerticalStack", "workspace_padding": 10, "container_padding": 6 }, { "name": "4.TERM", "layout": "HorizontalStack", "workspace_padding": 8, "container_padding": 4 }, { "name": "5.TEST", "layout": "Rows", "workspace_padding": 10, "container_padding": 8 } ] } ], "bar_configurations": [ "G:\\My Drive\\dotfiles\\komorebi\\komorebi.bar.json", "G:\\My Drive\\dotfiles\\komorebi\\komorebi.bar2.json" ] } komorebi.bar.json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.bar.json", "monitor": { "index": 0 }, "position": { "start": { "x": 0, "y": 0 }, // 10% of 1920 = 192 "end": { "x": 1740, "y": 40 } // 90% of 1920 = 1728 }, "height": 35, "font_family": "JetBrains Mono NF", "font_size": 11, "max_label_width": 300, "theme": { "palette": "Base16", "name": "HorizonDark", "accent": "Base0D" }, "transparency_alpha": 180, "left_widgets": [ { "Komorebi": { "workspaces": { "enable": true, "hide_empty_workspaces": false, "display": "AllIconsAndText" }, "layout": { "enable": true, "display": "Icon" }, "focused_container": { "enable": true, "show_icon": true, "display": "Icon" }, "tiling": { "enable": true } } } ], "center_widgets": [ { "Time": { "enable": true, "format": { "Custom": "%b, %a %d/%m/%Y %I:%M:%S %p" } } } ], "right_widgets": [ { "Cpu": { "enable": true, "label_prefix": "Icon" } }, { "Memory": { "enable": true, "label_prefix": "Icon" } }, { "Network": { "enable": true, "show_activity": true, "show_total_activity": false, "label_prefix": "Icon", "icon": "󰖩" } }, { "Battery": { "enable": true, "label_prefix": "IconAndText" } }, { "Media": { "enable": true, "label_prefix": "Icon" } } ], "widget_spacing": 4, "padding": { "left": 8, "right": 8, "top": 2, "bottom": 2 } } komorebi.bar2.json { "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/master/schema.bar.json", "monitor": { "index": 1 }, "height": 35, "font_family": "JetBrains Mono NF", "font_size": 11, "max_label_width": 300, "theme": { "palette": "Base16", "name": "HorizonDark", "accent": "Base0D" }, "transparency_alpha": 180, "left_widgets": [ { "Komorebi": { "workspaces": { "enable": true, "hide_empty_workspaces": false, "display": "AllIconsAndText" }, "layout": { "enable": true, "display": "Icon" }, "focused_container": { "enable": true, "show_icon": true, "display": "Icon" }, "tiling": { "enable": true } } } ], "center_widgets": [ { "Time": { "enable": true, "format": { "Custom": "%b, %a %d/%m/%Y %I:%M:%S %p" } } } ], "right_widgets": [ { "Cpu": { "enable": true, "label_prefix": "Icon" } }, { "Memory": { "enable": true, "label_prefix": "Icon" } }, { "Network": { "enable": true, "show_activity": true, "show_total_activity": false, "label_prefix": "Icon", "icon": "󰖩" } }, { "Battery": { "enable": true, "label_prefix": "IconAndText" } }, { "Media": { "enable": true, "label_prefix": "Icon" } } ], "widget_spacing": 4, "padding": { "left": 8, "right": 8, "top": 2, "bottom": 2 } } ``` ### Hotkey Configuration _ ### Output of komorebic check └─# komorebic check No KOMOREBI_CONFIG_HOME detected, defaulting to C:\Users\hsayed Looking for configuration files in C:\Users\hsayed 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\hsayed\.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:07 +01:00
adam closed this issue 2026-01-05 14:52:07 +01:00
Author
Owner

@LGUG2Z commented on GitHub (Jun 8, 2025):

Both of these are the intended behaviours, but if you want to work on adding alternative opt-in behaviours, you can open a draft PR for implementation feedback.

@LGUG2Z commented on GitHub (Jun 8, 2025): Both of these are the intended behaviours, but if you want to work on adding alternative opt-in behaviours, you can open a draft PR for implementation feedback.
Author
Owner

@hsayed21 commented on GitHub (Jun 9, 2025):

@LGUG2Z
Sorry, I didn’t understand what was meant… I don’t have experience with Rust language to open PR

@hsayed21 commented on GitHub (Jun 9, 2025): @LGUG2Z Sorry, I didn’t understand what was meant… I don’t have experience with Rust language to open PR
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/komorebi#638