hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
19.72k stars 838 forks source link

movetoworkspacesilent dispatcher stops working randomly after hybrid-sleep #5212

Open dantefromhell opened 6 months ago

dantefromhell commented 6 months ago

Hyprland Version

System/Version info ```sh ❯ hyprctl version Hyprland, built from branch at commit c5e28ebcfe00a510922779b2c568cfa52a317445 (). Date: 2024-03-16 Tag: flags: (if any) ```

Bug or Regression?

Bug

Description

This is a bit convoluted to describe, the troubleshooting so far happened in https://github.com/hyprland-community/pyprland/issues/64

I'm using pyprland to manage my scratchpads. Generally my config works as expected. I'm also frequently using systemctl hybrid-sleep to suspend my system when not in use.

Randomly (read not after every suspend cycle) I run into the problem that scratchpads remain rendered on the screen although they were instructed to be hidden. In this state I can see the window but neither mose nor keyboard input is received. My ZSH cursor is rendered as the cursor of a shell without focus.

The only way to reset is to restart my whole desktop environment by logging out and/or restarting the system.

How to reproduce

I can't reproducibly trigger the state, but since I'm suspend my machine multiple times a day the issue is frequently enough happening to be an interruption to my workflow.

Once the behaviour is happening, I can reproduce it by manually dispatching the command that pyprland is using to instruct hyprland to minimize the scratchpad:

hyprctl dispatch movetoworkspacesilent special:XXX,address:$WINDOW_ADDRESS

Which is why @fdev31 and I came to the conclusion that this is a hyprland issue.

Side-note: While not in that state, aboves command hides the scratchpad as expected.

Crash reports, logs, images, videos

With hyprland debug settings set to

debug:disable_logs = false
debug:enable_stdout_logs = true
debug:disable_time = false

the only log output for the movetoworkspacesilent is

[LOG] [12:46:43.539308379] Hyprctl: dispatcher movetoworkspacesilent : special:scratch_kitty,address:0x3094440
vaxerski commented 6 months ago

image

Only thing that can fail here without a comment is the window part. Maybe the address is wrong? Does it work by class, title?

dantefromhell commented 6 months ago

The address is correct, copy&pasted from hyprctl clients output.

Does it work by class, title?

I will test once the error happens again and report back.

Is there any way to increase debug logging?

vaxerski commented 6 months ago

nope, enabling logs will log everything that there is a log for.

dantefromhell commented 5 months ago

Does it work by class, title?

Finally got around to testing this, no it doesn't work by matching class or title either.