komorebi icon indicating copy to clipboard operation
komorebi copied to clipboard

[BUG]: Unexpected result after removing "grouping" from Bar config

Open ClixTW opened this issue 8 months ago • 9 comments

Summary

Just a tiny bug :)

When adding a grouping section to komorebi.bar.json with rounding, for example:

  "grouping": {
    "kind": "Bar",
    "rounding": 6,
    "style": "Default",
    "transparency_alpha": 255
  },

After saving the config and then removing the entire grouping section, saving again results in the following:

Image

The rounding setting seems to persist incorrectly.

After restarting komorebi-bar.exe, the expected result is shown:

Image

To be honest, the rounded corners are pretty cute. It would be nice if rounding could be applied even without the grouping section.

Version Information

OS Name: Microsoft Windows 11 Pro
komorebic 0.1.36
tag:v0.1.36
commit_hash:8ef1bcf2
build_time:2025-04-13 03:10:57 +00:00
build_env:rustc 1.86.0 (05f9846f8 2025-03-31),stable-x86_64-pc-windows-msvc

Komorebi Configuration

{
  "$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.34/schema.bar.json",
  "monitor": 0,
  "font_family": "GENYOGOTHIC2TW-R",
  "font_size": 12,
  "theme": {
    "palette": "Catppuccin",
    "name": "Mocha",
    "accent": "Mauve"
  },
  "transparency_alpha": 255,
  "icon_scale": 1.18,
  "height": 35,
  "left_widgets": [
    {
      "Komorebi": {
        "workspaces": {
          "enable": true,
          "hide_empty_workspaces": false,
          "display": "Text"
        },
        "layout": {
          "enable": true,
          "display": "IconAndText",
          "options": [
            "BSP",
            "Columns",
            "Grid",
            "UltrawideVerticalStack"
          ]
        },
        "focused_window": {
          "enable": true,
          "display": "IconAndTextOnSelected"
        }
      }
    }
  ],
  "center_widgets": [
    {
      "Date": {
        "enable": true,
        "format": "YearMonthDate"
      }
    },
    {
      "Time": {
        "enable": true,
        "format": "TwentyFourHour"
      }
    }
  ],
  "right_widgets": [
    {
      "Update": {
        "enable": false
      }
    },
    {
      "Media": {
        "enable": false
      }
    },
    {
      "Cpu": {
        "enable": false,
        "data_refresh_interval": 2
      }
    },
    {
      "Memory": {
        "enable": false,
        "data_refresh_interval": 2
      }
    },
    {
      "Storage": {
        "enable": false
      }
    },
    {
      "Network": {
        "enable": true,
        "data_refresh_interval": 2,
        "show_default_interface": false,
        "show_network_activity": true,
        "show_total_data_transmitted": false
      }
    },
    {
      "Keyboard": {
        "enable": true,
        "label_prefix": "Icon"
      }
    },
    {
      "Battery": {
        "enable": false
      }
    }
  ]
}

Hotkey Configuration

.shell powershell

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

# 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 + w                 : komorebic minimize

# Focus windows
alt + j                 : komorebic focus left
alt + k                 : komorebic focus down
alt + i                 : komorebic focus up
alt + l                 : komorebic focus right
alt + oem_1             : komorebic cycle-focus previous # oem_1 is ;
alt + oem_7             : komorebic cycle-focus next # oem_7 is '

# Move windows
alt + shift + j         : komorebic move left
alt + shift + k         : komorebic move down
alt + shift + i         : komorebic move up
alt + shift + l         : komorebic move right
alt + shift + return    : komorebic promote
alt + g                 : komorebic promote

# Stack windows
alt + u                 : komorebic stack left
alt + h                 : komorebic stack down
alt + y                 : komorebic stack up
alt + o                 : komorebic stack right
alt + oem_4             : komorebic cycle-stack previous # oem_4 is [
alt + oem_6             : komorebic cycle-stack next # oem_6 is ]
alt + p                 : komorebic unstack # oem_5 is "\"
alt + shift + p         : komorebic unstack-all
alt + shift + u         : komorebic stack-all
alt + e                 : komorebic stack left
alt + a                 : komorebic cycle-stack previous
alt + s                 : komorebic cycle-stack next
alt + d                 : komorebic unstack
alt + shift + d         : komorebic unstack-all
alt + shift + e         : komorebic stack-all

# 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 + t                 : komorebic toggle-float
alt + f                 : komorebic toggle-monocle
alt + shift + f         : komorebic toggle-maximize

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

# Layouts
alt + ctrl + shift + x  : komorebic flip-layout horizontal
alt + ctrl + shift + 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 cycle-workspace previous
alt + 0                 : 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
alt + shift + 9         : komorebic cycle-move-to-workspace previous 
alt + shift + 0         : komorebic cycle-move-to-workspace next

# Send windows across workspaces
alt + ctrl + 1          : komorebic send-to-workspace 0
alt + ctrl + 2          : komorebic send-to-workspace 1
alt + ctrl + 3          : komorebic send-to-workspace 2
alt + ctrl + 4          : komorebic send-to-workspace 3
alt + ctrl + 5          : komorebic send-to-workspace 4
alt + ctrl + 6          : komorebic send-to-workspace 5
alt + ctrl + 7          : komorebic send-to-workspace 6
alt + ctrl + 8          : komorebic send-to-workspace 7
alt + ctrl + 9          : komorebic cycle-send-to-workspace previous
alt + ctrl + 0          : komorebic cycle-send-to-workspace next

# Move windows across monitors
alt + ctrl + shift + 9  : komorebic cycle-move-to-monitor previous
alt + ctrl + shift + 0  : komorebic cycle-move-to-monitor next

# Add a rule to float the foreground window for the rest of this session
alt + ctrl + t          : komorebic session-float-rule

Output of komorebic check

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

Looking for configuration files in C:\Users\CTW

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

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

ClixTW avatar May 15 '25 09:05 ClixTW

@CtByte Is this something you have a quick magical fix up your sleeve for? 👀

LGUG2Z avatar May 18 '25 01:05 LGUG2Z

What is the expected behaviour now? The one after the restart, so no configurable rounding when grouping is removed?

CtByte avatar May 18 '25 13:05 CtByte

Yeah I think so, removing an option completely resulting in that option being reverted to the default value(s) makes sense here

LGUG2Z avatar May 18 '25 14:05 LGUG2Z

@ClixTW Either I am missing something or you are using an old version, but I cannot reproduce this

https://github.com/user-attachments/assets/fcfc332b-1480-4cce-9091-a2b69715e600

> komorebic --version
komorebic 0.1.38
branch:master
commit_hash:b4e61b07
build_time:2025-05-19 08:56:19 +02:00
build_env:rustc 1.85.0 (4d91de4e4 2025-02-17),stable-x86_64-pc-windows-msvc

CtByte avatar May 30 '25 11:05 CtByte

Strange 🤔 I'm experiencing the same issue in the latest nightly build. I tried some troubleshooting—whether deleting or commenting it out, or changing the value to the one shown in your video, even avoiding symbolic links—but the result is the same.

Edit: After setting up the Group in the video, the bar background turned black due to Mica For Everyone. I just disabled it and tested again. The issue still persists. So, the incorrect Mica For Everyone configuration was not the cause of the problem.

https://github.com/user-attachments/assets/2fba1b00-e5be-4e3b-ba7a-14fbc675137f

> komorebic --version
komorebic 0.1.38
branch:master
commit_hash:b4e61b07
build_time:2025-05-25 01:01:46 +00:00
build_env:rustc 1.87.0 (17067e9ac 2025-05-09),stable-x86_64-pc-windows-msvc

ClixTW avatar May 30 '25 13:05 ClixTW

This time I've used your bar config. I do have the same issue 🤔

CtByte avatar May 30 '25 15:05 CtByte

Ok, it looks like that the theme is the issue

  "theme": {
    "palette": "Base16",
    "name": "Ashes",
    "accent": "Base09"
  },

Just to be sure, can you try if the Base16 works for you too?

CtByte avatar May 30 '25 15:05 CtByte

Yes! It seems like the issue is with the theme's palette. Everything works fine when using Base16.

  • Setting the palette to Catppuccin in komorebi.bar.json: causes issues
  • Not setting the theme in komorebi.bar.json, but setting the palette to Catppuccin in komorebi.json: causes issues
  • Setting the palette to Base16 in komorebi.bar.json: works fine
  • Not setting the theme in komorebi.bar.json, but setting the palette to Base16 in komorebi.json: works fine

ClixTW avatar May 30 '25 16:05 ClixTW

Thank you, that helps to narrow it down 👍

CtByte avatar May 30 '25 16:05 CtByte