Skip to content

v0.4.0

Choose a tag to compare

@BlueManCZ BlueManCZ released this 16 May 19:42
· 3 commits to main since this release
8765f4d

Added

  • hyprland_state.dispatchers_for_effect(name, args, window) and revert_dispatchers_for_effect(name, args, window) — per-window retroactive dispatch translation for Hyprland window-rule effects. Returns the (dispatcher, arg) tuples that bring an already-mapped window into a rule's target state (apply path) or back out of it (revert path).
  • hyprland_state.SETPROP_PASSTHROUGH_EFFECTS and hyprland_state.RETROACTIVE_EFFECTS — frozensets exposing the curated effect catalog used by the dispatch helpers. Callers can use RETROACTIVE_EFFECTS as a fast-path predicate to skip the get_windows IPC round-trip when no outgoing effect could mutate existing windows.
  • Monitors.get_all_cached() — list-returning counterpart to the renamed get_cached() (see Changed).
  • AnimState.from_keyword(), body(), to_line(), to_data() — parse/serialize helpers that mirror hyprland_config.AnimationData's shape, with to_data() projecting to the format-only sibling.

Changed

  • BREAKINGMonitors.get_cached() now takes a name argument and returns MonitorState | None, matching Animations.get_cached(name). The previous list-returning form is now Monitors.get_all_cached().
  • HyprlandState.discard() now falls back to the schema default when an option has no on-disk value, so a single discard call fully restores the compositor to its pre-edit state. Previously it returned None for those keys and required the caller to send a fallback value via IPC.