[GH-ISSUE #1044] Workspaces module does not update workspace order when rearranged #7354

Open
opened 2026-05-23 02:54:03 +01:00 by JakeStanger · 2 comments
Owner

Originally created by @pgattic on GitHub (Jun 13, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1044

Describe the bug
I am on Niri, when I use keybinds that move workspaces around, the numbers on the workspace indicators correctly update, but their order does not.

To reproduce
Steps to reproduce the behavior:

  1. Launch Ironbar under Niri
  2. Open a program on the first workspace and another one on the second one
  3. Go to the second workspace, move it up by running the command niri msg action move-workspace-up
  4. Observe that the numbers updated, but not the order. Did (1 [2] 3) -> (2 [1] 3) instead of (1 [2] 3) -> ([1] 2 3)

Expected behavior
The order should corrected when workspaces are rearranged. Currently, I can fix it each time by running ironbar reload

System information:

  • Distro: Arch Linux
  • Compositor: Niri
  • Ironbar version: 0.16.1

Configuration

Config
let {} in {
  position = "top"

  start = [
    {
      type = "workspaces"
      all_monitors = false
    }
  ]
}
Originally created by @pgattic on GitHub (Jun 13, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1044 **Describe the bug** I am on Niri, when I use keybinds that move workspaces around, the numbers on the workspace indicators correctly update, but their order does not. **To reproduce** Steps to reproduce the behavior: 1. Launch Ironbar under Niri 2. Open a program on the first workspace and another one on the second one 3. Go to the second workspace, move it up by running the command `niri msg action move-workspace-up` 4. Observe that the numbers updated, but not the order. Did `(1 [2] 3) -> (2 [1] 3)` instead of `(1 [2] 3) -> ([1] 2 3)` **Expected behavior** The order should corrected when workspaces are rearranged. Currently, I can fix it each time by running `ironbar reload` **System information:** - Distro: Arch Linux - Compositor: Niri - Ironbar version: 0.16.1 **Configuration** <details><summary>Config</summary> ``` let {} in { position = "top" start = [ { type = "workspaces" all_monitors = false } ] } ``` </details>
Author
Owner

@pgattic commented on GitHub (Jun 18, 2025):

For any other Niri users experiencing this problem, this is the fix I have for now, in my Niri config:

binds {
  // Metaphorical "whack with a shovel" (https://futurism.com/the-byte/nasa-mars-lander-hit-itself-shovel)
  Mod+Shift+Page_Down { spawn "bash" "-c" "niri msg action move-workspace-down && ironbar reload"; }
  Mod+Shift+Page_Up   { spawn "bash" "-c" "niri msg action move-workspace-up && ironbar reload"; }
  Mod+Shift+U         { spawn "bash" "-c" "niri msg action move-workspace-down && ironbar reload"; }
  Mod+Shift+I         { spawn "bash" "-c" "niri msg action move-workspace-up && ironbar reload"; }
}

edit: Shift instead of Ctrl, in line with Niri's default config

<!-- gh-comment-id:2985157454 --> @pgattic commented on GitHub (Jun 18, 2025): For any other Niri users experiencing this problem, this is the fix I have for now, in my Niri config: ```kdl binds { // Metaphorical "whack with a shovel" (https://futurism.com/the-byte/nasa-mars-lander-hit-itself-shovel) Mod+Shift+Page_Down { spawn "bash" "-c" "niri msg action move-workspace-down && ironbar reload"; } Mod+Shift+Page_Up { spawn "bash" "-c" "niri msg action move-workspace-up && ironbar reload"; } Mod+Shift+U { spawn "bash" "-c" "niri msg action move-workspace-down && ironbar reload"; } Mod+Shift+I { spawn "bash" "-c" "niri msg action move-workspace-up && ironbar reload"; } } ``` edit: Shift instead of Ctrl, in line with Niri's default config
Author
Owner

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

Ouch that's a nasty whack. I'll see if I can come up with something more gentle ;)

<!-- gh-comment-id:2985411619 --> @JakeStanger commented on GitHub (Jun 18, 2025): Ouch that's a nasty whack. I'll see if I can come up with something more gentle ;)
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#7354
No description provided.