Hyprland/hyprtester
John Mylchreest 5b1b79c29c
fix: handle fullscreen windows on special workspaces (#12851)
* fix: handle fullscreen windows on special workspaces

inFullscreenMode() only checked m_activeWorkspace, missing fullscreen
windows on special workspaces. This caused crashes and incorrect
behavior when fullscreen windows were on special workspaces.

Changes:
- inFullscreenMode() now checks special workspace first since it
  renders on top of regular workspaces
- Added getFullscreenWindow() helper to safely get fullscreen window
  from either active or special workspace
- Updated callers (shouldSkipScheduleFrameOnMouseEvent, Renderer,
  getFSImageDescription) to use the new helper
- Reset m_aboveFullscreen for layer surfaces when opening, closing,
  or stealing special workspaces between monitors

* test: add special workspace fullscreen detection tests

Add tests for the new special workspace fullscreen handling introduced
in the previous commit. The tests cover:

1. Fullscreen detection on special workspace - verifies that a window
   made fullscreen on a special workspace is correctly detected

2. Special workspace fullscreen precedence - verifies that when both
   regular and special workspaces have fullscreen windows, the special
   workspace window can be focused when the special workspace is opened

3. Toggle special workspace behavior - verifies that toggling the
   special workspace off properly hides it and returns focus to the
   regular workspace's fullscreen window

These tests exercise the key code paths modified in the fix:
- inFullscreenMode() checking special workspace first
- getFullscreenWindow() helper returning correct window
- Layer surface m_aboveFullscreen reset on special workspace toggle
2026-01-08 22:27:00 +01:00
..
clients testers: add missing #include <unistd.h> (#12862) 2026-01-05 16:42:35 +01:00
plugin keybinds: simulate mouse movement after bringing active window to top (#12703) 2025-12-27 21:27:59 +01:00
protocols protocols: implement pointer-warp-v1 (#11469) 2025-08-29 22:16:40 +02:00
src fix: handle fullscreen windows on special workspaces (#12851) 2026-01-08 22:27:00 +01:00
CMakeLists.txt keybinds: add inhibiting gestures under shortcut inhibitors (#12692) 2025-12-30 13:45:56 +01:00
test.conf keybinds: add inhibiting gestures under shortcut inhibitors (#12692) 2025-12-30 13:45:56 +01:00