glazewm
glazewm copied to clipboard
[Bug] "wm-cycle-focus" not working as expected
Describe the bug
Running version 3.1.1 with Windows 11.
I have two windows of the same application running (e.g Intelli J) on one workspace which are currently tiled. I want to be able to change the focus from tiling -> floating for the entire workspace and then be able to move them both around.
At the moment the only work around to change from tiling to floating is to use the "toggle-floating --centered" to be floating which floats the focused window but leaves the other tiled.
I noticed upon download the "wm-cycle-focus" was commented out so uncommented an played around with different bindings thinking that the default was already set to something else but still no luck.
Is this default behaviour? Or something that is maybe yet to be implemented?
Thanks 👋
Reproduction
No response
Stack trace or error logs (if applicable)
No response
Version number
3.1.1
Still no luck with this, I have tried to implement the wm-cycle-focus binding to switch from tiling to floating on a specific workspace but it doesn't work?
Is there anyway to workaround this opposed to having 2 windows on a workspace tiled, floating one an then focusing the other one to float that? I want to float all available windows in one workspace.
The command is working as expected, it's supposed to change the focus from a tiling|fullscreen|floating window to another type
I'm having the same issue—no floatting appears after pressing the bound key. Here is my configuration:
general:
# Commands to run when the WM has started. This is useful for running a
# script or launching another application.
# Example: The below command launches Zebar.
# startup_commands: ['shell-exec zebar']
startup_commands: ['shell-exec gat-gwm.exe']
# Commands to run just before the WM is shutdown.
# Example: The below command kills Zebar.
# shutdown_commands: ['shell-exec taskkill /IM zebar.exe /F']
shutdown_commands: ['shell-exec taskkill /IM gat-gwm.exe /F']
# Commands to run after the WM config is reloaded.
config_reload_commands: []
# Whether to automatically focus windows underneath the cursor.
focus_follows_cursor: false
# Whether to switch back and forth between the previously focused
# workspace when focusing the current workspace.
toggle_workspace_on_refocus: false
cursor_jump:
# Whether to automatically move the cursor on the specified trigger.
enabled: false
# Trigger for cursor jump:
# - 'monitor_focus': Jump when focus changes between monitors.
# - 'window_focus': Jump when focus changes between windows.
trigger: 'monitor_focus'
# How windows should be hidden when switching workspaces.
# - 'cloak': Recommended. Hides windows with no animation.
# - 'hide': Legacy method (v3.5 and earlier) that has a brief animation,
# but has stability issues with some apps.
hide_method: 'cloak'
# Affects which windows get shown in the native Windows taskbar. Has no
# effect if `hide_method: 'hide'`.
# - 'true': Show all windows (regardless of workspace).
# - 'false': Only show windows from the currently shown workspaces.
show_all_in_taskbar: true
gaps:
# Whether to scale the gaps with the DPI of the monitor.
scale_with_dpi: true
# Gap between adjacent windows.
inner_gap: '5px'
# Gap between windows and the screen edge.
outer_gap:
top: '5px'
right: '5px'
bottom: '5px'
left: '5px'
window_effects:
# Visual effects to apply to the focused window.
focused_window:
# Highlight the window with a colored border.
# ** Exclusive to Windows 11 due to API limitations.
border:
enabled: true
color: '#3a9f91'
# Remove the title bar from the window's frame. Note that this can
# cause rendering issues for some applications.
hide_title_bar:
enabled: false
# Change the corner style of the window's frame.
# ** Exclusive to Windows 11 due to API limitations.
corner_style:
enabled: true
# Allowed values: 'square', 'rounded', 'small_rounded'.
style: 'rounded'
# Change the transparency of the window.
transparency:
enabled: true
# Can be something like '95%' or '0.95' for slightly transparent windows.
# '0' or '0%' is fully transparent (and, by consequence, unfocusable).
opacity: '100%'
# Visual effects to apply to non-focused windows.
other_windows:
border:
enabled: true
color: '#13423b'
hide_title_bar:
enabled: false
corner_style:
enabled: true
style: 'rounded'
transparency:
enabled: false
opacity: '99%'
window_behavior:
# New windows are created in this state whenever possible.
# Allowed values: 'tiling', 'floating'.
initial_state: 'tiling'
# Sets the default options for when a new window is created. This also
# changes the defaults for when the state change commands, like
# `set-floating`, are used without any flags.
state_defaults:
floating:
# Whether to center floating windows by default.
centered: false
# Whether to show floating windows as always on top.
shown_on_top: true
fullscreen:
# Maximize the window if possible. If the window doesn't have a
# maximize button, then it'll be fullscreen'ed normally instead.
maximized: true
# Whether to show fullscreen windows as always on top.
shown_on_top: false
workspaces:
- name: '1'
display_name: "主屏"
bind_to_monitor: 0
- name: '2'
display_name: "副屏"
bind_to_monitor: 1
- name: '8'
display_name: "副桌面"
bind_to_monitor: 1
- name: '9'
display_name: "主桌面"
bind_to_monitor: 0
window_rules:
- commands: ['toggle-floating']
match:
# Ignores any Zebar windows.
- window_process: { equals: 'zebar' }
# Ignores picture-in-picture windows for browsers.
- window_title: { regex: '[Pp]icture.in.[Pp]icture' }
window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' }
# Ignore rules for various 3rd-party apps.
- window_process: { equals: 'PowerToys' }
window_class: { regex: 'HwndWrapper\[PowerToys\.PowerAccent.*?\]' }
- window_process: { equals: 'PowerToys' }
window_title: { regex: '.*? - Peek' }
- window_process: { equals: 'Lively' }
window_class: { regex: 'HwndWrapper' }
- window_process: { equals: 'EXCEL' }
window_class: { not_regex: 'XLMAIN' }
- window_process: { equals: 'WINWORD' }
window_class: { not_regex: 'OpusApp' }
- window_process: { equals: 'POWERPNT' }
window_class: { not_regex: 'PPTFrameClass' }
- window_process: { equals: 'vivaldi' }
window_title: { regex: '画中画' }
window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' }
- commands: ["move --workspace 1", "focus --workspace 1"]
match:
- window_process: { regex: ".*" }
- commands: ["move --workspace 1", "focus --workspace 1"]
match:
- window_process: { regex: "Photoshop" }
binding_modes:
# When enabled, the focused window can be resized via arrow keys or HJKL.
- name: 'resize'
keybindings:
- commands: ['resize --width -2%']
bindings: ['h', 'left']
- commands: ['resize --width +2%']
bindings: ['l', 'right']
- commands: ['resize --height +2%']
bindings: ['k', 'up']
- commands: ['resize --height -2%']
bindings: ['j', 'down']
# Press enter/escape to return to default keybindings.
- commands: ['wm-disable-binding-mode --name resize']
bindings: ['escape', 'enter']
keybindings:
- commands: ['wm-cycle-focus']
bindings: ['alt+1']