Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[BUG] Pyprland shows "Client window not found" error when disabling eDP-1 monitor #142

Open
nijek opened this issue Oct 2, 2024 · 3 comments
Assignees
Labels
bug Something isn't working

Comments

@nijek
Copy link

nijek commented Oct 2, 2024

Pyprland version
Which version did you use? 2.4.0

Describe the bug
I have a two monitor setup on Hyprland 0.43, my laptop monitor (eDP-1) and the HDMI monitor. If I login in my laptop, plug it to the hdmi and disable eDP-1 (so I can use only the HDMI monitor) pyprland shows error "Client window not found" and after a little while, if I try to acess the scratchpad again it crashed hyprland (only happens sometimes)

To Reproduce
Steps to reproduce the behavior:

  1. Start Hyprland on laptop
  2. Plug laptop to the hdmi monitor
  3. disable laptop eDP-1 (hyprctl keyword monitor "eDP-1, disable"
    ) monitor so I can use only the HDMI monitor
  4. pypr shows error "Client window (window number) not found)
  5. If I try to use the scratchpads again it crashes Hyprland sometimes

Expected behavior
Pypr should move the other monitor

Configuration (provide following files/samples when relevant):

  • pyprland.toml
  • hyprland.conf
  • debug log

debug-log.txt
hyprland-config.txt
pyprland-config.txt

@nijek nijek added the bug Something isn't working label Oct 2, 2024
@fdev31
Copy link
Collaborator

fdev31 commented Nov 6, 2024

From the log it looks like the client window has crashed/ been closed:

Traceback (most recent call last):
  File "/var/cache/pypr/package.whl/pyprland/command.py", line 183, in _run_plugin_handler
    await getattr(plugin, full_name)(*params)
  File "/var/cache/pypr/package.whl/pyprland/plugins/scratchpads/__init__.py", line 307, in event_monitorremoved
    await self.run_hide(scratch.uid, autohide=True)
  File "/var/cache/pypr/package.whl/pyprland/plugins/scratchpads/__init__.py", line 726, in run_hide
    await scratch.update_client_info(clients=clients)
  File "/var/cache/pypr/package.whl/pyprland/plugins/scratchpads/objects.py", line 159, in update_client_info
    raise KeyError(msg)
KeyError: 'Client window 0x5f5c7cece830 not found'

Can you see the window in hyprctl clients ?

@fdev31
Copy link
Collaborator

fdev31 commented Nov 6, 2024

I made it a bit more robust on git version, it should keep processing other scratchpads.

@fdev31
Copy link
Collaborator

fdev31 commented Jan 28, 2025

Do you still experience the problem?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants