ironbar icon indicating copy to clipboard operation
ironbar copied to clipboard

[Hyprland] Ironbar does not load on monitor connect.

Open ApproachingApathy opened this issue 1 year ago • 5 comments

Describe the bug When I plug in a monitor the bar doesn't appear. ironbar reload returns an error.

To Reproduce Steps to reproduce the behavior:

  1. Connect external monitors.
  2. Start ironbar.
  3. Bar should appear on all monitors.
  4. Disconnect monitors.
  5. Reconnect
  6. Bar will be on main display but not on externals.
  7. Try ironbar reload.
  8. You get some variation of "error" or image

Expected behavior Bar should spawn on newly connected monitors and not error on ironbar reload.

System information:

  • Distro: Arch Linux
  • Compositor: Hyprland (pkg: extra/hyprland)
Hyprland, built from branch  at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3  (props: bump version to 0.41.1).
Date: Thu Jun 13 09:54:06 2024
Tag: v0.41.1, commits: 4818

flags: (if any)
  • Ironbar version: ironbar 0.16.0-pre
    • yay -Q reports: v0.15.1.r74.gd0bdf31-1

Configuration

Share your bar configuration and stylesheet as applicable:

Config
position = "top"
height = 4

[[start]]
type = "workspaces"
all_monitors = false
icon_size = 6

[[center]]
type = "focused"
show_icon = true
show_title = true
icon_size = 16
truncate = "end"

[[end]]
name = "recording-indicator"
type = "label"
label = '''{{poll:2000:
if [[ -f /tmp/wl-screenrec.pid ]]; then
echo 󰑊 
else
echo 
fi
}}'''

[[end]]
type = 'sys_info'
format = [
    ' {cpu_percent}% | {temp_c:k10temp-Tctl}°C',
    ' {memory_percent}%',
    '󰋊 {disk_percent:/}%',
    '󰓢 {net_down:enp195s0f4u1u4} / {net_up:enp195s0f4u1u4} Mbps',
]

[[end]]
type = "upower"
format = "{percentage}%"
icon_size = 16

[[end]]
type = "clock"
format = "%H:%M"

[end.interval]
cpu = 1
disks = 300
memory = 30
networks = 3
temps = 5
Styles

Additional context Log:

2024-06-18T15:23:35.219091Z ERROR ironbar::logging: The application panicked (crashed).
Message:  Failed to get workspaces: SerdeError(Error("invalid number", line: 50, column: 18))
Location: src/clients/compositor/hyprland.rs:203

Screenshots

If applicable, add screenshots to help explain your problem.

ApproachingApathy avatar Jun 17 '24 19:06 ApproachingApathy

Hey, can you confirm what version(s) of Hyprland you are experiencing this on please?

JakeStanger avatar Jun 28 '24 22:06 JakeStanger

Hyprland, built from branch  at commit 9e781040d9067c2711ec2e9f5b47b76ef70762b3  (props: bump version to 0.41.1).
Date: Thu Jun 13 09:54:06 2024
Tag: v0.41.1, commits: 4818

flags: (if any)

ApproachingApathy avatar Jul 02 '24 14:07 ApproachingApathy

Fun, I've just tested this and I can see what's happening. I believe it's related to https://github.com/swaywm/sway/issues/8164 (and the related gtk issue). Effectively, I have to hope that GDK and Wayland report monitors in the same order, which appears to be true until you (dis)connect one.

I'm not sure what I can do about that yet but I'll have a think.

JakeStanger avatar Aug 17 '24 10:08 JakeStanger

So a fix has now been implemented in GTK for the issue. Once there's a new GTK3 release, I'll revert the logic in Ironbar to its previous implementation that should resolve this.

JakeStanger avatar Aug 18 '24 21:08 JakeStanger

gtk3 3.24.48 is now available on arch.

ApproachingApathy avatar Jan 28 '25 17:01 ApproachingApathy

Resolved by https://github.com/JakeStanger/ironbar/commit/7b220cb2ae53c952115cf33237e42d26e8b2f9fb

Apologies for the delay.

JakeStanger avatar May 19 '25 14:05 JakeStanger