• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

elParaguayo / qtile / 17457157882
83%

Build:
DEFAULT BRANCH: master
Ran 04 Sep 2025 08:12AM UTC
Jobs 6
Files 154
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Sep 2025 11:20AM UTC coverage: 78.945% (-0.02%) from 78.964%
17457157882

push

github

tych0
widget: don't return an error when calculating length

If a widget's length calculation has a bug and raises an exception, we
silently swallow it via @property, and it shows up as an AttributeError:

    2025-09-02 20:26:46,949 ERROR libqtile loop.py:_handle_exception():L62 Exception in event loop:
    Traceback (most recent call last):
      File "/usr/lib/python3.13/asyncio/events.py", line 89, in _run
        self._context.run(self._callback, *self._args)
        ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/libqtile/core/manager.py", line 997, in f
        func(*args)
        ~~~~^^^^^^^
      File "/usr/lib/python3.13/site-packages/libqtile/bar.py", line 622, in _actual_draw
        self._resize(self._length, self.widgets)
        ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/libqtile/bar.py", line 465, in _resize
        stretchspace = length - sum(i.length for i in widgets if i.length_type != STRETCH)
                                ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.13/site-packages/libqtile/bar.py", line 465, in <genexpr>
        stretchspace = length - sum(i.length for i in widgets if i.length_type != STRETCH)
                                    ^^^^^^^^
      File "/usr/lib/python3.13/site-packages/libqtile/command/base.py", line 283, in __getattr__
        raise AttributeError(f"{self.__class__} has no attribute {name}")
    AttributeError: <class 'libqtile.widget.groupbox.GroupBox'> has no attribute length. Did you mean: '_length'?

Let's catch these exceptions and log them, so we can try and fix these
problems.

Signed-off-by: Tycho Andersen <tycho@tycho.pizza>

2 of 5 new or added lines in 1 file covered. (40.0%)

63 existing lines in 1 file now uncovered.

17113 of 21677 relevant lines covered (78.95%)

4.21 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
85.34
-0.5% libqtile/widget/base.py

Uncovered Existing Lines

Lines Coverage ∆ File
63
69.66
-0.57% libqtile/utils.py
Jobs
ID Job ID Ran Files Coverage
1 3.13-x11 - 17457157882.1 04 Sep 2025 08:26AM UTC 154
69.88
GitHub Action Run
2 3.12-x11 - 17457157882.2 04 Sep 2025 08:26AM UTC 154
70.46
GitHub Action Run
3 3.14-dev-x11 - 17457157882.3 04 Sep 2025 08:26AM UTC 154
69.81
GitHub Action Run
4 3.13-wayland - 17457157882.4 04 Sep 2025 08:26AM UTC 154
69.48
GitHub Action Run
5 3.12-wayland - 17457157882.5 04 Sep 2025 08:26AM UTC 154
70.02
GitHub Action Run
6 3.14-dev-wayland - 17457157882.6 04 Sep 2025 08:26AM UTC 154
69.42
GitHub Action Run
Source Files on build 17457157882
  • Tree
  • List 154
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 434f5976 on github
  • Prev Build on master (#17414201754)
  • Next Build on master (#17895199466)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc