Originally created by @azaidrahman on GitHub (Mar 14, 2025).
Summary
When using Komorebi as my tiling window manager on Windows, I’ve observed that PowerToys Window Walker only lists windows that are visible in the active workspace. It appears that Komorebi’s workspaces hide windows from inactive workspaces entirely, which causes Window Walker to ignore them.
Would it be possible to add an option to allow window switchers to access windows across all workspaces, even when they’re hidden?
Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.26100 N/A Build 26100
Looking for configuration files in C:\Users\azaid.config\komorebi\
Found komorebi.json; this file can be passed to the start command with the --config flag
Found C:\Users\azaid.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 @azaidrahman on GitHub (Mar 14, 2025).
### Summary
When using Komorebi as my tiling window manager on Windows, I’ve observed that [PowerToys Window Walker](https://learn.microsoft.com/en-us/windows/powertoys/run#window-walker-plugin) only lists windows that are visible in the active workspace. It appears that Komorebi’s workspaces hide windows from inactive workspaces entirely, which causes Window Walker to ignore them.
Would it be possible to add an option to allow window switchers to access windows across all workspaces, even when they’re hidden?
### Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.26100 N/A Build 26100
komorebic 0.1.34
tag:v0.1.34
commit_hash:80edcadb
build_time:2025-02-21 02:21:41 +00:00
build_env:rustc 1.85.0 (4d91de4e4 2025-02-17),stable-x86_64-pc-windows-msvc
### Komorebi Configuration
```json
{
"$schema": "https://raw.githubusercontent.com/LGUG2Z/komorebi/v0.1.28/schema.json",
"app_specific_configuration_path": "$Env:KOMOREBI_CONFIG_HOME/applications.json",
"window_hiding_behaviour": "Cloak",
"cross_monitor_move_behaviour": "Insert",
"default_workspace_padding": 0,
"default_container_padding": 0,
"border": true,
"border_width": 4,
"border_offset": 0,
"border_colours": {
"single": "#42a5f5",
"stack": "#00a542",
"monocle": "#ff3399",
"unfocused": "#808080"
},
"stackbar": {
"height": 40,
"mode": "OnStack",
"tabs": {
"width": 300,
"focused_text": "#00a542",
"unfocused_text": "#b3b3b3",
"background": "#141414"
}
},
"monitors": [
{
"workspaces": [
{
"name": "I",
"layout": "BSP"
},
{
"name": "II",
"layout": "BSP"
},
{
"name": "III",
"layout": "BSP"
},
{
"name": "IV",
"layout": "BSP"
},
{
"name": "V",
"layout": "BSP"
},
{
"name": "VI",
"layout": "BSP"
}
]
},
{
"workspaces": [
{
"name": "I",
"layout": "BSP"
},
{
"name": "II",
"layout": "BSP"
},
{
"name": "III",
"layout": "BSP"
},
{
"name": "IV",
"layout": "BSP"
},
{
"name": "V",
"layout": "BSP"
},
{
"name": "VI",
"layout": "BSP"
}
]
}
]
}
```
### Hotkey Configuration
```ahk
; #Requires AutoHotkey v2.0.19
#SingleInstance Force
; === SYMBOLS ===
; ! <- Alt
; + <- Shift
; ^ <- Ctrl
; # <- Win
; Adapted from https://github.com/ConnorSweeneyDev/.config/blob/main/ahk/wm.ahk
#e::Run("explorer")
#t::Run("pwsh -NoProfile -Command wezterm", , "Hide")
; #f::Run("pwsh -NoProfile -Command firefox", , "Hide")
#f::Run("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Zen.lnk")
#d::Run("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Discord.lnk")
; #s::Run("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Steam.lnk")
RunWait("pwsh -NoProfile -Command if ((Get-Process -Name 'komorebi' -ErrorAction SilentlyContinue) -eq $null) { } else { komorebic stop }", , "Hide")
RunWait("pwsh -Command komorebic start", , "Hide")
Komorebic(cmd) {
RunWait(format("komorebic.exe {}", cmd), , "Hide")
}
!q::Komorebic("close")
!m::Komorebic("minimize")
; Focus windows
!h::Komorebic("focus left")
!j::Komorebic("focus down")
!k::Komorebic("focus up")
!l::Komorebic("focus right")
!+[::Komorebic("cycle-layout previous")
!+]::Komorebic("cycle-layout next")
; Move windows
!+h::Komorebic("move left")
!+j::Komorebic("move down")
!+k::Komorebic("move up")
!+l::Komorebic("move right")
; Stack windows
!Left::Komorebic("stack left")
!Down::Komorebic("stack down")
!Up::Komorebic("stack up")
!Right::Komorebic("stack right")
!;::Komorebic("unstack")
![::Komorebic("cycle-stack previous")
!]::Komorebic("cycle-stack next")
; Resize
!=::Komorebic("resize-axis horizontal increase")
!-::Komorebic("resize-axis horizontal decrease")
!+=::Komorebic("resize-axis vertical increase")
!+_::Komorebic("resize-axis vertical decrease")
; Manipulate windows
!t::Komorebic("toggle-float")
!f::Komorebic("toggle-monocle")
; Window manager options
!+r::Komorebic("retile")
!p::Komorebic("toggle-pause")
; Layouts
!x::Komorebic("flip-layout horizontal")
!y::Komorebic("flip-layout vertical")
; Cycle Workspace
!a::Komorebic("cycle-workspace previous")
!s::Komorebic("cycle-workspace next")
; Workspaces
!1::Komorebic("focus-workspace 0")
!2::Komorebic("focus-workspace 1")
!3::Komorebic("focus-workspace 2")
!4::Komorebic("focus-workspace 3")
!5::Komorebic("focus-workspace 4")
!6::Komorebic("focus-workspace 5")
!7::Komorebic("focus-workspace 6")
!8::Komorebic("focus-workspace 7")
; Move windows across workspaces
!+1::Komorebic("move-to-workspace 0")
!+2::Komorebic("move-to-workspace 1")
!+3::Komorebic("move-to-workspace 2")
!+4::Komorebic("move-to-workspace 3")
!+5::Komorebic("move-to-workspace 4")
!+6::Komorebic("move-to-workspace 5")
!+7::Komorebic("move-to-workspace 6")
!+8::Komorebic("move-to-workspace 7")
RunWait("pwsh -NoProfile -Command if ((Get-Process -Name 'yasb' -ErrorAction SilentlyContinue) -eq $null) { } else { yasbc stop }", , "Hide")
RunWait("pwsh -NoProfile -Command yasbc start", , "Hide")
OpenYasbMenu() {
ButtonOffsetX := 20
ButtonOffsetY := 20
MonitorPrimary := MonitorGetPrimary()
MonitorGet MonitorPrimary, &L, &T, &R, &B
DllCall("SetCursorPos", "int", (L + ButtonOffsetX), "int", (T + ButtonOffsetY))
MouseClick "Left"
DllCall("SetCursorPos", "int", R / 2, "int", B / 2)
}
;~ ^!BS::OpenYasbMenu()
```
### Output of komorebic check
KOMOREBI_CONFIG_HOME detected: C:\Users\azaid\.config\komorebi\
Looking for configuration files in C:\Users\azaid\.config\komorebi\
Found komorebi.json; this file can be passed to the start command with the --config flag
Found C:\Users\azaid\.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:51:46 +01:00
This is a PowerToys bug - you should open an issue on their repo (feel free to backlink this).
There is no reason why WindowWalker should ignore Minimized, Hidden or Cloaked HWNDs as targets for filtering.
@LGUG2Z commented on GitHub (Mar 14, 2025):
This is a PowerToys bug - you should open an issue on their repo (feel free to backlink this).
There is no reason why WindowWalker should ignore Minimized, Hidden or Cloaked HWNDs as targets for filtering.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @azaidrahman on GitHub (Mar 14, 2025).
Summary
When using Komorebi as my tiling window manager on Windows, I’ve observed that PowerToys Window Walker only lists windows that are visible in the active workspace. It appears that Komorebi’s workspaces hide windows from inactive workspaces entirely, which causes Window Walker to ignore them.
Would it be possible to add an option to allow window switchers to access windows across all workspaces, even when they’re hidden?
Version Information
OS Name: Microsoft Windows 11 Pro
OS Version: 10.0.26100 N/A Build 26100
komorebic 0.1.34
tag:v0.1.34
commit_hash:80edcadb
build_time:2025-02-21 02:21:41 +00:00
build_env:rustc 1.85.0 (4d91de4e4 2025-02-17),stable-x86_64-pc-windows-msvc
Komorebi Configuration
Hotkey Configuration
Output of komorebic check
KOMOREBI_CONFIG_HOME detected: C:\Users\azaid.config\komorebi\
Looking for configuration files in C:\Users\azaid.config\komorebi\
Found komorebi.json; this file can be passed to the start command with the --config flag
Found C:\Users\azaid.config\whkdrc; key bindings will be loaded from here when whkd is started, and you can start it automatically using the --whkd flag
@LGUG2Z commented on GitHub (Mar 14, 2025):
This is a PowerToys bug - you should open an issue on their repo (feel free to backlink this).
There is no reason why WindowWalker should ignore Minimized, Hidden or Cloaked HWNDs as targets for filtering.