qtile: Keybindings in images script failing.

The issue:

http://docs.qtile.org/en/latest/manual/commands/keybindings.html

I wanted to use gen-keybinding-img from https://github.com/qtile/qtile/tree/master/scripts Script is started without arguments: python gen-keybinding-img

But it fails with this traceback:

Traceback (most recent call last):
  File "/home/crystal/Downloads/script/gen-keybinding-img.py", line 429, in <module>
    f.render(output_file)
  File "/home/crystal/Downloads/script/gen-keybinding-img.py", line 175, in render
    self.add_logo(context)
  File "/home/crystal/Downloads/script/gen-keybinding-img.py", line 163, in add_logo
    logo = ImageSurface.create_from_png(logo_img)
  File "/usr/lib/python3.10/site-packages/cairocffi/surfaces.py", line 789, in create_from_png
    Surface.__init__(self, pointer)  # Skip ImageSurface.__init__
  File "/usr/lib/python3.10/site-packages/cairocffi/surfaces.py", line 158, in __init__
    self._check_status()
  File "/usr/lib/python3.10/site-packages/cairocffi/surfaces.py", line 170, in _check_status
    _check_status(cairo.cairo_surface_status(self._pointer))
  File "/usr/lib/python3.10/site-packages/cairocffi/__init__.py", line 88, in _check_status
    raise exception(message, status)
FileNotFoundError: [Errno cairo returned CAIRO_STATUS_FILE_NOT_FOUND: b'file not found'] 18

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: 15 (8 by maintainers)

Most upvoted comments

It might be easier if we add this to the qtile ... commands. That way it gets packaged correctly and we don’t need to do any of that complicated steps (we should package the logo correctly too).

Yes this is the output:

❯ ./ffibuild 
Building Pango interface
    Failed!
    This component is required.
Building xcursors
    Failed!
    This is optional and is needed for: X11 backend
Building PulseAudio interface
    Failed!
    This is optional and is needed for: PulseVolume widget
Building Wayland libinput interface
    Failed!
    This is optional and is needed for: Wayland backend input configurability

Failures for optional components can be ignored.
Pass -v to print full stack traces.

./scripts/gen-keybinding-img still provides the same error message after.