glzr-io / glazewm

GlazeWM is a tiling window manager for Windows inspired by i3wm.
GNU General Public License v3.0
4.89k stars 143 forks source link

[Bug] Window is stuck "Fullscreen"ed if it was fullscreened before running GlazeWM #682

Open xill47 opened 3 weeks ago

xill47 commented 3 weeks ago

Describe the bug

If I run Glaze when I already have window opened in "fullscreen" (so not maximized, but taking up 1920*1080 on a 1080p monitor) the whole workspace gets borked and only fullscreen windows are allowed there, with no way to change them to tiling

Reproduction

  1. Open a window and resize it so its taking the whole screen
  2. Run GlazeWM
  3. Try to toggle-tiling on it, move another window into workspace, etc

Stack trace or error logs (if applicable)

←[2m2024-08-19T10:29:33.684306Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: WindowManaged { managed_window: Window(WindowDto { id: 121fe1b5-3f0c-458b-a5e5-4449368c1b8d, parent_id: Some(9606e0d7-d292-4f26-8019-7ac7cb7d28b9), has_focus: true, tiling_size: Some(1.0), width: 1918, height: 1078, x: -1919, y: 1, state: Tiling, prev_state: None, display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: -1577, top: 211, right: -342, bottom: 869 }, handle: 40897658, title: "PowerShell", class_name: "CASCADIA_HOSTING_WINDOW_CLASS", process_name: "WindowsTerminal", active_drag: None }) }
←[2m2024-08-19T10:29:33.685625Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: FocusChanged { focused_container: Window(WindowDto { id: 121fe1b5-3f0c-458b-a5e5-4449368c1b8d, parent_id: Some(9606e0d7-d292-4f26-8019-7ac7cb7d28b9), has_focus: true, tiling_size: Some(1.0), width: 1918, height: 1078, x: -1919, y: 1, state: Tiling, prev_state: None, display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: -1577, top: 211, right: -342, bottom: 869 }, handle: 40897658, title: "PowerShell", class_name: "CASCADIA_HOSTING_WINDOW_CLASS", process_name: "WindowsTerminal", active_drag: None }) }
←[2m2024-08-19T10:29:33.685946Z←[0m ←[32m INFO←[0m ←[2mglazewm_watcher←[0m←[2m:←[0m Watcher added handle: 40897658.
←[2m2024-08-19T10:29:33.717667Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_location_changed←[0m←[2m:←[0m Window fullscreened
←[2m2024-08-19T10:29:33.720125Z←[0m ←[32m INFO←[0m ←[2mglazewm::windows::commands::update_window_state←[0m←[2m:←[0m Updating window state: Fullscreen(FullscreenStateConfig { maximized: false, shown_on_top: false }).
←[2m2024-08-19T10:29:35.387469Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_title_changed←[0m←[2m:←[0m Window title changed
←[2m2024-08-19T10:29:37.835914Z←[0m ←[32m INFO←[0m ←[2mglazewm::windows::commands::update_window_state←[0m←[2m:←[0m Updating window state: Tiling.
←[2m2024-08-19T10:29:37.836234Z←[0m ←[32m INFO←[0m ←[2mglazewm←[0m←[2m:←[0m Received WM event: FocusedContainerMoved { focused_container: Window(WindowDto { id: 121fe1b5-3f0c-458b-a5e5-4449368c1b8d, parent_id: Some(9606e0d7-d292-4f26-8019-7ac7cb7d28b9), has_focus: true, tiling_size: Some(1.0), width: 1918, height: 1078, x: -1919, y: 1, state: Tiling, prev_state: Some(Fullscreen(FullscreenStateConfig { maximized: false, shown_on_top: false })), display_state: Shown, border_delta: RectDelta { left: LengthValue { amount: 0.0, unit: Pixel }, top: LengthValue { amount: 0.0, unit: Pixel }, right: LengthValue { amount: 0.0, unit: Pixel }, bottom: LengthValue { amount: 0.0, unit: Pixel } }, floating_placement: Rect { left: -1577, top: 211, right: -342, bottom: 869 }, handle: 40897658, title: "pwsh in x-i-l", class_name: "CASCADIA_HOSTING_WINDOW_CLASS", process_name: "WindowsTerminal", active_drag: None }) }
←[2m2024-08-19T10:29:37.839045Z←[0m ←[32m INFO←[0m ←[2mglazewm::common::events::handle_window_location_changed←[0m←[2m:←[0m Window fullscreened
←[2m2024-08-19T10:29:37.839956Z←[0m ←[32m INFO←[0m ←[2mglazewm::windows::commands::update_window_state←[0m←[2m:←[0m Updating window state: Fullscreen(FullscreenStateConfig { maximized: false, shown_on_top: false }).


### Version number

3.1.1
xill47 commented 3 weeks ago

This is also a problem if there are small border gaps on all sides and there is a last window in the workspace