komorebi icon indicating copy to clipboard operation
komorebi copied to clipboard

[BUG]: Stackbar Flicker on Navigation

Open xidsyed opened this issue 1 year ago • 1 comments

Summary

I'm not sure whether this is a nitpick or a proper bug but when switching the tabs in the stack bar I often find that the whole bar flickers and it is a bit slow. This could be because of my laptop itself.

https://github.com/user-attachments/assets/600c9656-60a5-454e-8fe5-d0a69c50fdb8

Version Information

systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version" komorebic --version

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": 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": 32,
    "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",
          "workspace_rules": [
            {
              "id": "idea64.exe",
              "kind": "Exe"
            },
            {
              "id": "studio64.exe",
              "kind": "Exe"
            }
          ]
        },
        {
          "name": "2 Notes",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "Obsidian.exe",
              "kind": "Exe"
            }
          ]
        },
        {
          "name": "3 Web",
          "layout": "BSP"
        },
        {
          "name": "4 Comm",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "Telegram.exe",
              "kind": "Exe"
            },
            {
              "id": "WhatsApp Beta",
              "kind": "Title",
              "matching_strategy": "Equals"
            }
          ]
        },
        {
          "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": "F7 Flow",
          "layout": "BSP"
        },
        {
          "name": "F8 Flow",
          "layout": "BSP"
        },
        {
          "name": "F9 FLow",
          "layout": "BSP"
        },
        {
          "name": "0 Swap",
          "layout": "BSP",
          "workspace_rules": [
            {
              "id": "edit_komorebi",
              "kind": "Title",
              "matching_strategy": "Contains"
            }
          ]

        }
      ]
    }
  ],
  "float_rules": [
    {
      "id": "Voice call ‎- WhatsApp Beta",
      "kind": "Title",
      "matching_strategy": "Equals"
    }
  ]
}

{
  "$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": 12,
  "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
      }
    }
  ]
}

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 + 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 + ctrl + oem_4 : komorebic cycle-focus previous # oem_4 is [

alt + ctrl + 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

Output of komorebic check

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

xidsyed avatar Oct 20 '24 08:10 xidsyed

This isn't something I'll personally spend any time improving, but I'm sure there is some room to improve the stackbar redraw strategy to minimize any visual artifacts like this further.

LGUG2Z avatar Oct 20 '24 12:10 LGUG2Z