[GH-ISSUE #1042] All Ironbar instances show up in a single screen #8757

Closed
opened 2026-05-23 03:54:10 +01:00 by JakeStanger · 6 comments
Owner

Originally created by @uttarayan21 on GitHub (Jun 10, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1042

Describe the bug
When I put the display to sleep and then resume all ironbar instances show on my primary monitor.

To reproduce
Steps to reproduce the behavior:
On hyprland with multiple monitors

  1. hyprland display dpms
  2. Wait an undetermined amount of time (usually it takes a while)
  3. Move mouse to wake

Expected behavior
The system is same as how it was when the displays were turned off.

System information:

  • Distro: NixOS 25.11 Unstable
  • Compositor: Hyprland
  • Ironbar version: 0.16.1

Configuration

Config
{
  "monitors": {
    "DP-1": {
      "end": [
        {
          "type": "clock"
        }
      ],
      "icon_theme": "Papirus-Dark",
      "position": "bottom",
      "start": [
        {
          "show_icons": true,
          "show_names": false,
          "type": "launcher"
        },
        {
          "type": "focused"
        }
      ]
    },
    "DP-3": {
      "end": [
        {
          "max_items": 3,
          "truncate": {
            "length": 50,
            "mode": "end"
          },
          "type": "clipboard"
        },
        {
          "player_type": "mpris",
          "type": "music"
        },
        {
          "type": "clock"
        }
      ],
      "position": "bottom",
      "start": [
        {
          "favourites": [
            "firefox",
            "discord"
          ],
          "show_icons": true,
          "show_names": false,
          "type": "launcher"
        },
        {
          "type": "focused"
        }
      ]
    },
    "HDMI-A-1": {
      "end": [
        {
          "format": [
            "  CPU {cpu_percent}% | {temp_c:coretemp-Package-id-0}°C",
            "  RAM {memory_used}GB/{memory_total}GB"
          ],
          "interval": {
            "cpu": 1,
            "memory": 30,
            "temps": 5
          },
          "type": "sys_info"
        },
        {
          "type": "tray"
        }
      ],
      "icon_theme": "Papirus-Dark",
      "position": "bottom",
      "start": [
        {
          "all_monitors": true,
          "favorites": [
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10"
          ],
          "name_map": {
            "1": "icon:foot",
            "10": "icon:spotify",
            "2": "icon:code",
            "3": "icon:firefox",
            "4": "icon:slack",
            "5": "icon:steam",
            "6": "icon:misc",
            "7": "icon:misc",
            "8": "icon:firefox",
            "9": "icon:discord"
          },
          "type": "workspaces"
        }
      ]
    }
  }
}

Styles
/*
*
* Catppuccin Mocha palette
* Maintainer: rubyowo
*
*/

@define-color base   #1e1e2e;
@define-color mantle #181825;
@define-color crust  #11111b;

@define-color text     #cdd6f4;
@define-color subtext0 #a6adc8;
@define-color subtext1 #bac2de;

@define-color surface0 #313244;
@define-color surface1 #45475a;
@define-color surface2 #585b70;

@define-color overlay0 #6c7086;
@define-color overlay1 #7f849c;
@define-color overlay2 #9399b2;

@define-color blue      #89b4fa;
@define-color lavender  #b4befe;
@define-color sapphire  #74c7ec;
@define-color sky       #89dceb;
@define-color teal      #94e2d5;
@define-color green     #a6e3a1;
@define-color yellow    #f9e2af;
@define-color peach     #fab387;
@define-color maroon    #eba0ac;
@define-color red       #f38ba8;
@define-color mauve     #cba6f7;
@define-color pink      #f5c2e7;
@define-color flamingo  #f2cdcd;
@define-color rosewater #f5e0dc;
@define-color color_bg @base;
@define-color color_bg_dark @mantle;
@define-color color_border @crust;
@define-color color_border_active @mauve;
@define-color color_text #ffffff;
@define-color color_urgent @lavender;

/* -- base styles -- */

* {
  font-family: Noto Sans Nerd Font, sans-serif;
  font-size: 16px;
  border: none;
  border-radius: 0;
}

box, menubar, button {
  background-color: @color_bg;
  background-image: none;
}

button, label {
  color: @color_text;
}

button:hover {
  background-color: @color_bg_dark;
}

#bar {
  border-top: 1px solid @color_border;
}

.popup {
  border: 1px solid @color_border;
  padding: 1em;
}


/* -- clipboard -- */

.clipboard {
  margin-left: 5px;
  font-size: 1.1em;
}

.popup-clipboard .item {
  padding-bottom: 0.3em;
  border-bottom: 1px solid @color_border;
}


/* -- clock -- */

.clock {
  font-weight: bold;
  margin-left: 5px;
}

.popup-clock .calendar-clock {
  color: @color_text;
  font-size: 2.5em;
  padding-bottom: 0.1em;
}

.popup-clock .calendar {
  background-color: @color_bg;
  color: @color_text;
}

.popup-clock .calendar .header {
  padding-top: 1em;
  border-top: 1px solid @color_border;
  font-size: 1.5em;
}

.popup-clock .calendar:selected {
  background-color: @color_border_active;
}


/* -- launcher -- */

.launcher .item {
  margin-right: 4px;
}

.launcher .item:not(.focused):hover {
  background-color: @color_bg_dark;
}

.launcher .open {
  border-bottom: 1px solid @color_text;
}

.launcher .focused {
  border-bottom: 2px solid @color_border_active;
}

.launcher .urgent {
  border-bottom-color: @color_urgent;
}

.popup-launcher {
  padding: 0;
}

.popup-launcher .popup-item:not(:first-child) {
  border-top: 1px solid @color_border;
}


/* -- music -- */

.music:hover * {
  background-color: @color_bg_dark;
}

.popup-music .album-art {
  margin-right: 1em;
}

.popup-music .icon-box {
  margin-right: 0.4em;
}

.popup-music .title .icon, .popup-music .title .label {
  font-size: 1.7em;
}

.popup-music .controls *:disabled {
  color: @color_border;
}

.slider slider {
  color: @color_urgent;
  background-color: @color_urgent;
}

.popup-music .volume .slider slider {
  border-radius: 100%;
}

.popup-music .volume .icon {
  margin-left: 4px;
}

.popup-music .progress .slider slider {
  border-radius: 100%;
}

/* -- script -- */

.script {
  padding-left: 10px;
}


/* -- sys_info -- */

.sysinfo {
  margin-left: 10px;
}

.sysinfo .item {
  margin-left: 5px;
}


/* -- tray -- */

.tray {
  margin-left: 10px;
}


/* -- workspaces -- */

.workspaces .item.focused {
  box-shadow: inset 0 -3px;
  background-color: @color_bg_dark;
}

.workspaces .item:hover {
  box-shadow: inset 0 -3px;
}


/* -- custom: power menu -- */

.popup-power-menu #header {
  font-size: 1.4em;
  padding-bottom: 0.4em;
  margin-bottom: 0.6em;
  border-bottom: 1px solid @color_border;
}

.popup-power-menu .power-btn {
  border: 1px solid @color_border;
  padding: 0.6em 1em;
}

.popup-power-menu #buttons > *:nth-child(1) .power-btn {
  margin-right: 1em;
}

Additional context
Usually happens after a while and not If I immediately the display on and off
Doing
systemctl --user restart ironbar
fixes the issue
Screenshots

Image

Originally created by @uttarayan21 on GitHub (Jun 10, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1042 **Describe the bug** When I put the display to sleep and then resume all ironbar instances show on my primary monitor. **To reproduce** Steps to reproduce the behavior: On hyprland with multiple monitors 1. `hyprland display dpms` 2. Wait an undetermined amount of time (usually it takes a while) 3. Move mouse to wake **Expected behavior** The system is same as how it was when the displays were turned off. **System information:** - Distro: NixOS 25.11 Unstable - Compositor: Hyprland - Ironbar version: 0.16.1 **Configuration** <!-- Share your bar configuration and stylesheet as applicable: --> <details><summary>Config</summary> ``` { "monitors": { "DP-1": { "end": [ { "type": "clock" } ], "icon_theme": "Papirus-Dark", "position": "bottom", "start": [ { "show_icons": true, "show_names": false, "type": "launcher" }, { "type": "focused" } ] }, "DP-3": { "end": [ { "max_items": 3, "truncate": { "length": 50, "mode": "end" }, "type": "clipboard" }, { "player_type": "mpris", "type": "music" }, { "type": "clock" } ], "position": "bottom", "start": [ { "favourites": [ "firefox", "discord" ], "show_icons": true, "show_names": false, "type": "launcher" }, { "type": "focused" } ] }, "HDMI-A-1": { "end": [ { "format": [ " CPU {cpu_percent}% | {temp_c:coretemp-Package-id-0}°C", " RAM {memory_used}GB/{memory_total}GB" ], "interval": { "cpu": 1, "memory": 30, "temps": 5 }, "type": "sys_info" }, { "type": "tray" } ], "icon_theme": "Papirus-Dark", "position": "bottom", "start": [ { "all_monitors": true, "favorites": [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ], "name_map": { "1": "icon:foot", "10": "icon:spotify", "2": "icon:code", "3": "icon:firefox", "4": "icon:slack", "5": "icon:steam", "6": "icon:misc", "7": "icon:misc", "8": "icon:firefox", "9": "icon:discord" }, "type": "workspaces" } ] } } } ``` </details> <details><summary>Styles</summary> ```css /* * * Catppuccin Mocha palette * Maintainer: rubyowo * */ @define-color base #1e1e2e; @define-color mantle #181825; @define-color crust #11111b; @define-color text #cdd6f4; @define-color subtext0 #a6adc8; @define-color subtext1 #bac2de; @define-color surface0 #313244; @define-color surface1 #45475a; @define-color surface2 #585b70; @define-color overlay0 #6c7086; @define-color overlay1 #7f849c; @define-color overlay2 #9399b2; @define-color blue #89b4fa; @define-color lavender #b4befe; @define-color sapphire #74c7ec; @define-color sky #89dceb; @define-color teal #94e2d5; @define-color green #a6e3a1; @define-color yellow #f9e2af; @define-color peach #fab387; @define-color maroon #eba0ac; @define-color red #f38ba8; @define-color mauve #cba6f7; @define-color pink #f5c2e7; @define-color flamingo #f2cdcd; @define-color rosewater #f5e0dc; @define-color color_bg @base; @define-color color_bg_dark @mantle; @define-color color_border @crust; @define-color color_border_active @mauve; @define-color color_text #ffffff; @define-color color_urgent @lavender; /* -- base styles -- */ * { font-family: Noto Sans Nerd Font, sans-serif; font-size: 16px; border: none; border-radius: 0; } box, menubar, button { background-color: @color_bg; background-image: none; } button, label { color: @color_text; } button:hover { background-color: @color_bg_dark; } #bar { border-top: 1px solid @color_border; } .popup { border: 1px solid @color_border; padding: 1em; } /* -- clipboard -- */ .clipboard { margin-left: 5px; font-size: 1.1em; } .popup-clipboard .item { padding-bottom: 0.3em; border-bottom: 1px solid @color_border; } /* -- clock -- */ .clock { font-weight: bold; margin-left: 5px; } .popup-clock .calendar-clock { color: @color_text; font-size: 2.5em; padding-bottom: 0.1em; } .popup-clock .calendar { background-color: @color_bg; color: @color_text; } .popup-clock .calendar .header { padding-top: 1em; border-top: 1px solid @color_border; font-size: 1.5em; } .popup-clock .calendar:selected { background-color: @color_border_active; } /* -- launcher -- */ .launcher .item { margin-right: 4px; } .launcher .item:not(.focused):hover { background-color: @color_bg_dark; } .launcher .open { border-bottom: 1px solid @color_text; } .launcher .focused { border-bottom: 2px solid @color_border_active; } .launcher .urgent { border-bottom-color: @color_urgent; } .popup-launcher { padding: 0; } .popup-launcher .popup-item:not(:first-child) { border-top: 1px solid @color_border; } /* -- music -- */ .music:hover * { background-color: @color_bg_dark; } .popup-music .album-art { margin-right: 1em; } .popup-music .icon-box { margin-right: 0.4em; } .popup-music .title .icon, .popup-music .title .label { font-size: 1.7em; } .popup-music .controls *:disabled { color: @color_border; } .slider slider { color: @color_urgent; background-color: @color_urgent; } .popup-music .volume .slider slider { border-radius: 100%; } .popup-music .volume .icon { margin-left: 4px; } .popup-music .progress .slider slider { border-radius: 100%; } /* -- script -- */ .script { padding-left: 10px; } /* -- sys_info -- */ .sysinfo { margin-left: 10px; } .sysinfo .item { margin-left: 5px; } /* -- tray -- */ .tray { margin-left: 10px; } /* -- workspaces -- */ .workspaces .item.focused { box-shadow: inset 0 -3px; background-color: @color_bg_dark; } .workspaces .item:hover { box-shadow: inset 0 -3px; } /* -- custom: power menu -- */ .popup-power-menu #header { font-size: 1.4em; padding-bottom: 0.4em; margin-bottom: 0.6em; border-bottom: 1px solid @color_border; } .popup-power-menu .power-btn { border: 1px solid @color_border; padding: 0.6em 1em; } .popup-power-menu #buttons > *:nth-child(1) .power-btn { margin-right: 1em; } ``` </details> **Additional context** Usually happens after a while and not If I immediately the display on and off Doing `systemctl --user restart ironbar` fixes the issue **Screenshots** ![Image](https://github.com/user-attachments/assets/385b806e-63ce-4684-814c-52612fae258f)
JakeStanger 2026-05-23 03:54:10 +01:00
Author
Owner

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

Ah, I think I know what this is. This was caused by a workaround for a GTK3 bug, and is fixed on the git version.

If you try that (you can use the flake in the repo) you should find that resolves the issue. Let me know if not.

<!-- gh-comment-id:2963325451 --> @JakeStanger commented on GitHub (Jun 11, 2025): Ah, I think I know what this is. This was caused by a workaround for a GTK3 bug, and is fixed on the git version. If you try that (you can use the flake in the repo) you should find that resolves the issue. Let me know if not.
Author
Owner

@uttarayan21 commented on GitHub (Jun 12, 2025):

I tried the latest git version and that seems to have worked. I'll close and let you know if it shows up again

<!-- gh-comment-id:2967055401 --> @uttarayan21 commented on GitHub (Jun 12, 2025): I tried the latest git version and that seems to have worked. I'll close and let you know if it shows up again
Author
Owner

@uttarayan21 commented on GitHub (Jun 26, 2025):

Image

Seems like the issue resurfaced again.
but this time the bar from the 3rd monitor appears on the 2nd one and not duplicated like the last time.

<!-- gh-comment-id:3007508166 --> @uttarayan21 commented on GitHub (Jun 26, 2025): ![Image](https://github.com/user-attachments/assets/2168b82c-3387-4b9d-9f39-286acf19e94a) Seems like the issue resurfaced again. but this time the bar from the 3rd monitor appears on the 2nd one and not duplicated like the last time.
Author
Owner

@da-x commented on GitHub (Aug 6, 2025):

@uttarayan21 can you try the fix in the PR?

<!-- gh-comment-id:3159866896 --> @da-x commented on GitHub (Aug 6, 2025): @uttarayan21 can you try the fix in the PR?
Author
Owner

@uttarayan21 commented on GitHub (Aug 15, 2025):

I've installed the fix. I'll let you know if it is working.

<!-- gh-comment-id:3192723502 --> @uttarayan21 commented on GitHub (Aug 15, 2025): I've installed the fix. I'll let you know if it is working.
Author
Owner

@uttarayan21 commented on GitHub (Aug 18, 2025):

@da-x It seems like the issue is fixed, thank you.

<!-- gh-comment-id:3197459050 --> @uttarayan21 commented on GitHub (Aug 18, 2025): @da-x It seems like the issue is fixed, thank you.
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#8757
No description provided.