waybar disappeared on external monitor after swtiching back to extend from mirror mode
I have my monitor presets like this in my hyprland.conf
monitor=eDP-1,1920x1200@60,0x0,1 # main monitor
monitor=HDMI-A-2,1920x1080@75,1920x0,1 # external monitor (extend)
# monitor=HDMI-A-2,1920x1080@75,auto,1,mirror,eDP-1 # external monitor (mirror)
If I want to swtiching back and forth between extend and mirror mode I just comment and uncomment the other.
The problem is when I switch to mirror mode and switch back to extend mode. Waybar won’t show on my external monitor anymore.
This is some additional information that could be related to the problem:
- Output of
hyprctl monitors
Monitor eDP-1 (ID 0):
[email protected] at 0x0
description: KDB 0x0717
make: KDB
model: 0x0717
serial:
active workspace: 2 (2)
special workspace: 0 ()
reserved: 0 35 0 0
scale: 1.00
transform: 0
focused: no
dpmsStatus: 1
vrr: false
solitary: 0
activelyTearing: false
directScanoutTo: 0
disabled: false
currentFormat: XRGB8888
mirrorOf: none
availableModes: [email protected] [email protected]
Monitor HDMI-A-2 (ID 1):
[email protected] at 1920x0
description: AOC 24B2W1 0x00001888
make: AOC
model: 24B2W1
serial: 0x00001888
active workspace: 4 (4)
special workspace: 0 ()
reserved: 0 0 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: false
solitary: 0
activelyTearing: false
directScanoutTo: 0
disabled: false
currentFormat: XRGB8888
mirrorOf: none
availableModes: [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
- Output of
WAYBAR_OUTPUT=1 waybar -l trac
➜ ~ WAYBAR_OUTPUT=1 waybar -l trace
[2025-08-29 22:35:56.625] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config
[2025-08-29 22:35:56.625] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/config.jsonc
[2025-08-29 22:35:56.625] [debug] Try expanding: $HOME/.config/waybar/config
[2025-08-29 22:35:56.625] [debug] Try expanding: $HOME/.config/waybar/config.jsonc
[2025-08-29 22:35:56.625] [debug] Found config file: /home/weerawatw/.config/waybar/config.jsonc
[2025-08-29 22:35:56.625] [info] Using configuration file /home/weerawatw/.config/waybar/config.jsonc
[2025-08-29 22:35:56.630] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style.css
[2025-08-29 22:35:56.630] [debug] Try expanding: $HOME/.config/waybar/style.css
[2025-08-29 22:35:56.630] [debug] Found config file: /home/weerawatw/.config/waybar/style.css
[2025-08-29 22:35:56.630] [info] Using CSS file /home/weerawatw/.config/waybar/style.css
[2025-08-29 22:35:56.637] [debug] Output detection done: eDP-1 (KDB 0x0717 )
[2025-08-29 22:35:56.645] [warning] module sway/workspaces: Disabling module "sway/workspaces", Socket path is empty
[2025-08-29 22:35:56.646] [warning] 'swap-icon-label' must be a bool.
[2025-08-29 22:35:56.652] [warning] module sway/window: Disabling module "sway/window", Socket path is empty
[2025-08-29 22:35:56.652] [debug] window-rewrite is not defined or is not an object, using default rules.
[2025-08-29 22:35:56.652] [info] Hyprland IPC starting
[2025-08-29 22:35:56.653] [trace] Current monitor ID: 0
[2025-08-29 22:35:56.653] [debug] Initializing workspaces
[2025-08-29 22:35:56.653] [trace] Extending orphans with workspace 4
[2025-08-29 22:35:56.653] [debug] Initializing persistent workspaces
[2025-08-29 22:35:56.653] [info] Loading persistent workspaces from Hyprland workspace rules
[2025-08-29 22:35:56.653] [warning] 'swap-icon-label' must be a bool.
[2025-08-29 22:35:56.655] [trace] Adding solo class: firefox
[2025-08-29 22:35:56.661] [debug] network: new default route via 10.0.0.1 on if2 metric 600
[2025-08-29 22:35:56.661] [debug] network: wlo1, new addr 10.0.0.216/24
[2025-08-29 22:35:56.661] [debug] network: wlo1, new addr 10.0.0.216/24
[2025-08-29 22:35:56.666] [debug] battery: worker interval is 1
[2025-08-29 22:35:56.672] [trace] Sink name alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink Running:[false] Idle:[false]
[2025-08-29 22:35:56.672] [trace] Sink name alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink Running:[false] Idle:[false]
[2025-08-29 22:35:56.672] [trace] Sink name alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink Running:[false] Idle:[false]
[2025-08-29 22:35:56.672] [trace] Sink name alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink Running:[false] Idle:[false]
[2025-08-29 22:35:56.676] [debug] GTK widget tree:
window#waybar.background.top.eDP-1..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)
widget:dir(ltr)
box#tray.horizontal.module:dir(ltr)
box.horizontal.modules-center:dir(ltr)
widget:dir(ltr)
label#clock.module:dir(ltr)
box.horizontal.modules-right:dir(ltr)
widget:dir(ltr)
label#network.module:dir(ltr)
widget:dir(ltr)
label#disk.module:dir(ltr)
widget:dir(ltr)
label#cpu.module:dir(ltr)
widget:dir(ltr)
label#backlight.module:dir(ltr)
widget:dir(ltr)
label#custom-memory.module:dir(ltr)
widget:dir(ltr)
label#pulseaudio.module:dir(ltr)
widget:dir(ltr)
label#battery.module:dir(ltr)
[2025-08-29 22:35:56.676] [debug] Received SIGCHLD in signalThread
[2025-08-29 22:35:56.676] [debug] Received SIGCHLD in signalThread
[2025-08-29 22:35:56.677] [debug] Creating workspace 1
[2025-08-29 22:35:56.678] [debug] Creating workspace 2
[2025-08-29 22:35:56.680] [trace] Selecting icon for workspace 1
[2025-08-29 22:35:56.680] [trace] Selecting icon for workspace 2
[2025-08-29 22:35:56.684] [debug] Cmd exited with code 0
** (waybar:10054): WARNING **: 22:35:56.792: Status Notifier Item with bus name ':1.6' and object path '/org/ayatana/NotificationItem/nm_applet' is already registered
[2025-08-29 22:35:56.802] [trace] Set tray item property: :1.6.AttentionAccessibleDesc = ''
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.AttentionIconName = ''
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.Category = 'SystemServices'
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.IconAccessibleDesc = 'Wi-Fi network connection “TopTel@AP” active: TopTel@AP (100%)'
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.IconName = 'nm-signal-75'
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.IconThemePath = ''
[2025-08-29 22:35:56.803] [trace] Set tray item property: :1.6.Id = 'nm-applet'
[2025-08-29 22:35:56.803] [debug] SNI tray id: nm-applet
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.Menu = '/org/ayatana/NotificationItem/nm_applet/Menu'
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.Status = 'Active'
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.Title = 'Network'
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.XAyatanaLabel = ''
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.XAyatanaLabelGuide = ''
[2025-08-29 22:35:56.803] [trace] Set tray item property: nm-applet.XAyatanaOrderingIndex = 0
[2025-08-29 22:35:56.813] [debug] Received SIGCHLD in signalThread
[2025-08-29 22:35:56.815] [warning] Requested height: 20 is less than the minimum height: 30 required by the modules
[2025-08-29 22:35:56.815] [info] Bar configured (width: 1910, height: 30) for output: eDP-1
[2025-08-29 22:35:56.819] [debug] hyprland IPC received openlayer>>waybar
^C[2025-08-29 22:35:58.459] [info] Quitting.
[2025-08-29 22:35:58.465] [info] Hyprland IPC stopping...
[2025-08-29 22:35:58.465] [trace] Shutting down socket
[2025-08-29 22:35:58.465] [trace] Closing socket
[2025-08-29 22:35:58.467] [debug] Hyprland IPC stopped
- waybar
config.jsonc
{
"layer": "top",
"height": 20,
"spacing": 5,
"margin-top" :5,
"margin-right" :5,
"margin-left" :5,
"output": ["eDP-1", "HDMI-A-2"],
"modules-left": [
"sway/workspaces",
"sway/window",
"hyprland/workspaces",
"hyprland/window",
"tray",
],
"modules-center": ["clock"],
"modules-right": [
"network",
"disk",
"cpu",
"backlight",
"custom/memory",
"pulseaudio",
"battery",
],
"hyprland/workspaces": {
"disable-scroll": true,
"active-only": false,
"warp-on-scroll": false,
"format": "{icon}",
"format-icons": {
"1": "<span></span>",
"2": "<span></span>",
"3": "<span></span>",
"4": "<span></span>",
"5": "<span></span>",
"6": "<span></span>",
}
},
"hyprland/window": {
"format": "<span color='#202020' bgcolor='#d3869b' > </span> {class}",
"separate-outputs": true,
"icon":false,
"tooltip": false
},
"tray": {
"icon-size": 15,
"spacing": 8
},
"disk": {
"format": "<span color='#202020' bgcolor='#ea6962' > </span> {free}",
"interval": 20
},
"cpu": {
"format": "<span color='#202020' bgcolor='#e78a4e' > </span> {usage}%",
"tooltip": false,
"interval": 1
},
"backlight": {
"format": "<span color='#202020' bgcolor='#f6c657' > </span> {percent}%",
"tooltip": false,
},
"custom/memory": {
"exec": "~/.config/waybar/scripts/memory_usage.sh",
"interval": 2,
"return-type": "json",
"format": "<span color='#202020' bgcolor='#458588' > </span> {}"
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "<span color='#202020' bgcolor='#83a598' > </span> {volume}%",
"format-muted": "<span color='#202020' bgcolor='#ea6962' > </span> {volume}%",
"format-bluetooth": "<span color='#202020' bgcolor='#83a598' > </span> {volume}%",
"format-bluetooth-muted": "<span color='#202020' bgcolor='#ea6962' > </span> {volume}%",
"format-source": "{volume}% ",
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol",
"tooltip": false,
"max-volume": 130
},
"battery#bat2": {
"bat": "BAT2"
},
"battery": {
"interval": 1,
"states": {
"good": 99,
"warning": 30,
"critical": 20
},
"format-icons": ["","","","","","","","","",""],
"format": "<span color='#202020' bgcolor='#689d6a' > {icon} </span> {capacity}%",
"format-critical": "<span color='#202020' bgcolor='#cc241d' > {icon} </span> {capacity}%!!",
"format-warning": "<span color='#202020' bgcolor='#e78a4e' > {icon} </span> {capacity}%",
"format-full": "<span color='#202020' bgcolor='#689d6a' > {icon} </span> {capacity}%",
"format-charging": "<span color='#202020' bgcolor='#689d6a' > </span> {capacity}%",
"format-charging-warning": "<span color='#202020' bgcolor='#e78a4e' > </span> {capacity}%",
"format-charging-critical": "<span color='#202020' bgcolor='#cc241d' > </span> {capacity}%",
"format-plugged": "<span color='#202020' bgcolor='#689d6a' > </span> {capacity}%",
"format-alt": "<span color='#202020' bgcolor='#689d6a' > </span> {time}",
"tooltip": false
},
"network": {
"interval": 2,
"format": "<span color='#202020' bgcolor='#d3869b'> </span> {bandwidthDownBits}",
"format-wifi": "<span color='#202020' bgcolor='#d3869b'> {icon} </span> {bandwidthDownBits}",
"format-ethernet": "<span color='#202020' bgcolor='#d3869b'> </span> {bandwidthDownBits}",
"format-icons": ["", "", "", "", ""],
"tooltip": false,
"states": {
"normal": 25,
},
},
"clock": {
"format": "<span color='#202020' bgcolor='#8ec07c' > </span> {:%a %d | %H:%M}",
"tooltip": false,
"interval":1,
}
}
Thank you for your help. If you need any additional information from me, feel free to ask.