[GH-ISSUE #469] Hyprland renamed workspaces not displaying correctly #8586

Closed
opened 2026-05-23 03:52:56 +01:00 by JakeStanger · 5 comments
Owner

Originally created by @m-bartlett on GitHub (Feb 24, 2024).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/469

Describe the bug
When using the renameworkspace dispatcher in Hyprland to rename a workspace, the workspace module keeps a ghost copy of the workspace's previous name and does not show a workspace icon with the new name. If ironbar is completely restarted then it shows the correct workspace state. My guess is the code interacting with the Hyperland IPC socket is not watching for renameworkspace events. I would work on a PR for this but I am not yet familiar with Rust :)

To Reproduce
Steps to reproduce the behavior:

In Hyprland:

  1. Change the workspace name, for example hyprctl dispatch renameworkspace 7 testname.
  2. Observe that the ironbar workspaces still show a ghost workspace 7, and no new workspace named testname appears.
  3. Switching to and from workspace 7 will not affect the "focus" of the ghost workspace 7.

Expected behavior

  1. Change the workspace name, for example hyprctl dispatch renameworkspace 7 testname.
  2. Observe that the ironbar workspaces shows a new workspace named testname and no ghost workspace 7. Changing workspaces to workspace id 7 causes the testname workspace to focus.

Also as a possible coinciding feature for the Hyprland version of the workspace module I would like to be able to sort the workspaces by their id property which is always its numerical placement, as opposed to alphabetically by its name property.

System information:

  • Distro: Arch Linux
  • Compositor: Hyprland
  • Ironbar version: ironbar --version reports ironbar 0.15.0-pre

Configuration

Share your bar configuration and stylesheet as applicable:

Config

Styles

Additional context

Add any other context about the problem here.

Screenshots

https://github.com/JakeStanger/ironbar/assets/85039141/b1a95793-c6fa-4f56-a63d-1066557005a3

In this screen capture, waybar is the top bar showing the desired behavior and ironbar is on the bottom showing the buggy behavior.

Originally created by @m-bartlett on GitHub (Feb 24, 2024). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/469 **Describe the bug** When using the `renameworkspace` dispatcher in Hyprland to rename a workspace, the workspace module keeps a ghost copy of the workspace's previous name and does not show a workspace icon with the new name. If ironbar is completely restarted then it shows the correct workspace state. My guess is the code interacting with the Hyperland IPC socket is not watching for `renameworkspace` events. I would work on a PR for this but I am not yet familiar with Rust :) **To Reproduce** Steps to reproduce the behavior: In Hyprland: 1. Change the workspace name, for example `hyprctl dispatch renameworkspace 7 testname`. 2. Observe that the ironbar workspaces still show a ghost workspace 7, and no new workspace named `testname` appears. 3. Switching to and from workspace 7 will not affect the "focus" of the ghost workspace 7. **Expected behavior** 1. Change the workspace name, for example `hyprctl dispatch renameworkspace 7 testname`. 2. Observe that the ironbar workspaces shows a new workspace named `testname` and no ghost workspace 7. Changing workspaces to workspace id 7 causes the `testname` workspace to focus. Also as a possible coinciding feature for the Hyprland version of the workspace module I would like to be able to sort the workspaces by their `id` property which is always its numerical placement, as opposed to alphabetically by its `name` property. **System information:** - Distro: Arch Linux - Compositor: Hyprland - Ironbar version: `ironbar --version` reports `ironbar 0.15.0-pre` **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** https://github.com/JakeStanger/ironbar/assets/85039141/b1a95793-c6fa-4f56-a63d-1066557005a3 In this screen capture, `waybar` is the top bar showing the desired behavior and ironbar is on the bottom showing the buggy behavior.
Author
Owner

@yavko commented on GitHub (Feb 24, 2024):

This seems to be the issue outlined in https://github.com/JakeStanger/ironbar/issues/426#issuecomment-1961011730

<!-- gh-comment-id:1962591620 --> @yavko commented on GitHub (Feb 24, 2024): This seems to be the issue outlined in https://github.com/JakeStanger/ironbar/issues/426#issuecomment-1961011730
Author
Owner

@yavko commented on GitHub (Feb 24, 2024):

Hyprland-rs recently had a PR to add renameworkspace, I'll have to publish a new release, as it's only on master atm, idk about sway though

<!-- gh-comment-id:1962679176 --> @yavko commented on GitHub (Feb 24, 2024): Hyprland-rs recently had a PR to add `renameworkspace`, I'll have to publish a new release, as it's only on master atm, idk about sway though
Author
Owner

@JakeStanger commented on GitHub (May 3, 2024):

@yavko is this unblocked now that the hyprland-rs v0.4 alpha is out?

<!-- gh-comment-id:2093781494 --> @JakeStanger commented on GitHub (May 3, 2024): @yavko is this unblocked now that the hyprland-rs v0.4 alpha is out?
Author
Owner

@yavko commented on GitHub (May 4, 2024):

@yavko is this unblocked now that the hyprland-rs v0.4 alpha is out?

Yeah it should all changes from after the last release are, so some optimizations too hopefully

<!-- gh-comment-id:2093947873 --> @yavko commented on GitHub (May 4, 2024): > @yavko is this unblocked now that the hyprland-rs v0.4 alpha is out? Yeah it should all changes from after the last release are, so some optimizations too hopefully
Author
Owner

@JakeStanger commented on GitHub (May 5, 2024):

Unfortunately this is still not possible, partly because Hyprland's IPC is a mess and partly because of missing events from hyprland-ipc.

Currently Ironbar is using the v1 events, because the v2 events aren't mapped. This means it's relying on workspace names as identifiers, rather than workspace IDs. Which a) isn't very helpful when the workspace names change, and b) means I cannot easily hook in the renameworkspace event that only provides the ID and not the old name.

By adding in some V2 events into hyprland-rs, I should be able to refactor Ironbar to correctly rely on the IDs and get this in. I should get time to do that myself this week.

<!-- gh-comment-id:2094766715 --> @JakeStanger commented on GitHub (May 5, 2024): Unfortunately this is still not possible, partly because Hyprland's IPC is a mess and partly because of missing events from hyprland-ipc. Currently Ironbar is using the v1 events, because the v2 events aren't mapped. This means it's relying on workspace names as identifiers, rather than workspace IDs. Which a) isn't very helpful when the workspace names change, and b) means I cannot easily hook in the `renameworkspace` event that only provides the ID and not the old name. By adding in some V2 events into hyprland-rs, I should be able to refactor Ironbar to correctly rely on the IDs and get this in. I should get time to do that myself this week.
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#8586
No description provided.