Skip to content

Nest not working with Hyprland 0.54 - window address parsing fails #15

Description

@aneek0

After upgrading to Hyprland 0.54, nest no longer moves windows to correct workspaces. The logs show:

Tried to move window 0x0x... to N but a move could not be completed

Root cause

Hyprland 0.54 changed the format of window addresses in IPC events (like movewindowv2, openwindow). The address field now comes with the 0x prefix already included.

However, hyprland-rs v0.4.0-beta.3 uses Address::fmt_new() for parsing these events, which always prepends 0x to the address. This results in a double prefix like 0x0x1a2b3c4d.

When nest tries to move the window using this malformed address, Hyprland returns "Invalid value" because no window exists with address 0x0x....

Affected code

In src/state/mod.rs, the move_window function calls:

DispatchType::MoveToWorkspace(
    WorkspaceIdentifierWithSpecial::Id(workspace_id),
    Some(WindowIdentifier::Address(address.clone())),
)

The address here comes from the event listener and has the double 0x prefix.

Fix needed

Either:

  1. Update hyprland-rs to use Address::new() instead of Address::fmt_new() for event parsing (handles both prefixed and non-prefixed addresses correctly)
  2. Or Hyprland reverts to the old address format without prefix in events

Related: The format workspace,address:0x... for movetoworkspace is actually correct and matches Hyprland's documented API.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions