Skip to content

[BUG] pavucontrol/waypaper window rules use glob instead of regex in conf/ml4w.lua (never match) #1768

Description

@seifertd

Describe the bug

In dotfiles/.config/hypr/conf/ml4w.lua, the pavucontrol and waypaper window rules match on glob-style patterns rather than regex:

match = {class = "*org.pulseaudio.pavucontrol*"},   -- line 21
match = {class = "*waypaper*"},                     -- line 50

Hyprland matches class with RE2, which rejects a leading * as a repetition operator with no argument. Both rules therefore fail to compile and silently never match, so pavucontrol and waypaper no longer float / center / pin.

Hyprland logs this on every config load:

E0000 00:00:1785626067.483349  re2.cc:242] Error parsing '*org.pulseaudio.pavucontrol*': no argument for repetition operator: *
E0000 00:00:1785626067.483447  re2.cc:242] Error parsing '*waypaper*': no argument for repetition operator: *

Note that Hyprland --verify-config still reports config ok, so this is easy to miss — the rules are structurally valid, they just never match anything.

This looks like it was introduced by the hyprlang → Lua conversion. The equivalent rules in 2.12.2's conf/ml4w.conf used correct regex:

match:class = (.*org.pulseaudio.pavucontrol.*)
match:class = (.*waypaper.*)

The .* became * in the ported file. Still present on main as of today. All the other rules in ml4w.lua use plain literal class names, so these two appear to be the only affected ones.

Steps to reproduce

  1. Install/update to 2.14.1 on Hyprland 0.56.1.
  2. Run Hyprland --verify-config (or just check the log after login) — the two RE2 parse errors appear.
  3. Open pavucontrol or waypaper — the window tiles instead of floating/centering.

Expected behavior

The rules should match, and pavucontrol/waypaper should float and center as they did before the Lua migration. Restoring .* fixes it:

match = {class = ".*org.pulseaudio.pavucontrol.*"},
match = {class = ".*waypaper.*"},

Verified working on my system.

Screenshots

No response

Distribution

Arch Linux

If Other, specify

No response

Additional context

  • ML4W 2.14.1
  • Hyprland 0.56.1
  • Confirmed the same two lines are still present on main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestin workThis issue is being worked on

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions