Skip to content

Port to Hyprland 0.56.2 - #240

Draft
ahzay wants to merge 3 commits into
KZDKM:mainfrom
ahzay:fix/hyprland-0.56
Draft

Port to Hyprland 0.56.2#240
ahzay wants to merge 3 commits into
KZDKM:mainfrom
ahzay:fix/hyprland-0.56

Conversation

@ahzay

@ahzay ahzay commented Aug 29, 2026

Copy link
Copy Markdown

Update for the 0.56 workspace/monitor/window manager refactor:

  • Replace removed CCompositor methods with the new state managers:
    • State::workspaceState() (getWorkspaceByID, createNewWorkspace, getWorkspaces)
    • State::monitorState() (getMonitorFromID, getMonitorFromCursor, getMonitorFromName, m_monitors)
    • Desktop::viewState()->hitTest().windowAt() (vectorToWindowUnified)
    • Desktop::globalWindowController()->moveWindowToWorkspace() (moveWindowToWorkspaceSafe)
  • Use Fullscreen::controller() for fullscreen state and Fullscreen::eFullscreenMode / FSMODE_*
  • Replace g_pAnimationManager with Animation::mgr()
  • Use Pointer::pointerController()->warpTo() for warpCursorTo
  • Use monitor->scheduleFrame() for scheduleFrameForMonitor
  • Use positionAnimation()/sizeAnimation() accessors for m_realPosition/m_realSize
  • Update layer alpha to alpha()[LS_ALPHA_FADE] and restore hidden layers from tracked state
  • Fix AnimationManager.hpp include path (moved from managers/ to animation/)
  • Add hyprpm commit_pin for Hyprland 0.56.2

ahzay added 3 commits August 29, 2026 14:00
Update for the 0.56 workspace/monitor/window manager refactor:

- Replace removed CCompositor methods with the new state managers:
  - State::workspaceState() (getWorkspaceByID, createNewWorkspace, getWorkspaces)
  - State::monitorState() (getMonitorFromID, getMonitorFromCursor, getMonitorFromName, m_monitors)
  - Desktop::viewState()->hitTest().windowAt() (vectorToWindowUnified)
  - Desktop::globalWindowController()->moveWindowToWorkspace() (moveWindowToWorkspaceSafe)
- Use Fullscreen::controller() for fullscreen state and Fullscreen::eFullscreenMode / FSMODE_*
- Replace g_pAnimationManager with Animation::mgr()
- Use Pointer::pointerController()->warpTo() for warpCursorTo
- Use monitor->scheduleFrame() for scheduleFrameForMonitor
- Use positionAnimation()/sizeAnimation() accessors for m_realPosition/m_realSize
- Update layer alpha to alpha()[LS_ALPHA_FADE] and restore hidden layers from tracked state
- Fix AnimationManager.hpp include path (moved from managers/ to animation/)
- Add hyprpm commit_pin for Hyprland 0.56.2
HyprlandAPI::getConfigValue() returns null for built-in Hyprland
'gestures:*' options when called from a plugin in 0.56.2. The previous
code dereferenced the result unconditionally, causing a SEGV in
updateSwipe() (Input.cpp:136) and endSwipe() on every swipe.

Guard the lookups and fall back to Hyprland's built-in defaults
(distance=300, min_speed_to_force=30, cancel_ratio=0.5).
hyprctl dispatch is broken for colon/space dispatcher names on Hyprland
0.56.2 (it wraps args in Lua), so the overview:toggle dispatcher can't be
invoked from the config. Register hl.plugin.hyprspace.{toggle,open,close}
via addLuaFunction so gestures/keybinds can toggle the overview directly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant