Description
Different compositors have different workspace behaviors. Need a policy system to configure how hyprlax handles each compositor's quirks and features.
Current Status
- Hard-coded behaviors
- No configuration options
- No policy system
- Limited flexibility
Tasks
Policy Framework
Workspace Policies
Animation Policies
Tag/Set Policies (River/Wayfire)
Special Cases
Configuration Example
[policies.hyprland]
bind_workspace_to_output = false
animate_on_focus_change = true
handle_special_workspace = true
detect_split_monitor_plugin = true
[policies.sway]
handle_workspace_stealing = true
sticky_workspaces = false
animate_steal_events = true
[policies.river]
tag_policy = "highest" # highest/lowest/first/none
multi_tag_parallax = false
animate_tag_toggle = true
[policies.niri]
continuous_scroll = true
per_output_stacks = true
smooth_animation = true
[policies.wayfire]
handle_workspace_sets = true
grid_animation = "both" # horizontal/vertical/both
detect_wsets_plugin = true
Implementation Notes
- Policies should be compositor-specific
- Allow graceful degradation
- Provide sensible defaults
- Document policy effects
References
- memory/compositor-workspace-analysis.md
- Individual compositor issues
Description
Different compositors have different workspace behaviors. Need a policy system to configure how hyprlax handles each compositor's quirks and features.
Current Status
Tasks
Policy Framework
Workspace Policies
Animation Policies
Tag/Set Policies (River/Wayfire)
Special Cases
Configuration Example
Implementation Notes
References