Skip to content

[Bug] "restart-interval": 0 on one-shot scripts creates silent render loop that kills all tooltips #4842

@tteeaa

Description

@tteeaa

Description:

I have discovered that setting "restart-interval": 0 on a custom module that executes a "one-shot" script (exits immediately with code 0) creates a tight restart loop that silently breaks the UI.

Because the script exits instantly, Waybar restarts it immediately. I believe this cycle stops the event loop, stopping tooltips from displaying.

Reproduction Steps:

  1. Create a script repro_script.sh that outputs JSON and exits:
#!/bin/bash
echo '{"text": "HOVER ME", "tooltip": "If you see this, the bug is fixed."}'
  1. Run Waybar with this minimal config:
{
    "layer": "top",
    "modules-center": ["custom/crasher", "clock"],
    "clock": {
        "tooltip": true,
        "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"

    },
    "custom/crasher": {
        "format": "{text}",
        "return-type": "json",
        "exec": "~/repro_script.sh",
        "restart-interval": 0  // <--- THE PROBLEM
    }
}
  1. Hover over the Clock Module.

Expected Behavior:
The Clock tooltip should appear. If custom/crasher is restarting too fast, Waybar should warn the user or throttle the module (either way, it should have logs).

Actual Behavior:
The bar renders, but tooltips are completely dead for all modules. Logs show no errors, effectively creating a "silent failure."
Commenting out the restart-interval line will bring back the tooltips.

Image

Environment:

  • Waybar v0.15.0
  • OS: Arch Linux

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions