Open andresilva opened 1 year ago
I have this same issue. More strangely tho is that also most of my programs that are launched crash. My current setup:
I launch both alacritty (terminal) and brave (browser) on workspace 1. Then I turn my monitor on and off and almost all programs (except alacritty) are crashed/exited and I am now on workspace 4.
No clue why this happens. Doesn't happen on my Bspwm config.
Software:
Hardware:
Similar behavior here.
I have 3 monitors (laptop screen plus 2 external), and generally have open:
I use swaylock/swayidle from hyprland like so:
exec-once = swayidle -w timeout 300 'swaylock -f' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f'
Frequently, after coming back and waking up the monitors, I unlock swaylock, and programs have crashed and workspaces have shifted:
I have been unable to replicate this on-demand with swaylock/dpms off
.
System:
I'm experiencing a similar issue. When I execute hyprctl keyword monitor "eDP-1, disable"
with an external display connected, it often causes the application on my laptop display to crash.
Version: 96d555e8e794627bfc561e294e148ab8a9961fcc
Tag: v0.29.1
System info:
System name: Linux
Release: 6.5.2-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Wed, 06 Sep 2023 21:01:01 +0000
GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])
I have this same issue. More strangely tho is that also most of my programs that are launched crash. My current setup:
- Workspace 1: empty
- Workspace 2: auto launch steam
- Workspace 3: auto launch discord
- Workspace 4: empty
I launch both alacritty (terminal) and brave (browser) on workspace 1. Then I turn my monitor on and off and almost all programs (except alacritty) are crashed/exited and I am now on workspace 4.
No clue why this happens. Doesn't happen on my Bspwm config.
Software:
- OS: Arch Linux x86_64
- Kernel: 6.5.2-arch1-1
- Hyprland: hyprland 0.29.1-1
Hardware:
- CPU: AMD Ryzen 5 5600X (12) @ 3.700GHz
- GPU: AMD ATI Radeon RX 7900 XT/7900 XTX
- Memory: 2248MiB / 31991MiB
UPDATE
After the new version of Hyprland (30.0-1) I don't experience the crashes anymore. Only that when I turn the my monitor on and of again I jumps to the empty workspace (number 4)
CachyOS Linux (Arch Linux)
Hyprland 0.30.0-1.1 (installed from official repositories)
$ hyprctl monitors
Monitor HDMI-A-1 (ID 0):
1920x1080@60.00000 at 0x0
description: Ancor Communications Inc ASUS VX239 H1LMTJ001104 (HDMI-A-1)
make: Ancor Communications Inc
model: ASUS VX239
serial: H1LMTJ001104
active workspace: 1 (1)
special workspace: 0 ()
reserved: 0 0 0 0
scale: 1.00
transform: 0
focused: yes
dpmsStatus: 1
vrr: 0
I don't use swayidle
nor swaylock
.
Exactly the same problem as the first message.
Can also confirm this has nothing to do with swaylock or swayidle. I turn off monitor with only 1 workspace showing alacritty and firefox, turn monitor back on and suddenly there's a workspace 3 and it has the focus. I can switch back to workspace 1 and see my apps as they were before.
Here's what I extracted from the logs:
[LOG] Registered signal for owner 558bfc550408: 558bfcc030f0 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Destroy called for monitor DP-1
[LOG] onDisconnect called for DP-1
[LOG] Callback 558bfd1a2118 -> 558bfd1a2110, removed.
[LOG] Callback 558bfd1a2250 -> 558bfd1a2248, removed.
[LOG] Callback 558bfd1a22b8 -> 558bfd1a22b0, removed.
[LOG] Callback 558bfd1a2320 -> 558bfd1a2318, removed.
[LOG] Callback 558bfd1a2388 -> 558bfd1a2380, removed.
[LOG] LayerSurface 558bfc6b2180 unmapped
[LOG] Framebuffer created, status 36053
[LOG] Callback 558bfcc5d7e0 -> 558bfcc5d7d8, CWLSurface removed.
[LOG] CWLSurface 558bfcc5d7a0 called destroy()
[LOG] LayerSurface 558bfc6b2180 destroyed
[LOG] Callback 558bfcc5d998 -> 558bfcc5d990, layerSurface removed.
[LOG] Callback 558bfcc5d860 -> 558bfcc5d858, layerSurface removed.
[LOG] Callback 558bfcc5d8c8 -> 558bfcc5d8c0, layerSurface removed.
[LOG] Callback 558bfcc5d930 -> 558bfcc5d928, layerSurface removed.
[LOG] Callback 558bfcc5da00 -> 558bfcc5d9f8, layerSurface removed.
[LOG] LayerSurface 558bfeeb88b0 arranged: x: 0 y: 0 w: 5120 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] LayerSurface 558bfc959d30 unmapped
[LOG] Framebuffer created, status 36053
[LOG] Callback 558bfeeee220 -> 558bfeeee218, CWLSurface removed.
[LOG] CWLSurface 558bfeeee1e0 called destroy()
[LOG] LayerSurface 558bfc959d30 destroyed
[LOG] Callback 558bfeeee3d8 -> 558bfeeee3d0, layerSurface removed.
[LOG] Callback 558bfeeee2a0 -> 558bfeeee298, layerSurface removed.
[LOG] Callback 558bfeeee308 -> 558bfeeee300, layerSurface removed.
[LOG] Callback 558bfeeee370 -> 558bfeeee368, layerSurface removed.
[LOG] Callback 558bfeeee440 -> 558bfeeee438, layerSurface removed.
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Removed monitor DP-1!
[WARN] Unplugged last monitor, entering an unsafe state. Good luck my friend.
[LOG] Entering unsafe state
[LOG] Callback 558bfca854a0 -> 558bfca85498, removed.
[LOG] Callback 558bfca85508 -> 558bfca85500, removed.
[LOG] Registered signal for owner 558bfca85110: 558bfcac4590 -> 558bfca85410 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac4620 -> 558bfca85478 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac4610 -> 558bfca854e0 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac45a0 -> 558bfca85548 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac45b0 -> 558bfca855b0 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac45d0 -> 558bfca85618 (owner: )
[LOG] Registered signal for owner 558bfca85110: 558bfcac45f0 -> 558bfca85680 (owner: )
[WARN] No rule found for HEADLESS-1, trying to use the first.
[LOG] Applying monitor rule for HEADLESS-1
[ERR] Monitor HEADLESS-1 has NO PREFERRED MODE
[LOG] output HEADLESS-1 succeeded basic test on format DRM_FORMAT_XRGB8888
[LOG] Monitor HEADLESS-1 -> destroyed all render data
[LOG] arrangeMonitors: 2 to arrange
[LOG] arrangeMonitors: DP-1 auto [0, 0.00]
[LOG] arrangeMonitors: HEADLESS-1 auto [5120, 0.00]
[LOG] arrangeMonitors: DP-1 xwayland [0, 0.00]
[LOG] arrangeMonitors: HEADLESS-1 xwayland [5120, 0.00]
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Monitor HEADLESS-1 data dump: res 1920x1080@60.00Hz, scale 2.00, transform 0, pos 5120x0, 10b 0
[LOG] Added new monitor with name HEADLESS-1 at [5120, 0] with size [1920, 1080], pointer 558bfcac4440
[LOG] New monitor: WORKSPACEID 2, exists: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[ERR] Couldn't commit output HEADLESS-1 in ensureVRR -> true
[LOG] Removing monitor DP-1 from realMonitors
[LOG] Callback 558bfd1a2180 -> 558bfd1a2178, removed.
[LOG] Callback 558bfd1a21e8 -> 558bfd1a21e0, removed.
[WARN] Attempted to render frame on inactive session!
[LOG] Registered signal for owner 558bfcd43ed0: 558bfcd02390 -> 558bfcd440c0 (owner: layerSurface)
[LOG] Registered signal for owner 558bfcd43ed0: 558bfc8ba518 -> 558bfcd43f88 (owner: layerSurface)
[LOG] Registered signal for owner 558bfcd43ed0: 558bfcd023a0 -> 558bfcd43ff0 (owner: layerSurface)
[LOG] Registered signal for owner 558bfcd43ed0: 558bfcd023b0 -> 558bfcd44058 (owner: layerSurface)
[LOG] Registered signal for owner 558bfcd43ed0: 558bfc8ba528 -> 558bfcd44128 (owner: layerSurface)
[LOG] LayerSurface 558bfc8ba450 (namespace hyprpaper layer 0) created on monitor HEADLESS-1
[LOG] LayerSurface 558bfc811cc0 arranged: x: 5120 y: 0 w: 960 h: 540 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc030f0 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[WARN] Attempted to render frame on inactive session!
[LOG] Registered signal for owner 558bfeea6bd0: 558bfeeebe90 -> 558bfeea6dc0 (owner: layerSurface)
[LOG] Registered signal for owner 558bfeea6bd0: 558bfc6b2248 -> 558bfeea6c88 (owner: layerSurface)
[LOG] Registered signal for owner 558bfeea6bd0: 558bfeeebea0 -> 558bfeea6cf0 (owner: layerSurface)
[LOG] Registered signal for owner 558bfeea6bd0: 558bfeeebeb0 -> 558bfeea6d58 (owner: layerSurface)
[LOG] Registered signal for owner 558bfeea6bd0: 558bfc6b2258 -> 558bfeea6e28 (owner: layerSurface)
[LOG] LayerSurface 558bfc6b2180 (namespace waybar layer 2) created on monitor HEADLESS-1
[LOG] LayerSurface 558bfcb08900 arranged: x: 5120 y: 0 w: 960 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfc811cc0 arranged: x: 5120 y: 0 w: 960 h: 540 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] LayerSurface 558bfc8ba450 mapped
[LOG] Registered signal for owner 558bfcd43ef0: 558bfcd023d0 -> 558bfcd43f08 (owner: CWLSurface)
[LOG] CWLSurface 558bfcd43ef0 called init()
[LOG] LayerSurface 558bfcb08900 arranged: x: 5120 y: 0 w: 960 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfc811cc0 arranged: x: 5120 y: 0 w: 960 h: 540 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] LayerSurface 558bfc6b2180 mapped
[LOG] Registered signal for owner 558bfeea6bf0: 558bfeeebed0 -> 558bfeea6c08 (owner: CWLSurface)
[LOG] CWLSurface 558bfeea6bf0 called init()
[LOG] LayerSurface 558bfcb08900 arranged: x: 5120 y: 0 w: 960 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfc811cc0 arranged: x: 5120 y: 0 w: 960 h: 540 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d5e0 -> 558bfd1ac9d0 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d670 -> 558bfd1aca38 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d660 -> 558bfd1acaa0 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d5f0 -> 558bfd1acb08 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d600 -> 558bfd1acb70 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d620 -> 558bfd1acbd8 (owner: )
[LOG] Registered signal for owner 558bfd1ac6d0: 558bfc96d640 -> 558bfd1acc40 (owner: )
[WARN] No rule found for DP-1, trying to use the first.
[LOG] Applying monitor rule for DP-1
[LOG] Setting preferred mode for DP-1
[LOG] output DP-1 succeeded basic test on format DRM_FORMAT_XRGB8888
[LOG] Monitor DP-1 -> destroyed all render data
[LOG] arrangeMonitors: 2 to arrange
[LOG] arrangeMonitors: HEADLESS-1 auto [0, 0.00]
[LOG] arrangeMonitors: DP-1 auto [960, 0.00]
[LOG] arrangeMonitors: HEADLESS-1 xwayland [0, 0.00]
[LOG] arrangeMonitors: DP-1 xwayland [960, 0.00]
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Monitor DP-1 data dump: res 5120x1440@239.76Hz, scale 1.00, transform 0, pos 960x0, 10b 0
[LOG] Added new monitor with name DP-1 at [960, 0] with size [5120, 1440], pointer 558bfc96d490
[LOG] New monitor: WORKSPACEID 3, exists: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[WARN] Attempted to render frame on inactive session!
[LOG] Leaving unsafe state
[LOG] onDisconnect called for HEADLESS-1
[LOG] Callback 558bfca85438 -> 558bfca85430, removed.
[LOG] Callback 558bfca85570 -> 558bfca85568, removed.
[LOG] Callback 558bfca855d8 -> 558bfca855d0, removed.
[LOG] Callback 558bfca85640 -> 558bfca85638, removed.
[LOG] Callback 558bfca856a8 -> 558bfca856a0, removed.
[LOG] LayerSurface 558bfc8ba450 unmapped
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Allocated texture for BGTex
[LOG] Background created for monitor HEADLESS-1
[LOG] Shaders initialized successfully.
[LOG] Framebuffer created, status 36053
[LOG] Callback 558bfcd43f30 -> 558bfcd43f28, CWLSurface removed.
[LOG] CWLSurface 558bfcd43ef0 called destroy()
[LOG] LayerSurface 558bfc8ba450 destroyed
[LOG] Callback 558bfcd440e8 -> 558bfcd440e0, layerSurface removed.
[LOG] Callback 558bfcd43fb0 -> 558bfcd43fa8, layerSurface removed.
[LOG] Callback 558bfcd44018 -> 558bfcd44010, layerSurface removed.
[LOG] Callback 558bfcd44080 -> 558bfcd44078, layerSurface removed.
[LOG] Callback 558bfcd44150 -> 558bfcd44148, layerSurface removed.
[LOG] LayerSurface 558bfcb08900 arranged: x: 0 y: 0 w: 960 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] LayerSurface 558bfc6b2180 unmapped
[LOG] Framebuffer created, status 36053
[LOG] Callback 558bfeea6c30 -> 558bfeea6c28, CWLSurface removed.
[LOG] CWLSurface 558bfeea6bf0 called destroy()
[LOG] LayerSurface 558bfc6b2180 destroyed
[LOG] Callback 558bfeea6de8 -> 558bfeea6de0, layerSurface removed.
[LOG] Callback 558bfeea6cb0 -> 558bfeea6ca8, layerSurface removed.
[LOG] Callback 558bfeea6d18 -> 558bfeea6d10, layerSurface removed.
[LOG] Callback 558bfeea6d80 -> 558bfeea6d78, layerSurface removed.
[LOG] Callback 558bfeea6e50 -> 558bfeea6e48, layerSurface removed.
[LOG] Monitor HEADLESS-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Removed monitor HEADLESS-1!
[LOG] moveWorkspaceToMonitor: Moving 2 to monitor 0
[LOG] moveWorkspaceToMonitor: Plugging gap with new 4
[LOG] moveWorkspaceToMonitor: Plugging gap with existing 4
[LOG] Destroying workspace ID 2
[LOG] Destroying workspace ID 4
[WARN] No rule found for DP-1, trying to use the first.
[LOG] Applying monitor rule for DP-1
[LOG] Setting preferred mode for DP-1
[LOG] output DP-1 succeeded basic test on format DRM_FORMAT_XRGB8888
[LOG] Monitor DP-1 -> destroyed all render data
[LOG] arrangeMonitors: 1 to arrange
[LOG] arrangeMonitors: DP-1 auto [0, 0.00]
[LOG] arrangeMonitors: DP-1 xwayland [0, 0.00]
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Monitor DP-1 data dump: res 5120x1440@239.76Hz, scale 1.00, transform 0, pos 0x0, 10b 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Fading out a non-existent LS??
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Framebuffer created, status 36053
[LOG] Allocated texture for BGTex
[LOG] Background created for monitor DP-1
[LOG] Shaders initialized successfully.
[wlr] [backend/drm/drm.c:740] connector DP-1: Failed to page-flip output: a page-flip is already pending
[LOG] Fading out a non-existent LS??
[LOG] Registered signal for owner 558bfc961c40: 558bfeeebe90 -> 558bfc961e30 (owner: layerSurface)
[LOG] Registered signal for owner 558bfc961c40: 558bfeef77a8 -> 558bfc961cf8 (owner: layerSurface)
[LOG] Registered signal for owner 558bfc961c40: 558bfeeebea0 -> 558bfc961d60 (owner: layerSurface)
[LOG] Registered signal for owner 558bfc961c40: 558bfeeebeb0 -> 558bfc961dc8 (owner: layerSurface)
[LOG] Registered signal for owner 558bfc961c40: 558bfeef77b8 -> 558bfc961e98 (owner: layerSurface)
[LOG] LayerSurface 558bfeef76e0 (namespace hyprpaper layer 0) created on monitor DP-1
[LOG] LayerSurface 558bfef0c8a0 arranged: x: 0 y: 0 w: 5120 h: 1440 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 0.00000] [0.00000, 0.00000]
[LOG] Registered signal for owner 558bfef3e330: 558bfcc5e710 -> 558bfef3e520 (owner: layerSurface)
[LOG] Registered signal for owner 558bfef3e330: 558bfef41a28 -> 558bfef3e3e8 (owner: layerSurface)
[LOG] Registered signal for owner 558bfef3e330: 558bfcc5e720 -> 558bfef3e450 (owner: layerSurface)
[LOG] Registered signal for owner 558bfef3e330: 558bfcc5e730 -> 558bfef3e4b8 (owner: layerSurface)
[LOG] Registered signal for owner 558bfef3e330: 558bfef41a38 -> 558bfef3e588 (owner: layerSurface)
[LOG] LayerSurface 558bfef41960 (namespace waybar layer 2) created on monitor DP-1
[LOG] LayerSurface 558bfc7def50 arranged: x: 0 y: 0 w: 5120 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfef0c8a0 arranged: x: 0 y: 0 w: 5120 h: 1440 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] Fading out a non-existent LS??
[LOG] LayerSurface 558bfeef76e0 mapped
[LOG] Registered signal for owner 558bfc961c60: 558bfeeebed0 -> 558bfc961c78 (owner: CWLSurface)
[LOG] CWLSurface 558bfc961c60 called init()
[LOG] LayerSurface 558bfc7def50 arranged: x: 0 y: 0 w: 5120 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfef0c8a0 arranged: x: 0 y: 0 w: 5120 h: 1440 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] Fading out a non-existent LS??
[LOG] LayerSurface 558bfef41960 mapped
[LOG] Registered signal for owner 558bfef3e350: 558bfcc5e750 -> 558bfef3e368 (owner: CWLSurface)
[LOG] CWLSurface 558bfef3e350 called init()
[LOG] LayerSurface 558bfc7def50 arranged: x: 0 y: 0 w: 5120 h: 30 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] LayerSurface 558bfef0c8a0 arranged: x: 0 y: 0 w: 5120 h: 1440 with margins: t: 0 l: 0 r: 0 b: 0
[LOG] Monitor DP-1 layers arranged: reserved: [0.00000, 30.00000] [0.00000, 0.00000]
[LOG] Keybind triggered, calling dispatcher (64, , 49)
[LOG] Destroying workspace ID 3
[LOG] Framebuffer created, status 36053
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc030f0 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc030f0 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Set keyboard focus to surface 558bfcca3e90, with [Window 558bfcca45f0: title: "Hyprland/src/main.cpp at e496b0f250139b572307d048f3189aa6dde72f18 · hyprwm/Hyprland — Mozilla Firefox"]
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc96a30 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc96a30 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc96a30 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc96a30 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Set keyboard focus to surface 558bfcc26620, with [Window 558bfcb0b660: title: "Alacritty"]
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc0fe20 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
[LOG] Set keyboard focus to surface 558bfcc68880, with [Window 558bfcdd7ff0: title: "Alacritty"]
[LOG] Callback 558bfc550448 -> 558bfc550440, CWLSurface removed.
[LOG] CWLSurface 558bfc550408 called destroy()
[LOG] Registered signal for owner 558bfc550408: 558bfcc030f0 -> 558bfc550420 (owner: CWLSurface)
[LOG] CWLSurface 558bfc550408 called init()
This stood out:
[WARN] Unplugged last monitor, entering an unsafe state. Good luck my friend.
[LOG] Entering unsafe state
...
[LOG] Added new monitor with name DP-1 at [960, 0] with size [5120, 1440], pointer 558bfc96d490
[LOG] New monitor: WORKSPACEID 3, exists: 0
...
[LOG] Destroying workspace ID 2
[LOG] Destroying workspace ID 4
We don't see workspace 3 get destroyed. Perhaps an off by one error somewhere? If I don't see any traction on this, I'll see if I can dig through the code and find the problem.
From what I can see so far. When the monitor is reconnected, a new workspace is created for it, the existing workspace is assigned to it, but its never made active. I think if the previous active workspace was set active again, the empty workspace would just get destroyed.
I cloned the repositories and set up a workspace. Going to try running it and using a debugger to step through the code.
I'm not familiar at all with this code, so maybe this makes sense, but why is findAvailableDefaultWS()
called if g_pConfigManager->getDefaultWorkspaceFor(szName).empty()
is true
? If it's empty, isn't it available?
The code I'm referencing is here:
@vaxerski could you chime in? You probably know the code best. I'm trying to fix this issue but its a lot of code to distill and I've never worked with this code bofore, nor window mangers nor wayland :). I can figure this out with a little guidance. The obvious next place to look is at the code when the monitor is reconnected. I'm doing that as well, but trying to understand as I go so I can submit a better PR. Plus, I'm interested in squashing more bugs.
getDefaultWorkspaceFor
returns a std::string
, that's std::string::empty()
getDefaultWorkspaceFor
returns astd::string
, that'sstd::string::empty()
Doh! I'm embarrassed. Can't believe I missed that. TY!
Any updates on this one?
It's driving me crazy! :(
This is fixed by https://github.com/hyprwm/Hyprland/pull/6608.
Still occurs on 4beac91cbd791657cc53d6e483eb41bf4df1ec0c with the added effect of waybar crashing compared to before aquamarine.
Indeed, this is what waybar throws with WAYLAND_DEBUG=1
:
[3952496.783] {Display Queue} wl_display#1.error(wl_surface#43, 4294967295, "layerSurface was not configured, but a buffer was attached")
Gdk-Message: 14:17:47.080: Error 71 (Protocol error) dispatching to Wayland display.
Hyprland Version
3859607b6cf26ead21f4a23ee11458b7b67fe542
Bug or Regression?
Bug
Description
After shutting down the monitor when turning it on again the active workspace is switched to the first available workspace ID (i.e. empty workspace). I would expect the previously active workspace to be focused instead.
(Assigning a default workspace to the monitor at least helps with not getting sent to a new empty workspace.)
How to reproduce
Crash reports, logs, images, videos
No response