[GH-ISSUE #1028] Can't toggle the popup for a custom module via the IPC #4535

Closed
opened 2026-05-23 00:54:06 +01:00 by JakeStanger · 2 comments
Owner

Originally created by @postsolar on GitHub (Jun 3, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1028

Describe the bug

#1022

To reproduce
Steps to reproduce the behavior:

  1. Add module custom
    {
      "type": "custom",
      "name": "xxxx",
      "bar": [
        {
          "type": "bindmode"
        }
      ],
      "popup": [
        {
          "type": "label",
          "name": "xxxy",
          "label": "A\nB\nC\n"
        }
      ]
    }
  1. Try toggling the popup via the IPC
$ ironbar bar hyprbar show-popup custom
error
Module has no popup functionality
$ ironbar bar hyprbar show-popup xxxx
error
Module has no popup functionality
$ ironbar bar hyprbar show-popup xxxy
error
Invalid module name

Expected behavior

Popup shows up

System information:

  • Distro: NixOS
  • Compositor: Hyprland
  • Ironbar version: 0.16.1 b674d9b44b

Configuration

Config

Styles

Additional context

Screenshots

Originally created by @postsolar on GitHub (Jun 3, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1028 **Describe the bug** <!-- A clear and concise description of what the bug is. --> #1022 **To reproduce** Steps to reproduce the behavior: 1. Add module `custom` ```json { "type": "custom", "name": "xxxx", "bar": [ { "type": "bindmode" } ], "popup": [ { "type": "label", "name": "xxxy", "label": "A\nB\nC\n" } ] } ``` 2. Try toggling the popup via the IPC ```console $ ironbar bar hyprbar show-popup custom error Module has no popup functionality $ ironbar bar hyprbar show-popup xxxx error Module has no popup functionality $ ironbar bar hyprbar show-popup xxxy error Invalid module name ``` **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> Popup shows up **System information:** - Distro: NixOS - Compositor: Hyprland - Ironbar version: 0.16.1 b674d9b44bedc67b189ef04a74577240dc885309 **Configuration** <!-- Share your bar configuration and stylesheet as applicable: --> <details><summary>Config</summary> ``` ``` </details> <details><summary>Styles</summary> ```css ``` </details> **Additional context** <!-- Add any other context about the problem here. --> **Screenshots** <!-- If applicable, add screenshots to help explain your problem. -->
JakeStanger 2026-05-23 00:54:06 +01:00
Author
Owner

@JakeStanger commented on GitHub (Jun 22, 2025):

I think the problem here is possibly that bindmode itself doesn't have a popup and its forwarding through to that.

Try wrapping it in a button with an on_click handler to open the popup, this works for me:

{
  "name": "hyprbar",
  "start": [
    {
      "type": "custom",
      "name": "xxxx",
      "bar": [
        {
          "type": "button",
          "on_click": "popup:toggle",
          "widgets": [
            {
              "type": "bindmode"
            }
          ]
        }
      ],
      "popup": [
        {
          "type": "label",
          "name": "xxxy",
          "label": "A\nB\nC\n"
        }
      ]
    }
  ]
}

Then:

ironbar bar hyprbar show-popup xxxx
<!-- gh-comment-id:2994298427 --> @JakeStanger commented on GitHub (Jun 22, 2025): I think the problem here is possibly that `bindmode` itself doesn't have a popup and its forwarding through to that. Try wrapping it in a button with an `on_click` handler to open the popup, this works for me: ```json { "name": "hyprbar", "start": [ { "type": "custom", "name": "xxxx", "bar": [ { "type": "button", "on_click": "popup:toggle", "widgets": [ { "type": "bindmode" } ] } ], "popup": [ { "type": "label", "name": "xxxy", "label": "A\nB\nC\n" } ] } ] } ``` Then: ```bash ironbar bar hyprbar show-popup xxxx ```
Author
Owner

@postsolar commented on GitHub (Jun 22, 2025):

Awesome, exactly what I was looking for. Thank you. My usecase is resolved now so I guess I'll close it now.

<!-- gh-comment-id:2994466229 --> @postsolar commented on GitHub (Jun 22, 2025): Awesome, exactly what I was looking for. Thank you. My usecase is resolved now so I guess I'll close it now.
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#4535
No description provided.