[GH-ISSUE #899] [Custom] Buttons lock up on long commands #3084

Closed
opened 2026-05-22 23:53:57 +01:00 by JakeStanger · 1 comment
Owner

Originally created by @Leshuguita on GitHub (Mar 14, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/899

Describe the bug
If a button has a long running command in on_click, it'll execute the command once, wait for it to close, them run the command again.

This is different from the behavior of other widgets, like labels with a command in on_left_click. In that case, the command will be executed again as soon as you click, regardless of if the previous instance is still running.

To Reproduce
Steps to reproduce the behavior:

  1. Make a button with a command that'll take a long time (for example, launch an app)
  2. Click on it
  3. Click on it again while it does its thing (for example, while the app is open.) It'll do nothing.
  4. Once the first execution ends, the second will being

Expected behavior
I'd expect it to run its command immediately each time it's clicked, regardless of if the previous execution is finished or not.

System information:

  • Distro: NixOS (unstable)
  • Compositor: Hyprland
  • Ironbar version: 0.16.1

Configuration

Minimal Config to reproduce
[[start]]
type = "custom"

[[start.bar]]
type = "button"
label = "launch terminal"
on_click = "!xdg-terminal-exec"
Originally created by @Leshuguita on GitHub (Mar 14, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/899 **Describe the bug** If a button has a long running command in `on_click`, it'll execute the command once, wait for it to close, them run the command again. This is different from the behavior of other widgets, like labels with a command in `on_left_click`. In that case, the command will be executed again as soon as you click, regardless of if the previous instance is still running. **To Reproduce** Steps to reproduce the behavior: 1. Make a button with a command that'll take a long time (for example, launch an app) 2. Click on it 3. Click on it again while it does its thing (for example, while the app is open.) It'll do nothing. 4. Once the first execution ends, the second will being **Expected behavior** I'd expect it to run its command immediately each time it's clicked, regardless of if the previous execution is finished or not. **System information:** - Distro: NixOS (unstable) - Compositor: Hyprland - Ironbar version: 0.16.1 **Configuration** <details><summary>Minimal Config to reproduce</summary> ``` [[start]] type = "custom" [[start.bar]] type = "button" label = "launch terminal" on_click = "!xdg-terminal-exec" ``` </details>
JakeStanger 2026-05-22 23:53:57 +01:00
  • closed this issue
  • added the
    T:Bug
    label
Author
Owner

@JakeStanger commented on GitHub (Mar 24, 2025):

Thanks for reporting, fix on the way

<!-- gh-comment-id:2747895313 --> @JakeStanger commented on GitHub (Mar 24, 2025): Thanks for reporting, fix on the way
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#3084
No description provided.