qtile: Error caused by screen change hook persists after deletion

The issue:

I am getting the following error with this config:

2022-03-21 19:06:13,176 ERROR libqtile hook.py:fire():L392 Error in hook screen_change
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/libqtile/hook.py", line 390, in fire
    i(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 359, in cmd_reconfigure_screens
    self._process_screens()
  File "/usr/lib/python3.10/site-packages/libqtile/core/manager.py", line 340, in _process_screens
    scr._configure(self, i, x, y, w, h, grp, reconfigure_gaps=reconfigure_gaps)
  File "/usr/lib/python3.10/site-packages/libqtile/config.py", line 302, in _configure
    self.set_group(group)
  File "/usr/lib/python3.10/site-packages/libqtile/config.py", line 364, in set_group
    g1 = self.group
AttributeError: 'Screen' object has no attribute 'group'

I did have a screen_change hook defined previously:

@hook.subscribe.screen_change
def set_screens(event):
    subprocess.run(["autorandr", "--change"])
    # lazy.spawn("mydock")
    qtile.restart()

The error persists after deleting the screen_change hook and reloading the config

Required:

  • I have searched past issues to see if this bug has already been reported.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 21 (15 by maintainers)

Most upvoted comments

yes, that also works fine without issues. however, i will try to rewrite my xrandr-tool to do only a single xrandr-call. seems favourable. thanks for your help!

if you still want to track down that race-condition, let me know. otherwise this is fine for me now. 😃