Skip to content

possible memory leak with minimal Hyprland-only config #5186

Description

@WXZhao7

Describe the bug

Waybar appears to grow memory steadily over time even with a very small configuration.

Image

In this test run, CSS was disabled and only two built-in Hyprland modules were enabled:

  • hyprland/workspaces
  • hyprland/window

All center/right modules were commented out.

To reproduce

systemctl --user start waybar.service

{
  "layer": "top",
  "position": "top",
  "height": 34,
  "spacing": 0,
  "modules-left": [
    "hyprland/workspaces",
    "hyprland/window"
  ],
  "hyprland/workspaces": {
    "format": "{icon} {windows}",
    "format-window-separator": "",
    "sort-by": "id",
    "show-special": true,
    "special-visible-only": true,
    "on-scroll-up": "hyprctl dispatch 'hl.dsp.focus({ workspace = \"e+1\" })'",
    "on-scroll-down": "hyprctl dispatch 'hl.dsp.focus({ workspace = \"e-1\" })'",
    "format-icons": {
      "urgent": "",
      "special": "󰊠"
    },
    "workspace-taskbar": {
      "enable": true,
      "update-active-window": true,
      "format": "{icon}",
      "icon-size": 20,
      "on-click-window": "hyprctl dispatch 'hl.dsp.focus({ window = \"address:{address}\" })'"
    }
  },
  "hyprland/window": {
    "format": "{title}",
    "icon": true,
    "icon-size": 16,
    "max-length": 54,
    "separate-outputs": true,
    "rewrite": {
      "^\\s*$": "Desktop"
    }
  }
}

Expected behaviour
Waybar memory usage should remain mostly stable over time after startup.

Screenshots
If applicable, add screenshots to help explain the problem.

Environment

  • Waybar: v0.15.0
  • OS/kernel: Linux arch 7.1.2-arch3-1 x86_64
  • Installed from Arch Linux official package: extra/waybar 0.15.0-2
  • Compositor: Hyprland 0.55.4

Debug output

❯ waybar -l debug
[2026-07-06 19:15:32.807] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config
[2026-07-06 19:15:32.807] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config.jsonc
[2026-07-06 19:15:32.807] [debug] Found config file: /home/xxx/.config/waybar/config.jsonc
[2026-07-06 19:15:32.807] [info] Using configuration file /home/xxx/.config/waybar/config.jsonc
[2026-07-06 19:15:32.809] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style.css
[2026-07-06 19:15:32.809] [debug] Try expanding: $HOME/.config/waybar/style.css
[2026-07-06 19:15:32.809] [debug] Try expanding: $HOME/waybar/style.css
[2026-07-06 19:15:32.809] [debug] Try expanding: /etc/xdg/waybar/style.css
[2026-07-06 19:15:32.809] [debug] Found config file: /etc/xdg/waybar/style.css
[2026-07-06 19:15:32.809] [info] Using CSS file /etc/xdg/waybar/style.css
[2026-07-06 19:15:32.817] [debug] Output detection done: DP-2 (Xiaomi Corporation Mi Monitor )
[2026-07-06 19:15:32.818] [debug] window-rewrite is not defined or is not an object, using default rules.
[2026-07-06 19:15:32.818] [info] Hyprland IPC starting
[2026-07-06 19:15:32.818] [debug] Initializing workspaces
[2026-07-06 19:15:32.822] [debug] Initializing persistent workspaces
[2026-07-06 19:15:32.822] [info] Loading persistent workspaces from Hyprland workspace rules
[2026-07-06 19:15:32.822] [info] Registering for Hyprland's 'activewindowv2' events because 'update-active-window' is set to true.
[2026-07-06 19:15:32.831] [debug] GTK widget tree:
window#waybar.background.top.DP-2..mode-default.solo.firefox:dir(ltr)
  decoration:dir(ltr)
  box.horizontal:dir(ltr)
    box.horizontal.modules-left:dir(ltr)
      widget:dir(ltr)
        box#workspaces.horizontal.module:dir(ltr)
      widget:dir(ltr)
        box#window.horizontal.module:dir(ltr)
          image:dir(ltr)
          label:dir(ltr)
    box.horizontal.modules-center:dir(ltr)
    box.horizontal.modules-right:dir(ltr)

[2026-07-06 19:15:32.831] [debug] Creating workspace special:magic
[2026-07-06 19:15:32.832] [debug] Creating workspace 2
[2026-07-06 19:15:32.832] [debug] Creating workspace 1
[2026-07-06 19:15:32.832] [debug] Creating workspace 3
[2026-07-06 19:15:32.832] [debug] Creating workspace 4
[2026-07-06 19:15:32.832] [debug] Creating workspace 5
[2026-07-06 19:15:32.832] [debug] Creating workspace 6
[2026-07-06 19:15:32.835] [debug] Using 'desktop' search path prefix: 
[2026-07-06 19:15:32.835] [debug] Using 'desktop' search path prefix: /home/xxx/.local/share/
[2026-07-06 19:15:32.835] [debug] Using 'desktop' search path prefix: /usr/local/share/
[2026-07-06 19:15:32.835] [debug] Using 'desktop' search path prefix: /usr/share/
[2026-07-06 19:15:32.876] [debug] Received SIGCHLD in signalThread
[2026-07-06 19:15:32.880] [info] Bar configured (width: 1920, height: 34) for output: DP-2
[2026-07-06 19:15:32.885] [debug] hyprland IPC received openlayer>>waybar
[2026-07-06 19:16:02.864] [debug] Received SIGCHLD in signalThread
[2026-07-06 19:16:02.883] [debug] Received SIGCHLD in signalThread

Additional context
Anything else that might help.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions