AI Slop Code RIsk Monitor

qtile/qtile

:cookie: A full-featured, hackable tiling window manager written and configured in Python (X11 + Wayland)

13.0 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for qtile/qtile, a Python project with 5,306 GitHub stars. SynthScan examined 85,420 lines of code across 461 source files, recording 754 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 13.0 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

13.0
Adjusted Signal
13.0
Raw Pattern Score
100%
Time Factor
2026-10-06
Last Push
5.3K
Stars
Python
Language
85.4K
Lines of Code
461
Files
754
Pattern Hits
2026-10-12
Scan Date
0.12
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 31.4/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 557 finding(s).

Hallucinated Dependency & Supply Chain Risk 11.4/100 · LOW

Are imports declared and package/API names verified? 87 finding(s).

Agent Over-Engineering Ratio 31.4/100 · MEDIUM

Are wrappers, guards, and repeated structures necessary? 477 finding(s).

PR Review Velocity Impact 48.6/100 · MEDIUM

Which changes need focused human review? 754 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 10HIGH 45MEDIUM 34LOW 665

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 754 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers360 hits · 374 pts
SeverityFileLineSnippetContext
LOWtest/test_command.py439def test_lazy_function_coroutine(manager_nospawn):CODE
LOWtest/test_command.py460def test_decorators_direct_call():CODE
LOWtest/test_command.py478def test_decorators_manager_call(manager):CODE
LOWtest/test_ipc.py6def test_ipc_json_encoder_supports_sets():CODE
LOWtest/test_ipc.py11def test_ipc_json_throws_error_on_unsupported_field():CODE
LOWtest/test_ipc.py25def test_ipc_marshall_error_on_unsupported_field():CODE
LOWtest/test_dgroups.py78def test_dgroup_spawn_in_group(manager, backend_name):CODE
LOW⚡test/test_utils.py21def test_rgb_from_hex_number_with_alpha():CODE
LOW⚡test/test_utils.py25def test_rgb_from_hex_string_with_alpha():CODE
LOW⚡test/test_utils.py29def test_rgb_from_hex_number_with_hex_alpha():CODE
LOW⚡test/test_utils.py33def test_rgb_from_hex_string_with_hex_alpha():CODE
LOW⚡test/test_utils.py94def test_guess_terminal_accepts_a_preference(path):CODE
LOW⚡test/test_utils.py100def test_guess_terminal_accepts_a_list_of_preferences(path):CODE
LOW⚡test/test_utils.py106def test_guess_terminal_falls_back_to_defaults(path):CODE
LOWtest/test_utils.py152async def test_acall_process_pid_tracking():CODE
LOWtest/test_utils.py191async def test_acall_process_adds_removes_pid():CODE
LOWtest/test_utils.py201async def test_concurrent_acall_processes():CODE
LOWtest/test_images.py76def test_get_cairo_surface_bad_input():CODE
LOWtest/test_images.py141 def test_setting_negative_size(self, png_img):CODE
LOWtest/test_images.py180 def test_resize_rasterization(self, png_img_24):CODE
LOWtest/test_images.py231 def test_copy_operations_independent(self, png_img):CODE
LOWtest/test_images.py239 def test_copy_resources_independent(self, png_img_24, rgba_pixel_data):CODE
LOWtest/test_images.py252 def test_operations_applied_after_cache(self, png_img):CODE
LOWtest/test_images.py304 def test_scale_less_than_one_width(self, png_img, width_factor):CODE
LOWtest/test_images.py309 def test_scale_less_than_one_height(self, png_img, height_factor):CODE
LOW⚡test/test_images.py339 def test_resize_less_than_one(self, png_img, width, height):CODE
LOW⚡test/test_images.py345 def test_resize_less_than_one_width(self, png_img, width):CODE
LOW⚡test/test_images.py350 def test_resize_less_than_one_height(self, png_img, height):CODE
LOWtest/test_images.py368 def test_audio_volume_muted_png(self, loader):CODE
LOWtest/test_group.py94def test_non_persistent_groups(manager):CODE
LOWtest/test_floating.py95def test_fullscreen_restore_tiling(manager):CODE
LOWtest/test_floating.py144def test_fullscreen_restore_floating(manager):CODE
LOWtest/test_floating.py169def test_maximize_restore_floating(manager):CODE
LOW⚡test/test_hook.py35def test_cannot_fire_unknown_event():CODE
LOW⚡test/test_hook.py41def test_hook_calls_subscriber():CODE
LOW⚡test/test_hook.py49def test_hook_calls_subscriber_async():CODE
LOWtest/test_hook.py63def test_hook_calls_subscriber_async_co():CODE
LOWtest/test_hook.py77def test_hook_calls_subscriber_async_in_existing_loop():CODE
LOWtest/test_hook.py94def test_subscribers_can_be_added_removed():CODE
LOWtest/test_hook.py103def test_can_unsubscribe_from_hook():CODE
LOWtest/test_hook.py115def test_can_subscribe_to_startup_hooks(manager_nospawn):CODE
LOWtest/test_hook.py132 def inc_startup_complete_calls():CODE
LOWtest/test_hook.py153def test_can_update_by_selection_change(manager):CODE
LOWtest/test_hook.py161def test_can_call_by_selection_notify(manager):CODE
LOWtest/test_hook.py185def test_custom_hook_registry():CODE
LOWtest/test_hook.py566def test_client_focus_by_click(manager_nospawn):CODE
LOWtest/test_hook.py596def test_client_urgent_hint_changed(manager_nospawn):CODE
LOWtest/test_hook.py672def test_screen_change_debounce(manager_nospawn):CODE
LOWtest/test_hook.py716def test_screens_reconfigured(manager_nospawn):CODE
LOWtest/test_hook.py721 def inc_screens_reconfigured_calls():CODE
LOWtest/test_hook.py734def test_current_screen_change(manager_nospawn):CODE
LOWtest/test_hook.py739 def inc_current_screen_change_calls():CODE
LOWtest/test_hook.py760def test_transient_hooks_syncronous():CODE
LOWtest/test_hook.py781def test_transient_hooks_asyncronous():CODE
LOWtest/test_hook.py802def test_transient_hooks_coroutine():CODE
LOWtest/test_configurable.py24def test_use_fallback_if_set_to_none():CODE
LOWtest/test_configurable.py37def test_dont_use_fallback_if_set():CODE
LOWtest/test_check.py41def test_check_default_config():CODE
LOWtest/test_check.py85def test_check_bad_config_type():CODE
LOWtest/test_config.py90def test_screen_underbar_methods():CODE
300 more matches not shown…
Empty Error Handlers34 hits · 170 pts
SeverityFileLineSnippetContext
HIGHtest/helpers.py316except OSError:CODE
HIGHtest/backend/x11/conftest.py77except OSError:CODE
HIGHtest/layouts/test_common.py38except TypeError:CODE
HIGHtest/widgets/test_bluetooth.py209except ValueError:CODE
HIGHtest/widgets/conftest.py102except ValueError:CODE
HIGHlibqtile/__init__.py48except ImportError:CODE
HIGHlibqtile/utils.py669except ChildProcessError:CODE
HIGHlibqtile/utils.py607except OSError:CODE
HIGHlibqtile/images.py378except AttributeError:CODE
HIGHlibqtile/images.py394except AttributeError:CODE
HIGHlibqtile/group.py60except ValueError:CODE
HIGHlibqtile/group.py503except IndexError:CODE
HIGHlibqtile/core/manager.py1644except IndexError:CODE
HIGHlibqtile/core/state.py58except (KeyError, IndexError):CODE
HIGHlibqtile/widget/swaync.py69except Exception:CODE
HIGHlibqtile/widget/mpd2widget.py372except ConnectionError:CODE
HIGHlibqtile/widget/mpd2widget.py355except (ZeroDivisionError, ValueError):CODE
HIGHlibqtile/widget/prompt.py284except OSError:CODE
HIGHlibqtile/widget/backlight.py24except FileNotFoundError:CODE
HIGHlibqtile/widget/base.py428except KeyError:CODE
HIGHlibqtile/layout/tree.py32except ValueError:CODE
HIGHlibqtile/layout/plasma.py445except AttributeError:CODE
HIGHlibqtile/backend/x11/window.py549except KeyError:CODE
HIGHlibqtile/backend/x11/window.py562except KeyError:CODE
HIGHlibqtile/backend/x11/window.py570except KeyError:CODE
HIGHlibqtile/backend/x11/window.py1763except (xcffib.xproto.WindowError, xcffib.xproto.AccessError):CODE
HIGHlibqtile/backend/x11/core.py360except (CODE
HIGHlibqtile/backend/x11/core.py817except xcffib.xproto.WindowError:CODE
HIGHlibqtile/scripts/cmd_obj.py109except SelectError:CODE
HIGHlibqtile/scripts/cmd_obj.py116except SelectError:CODE
HIGHlibqtile/scripts/start.py34except ImportError:CODE
HIGHlibqtile/scripts/start.py86except locale.Error:CODE
HIGHlibqtile/command/interface.py152except SelectError:CODE
HIGHlibqtile/command/interface.py312except TypeError:CODE
Hallucination Indicators10 hits · 100 pts
SeverityFileLineSnippetContext
CRITICALlibqtile/widget/systray.py50 name = self.qtile.core.conn.atoms.get_name(e.atom)CODE
CRITICALlibqtile/widget/prompt.py635 self.qtile.core.conn.conn.core.Bell(0)CODE
CRITICALlibqtile/backend/wayland/cffi/build.py530 tmpdir=Path(__file__).parent.parent.parent.parent.parent.as_posix(),CODE
CRITICALlibqtile/backend/x11/window.py777 self.qtile.core.conn.conn.core.GrabButton(CODE
CRITICALlibqtile/backend/x11/window.py791 self.qtile.core.conn.conn.core.UngrabButton(CODE
CRITICALlibqtile/backend/x11/window.py1527 self.qtile.core.conn.conn.core.DestroyWindow(self.window.wid)CODE
CRITICALlibqtile/backend/x11/window.py1668 name = self.qtile.core.conn.atoms.get_name(e.atom)CODE
CRITICALlibqtile/backend/x11/window.py1689 qtile.core.conn.conn.core.ChangeSaveSet(SetMode.Insert, self.window.wid)CODE
CRITICALlibqtile/backend/x11/window.py2015 self.qtile.core.conn.conn.core.AllowEvents(xcffib.xproto.Allow.ReplayPointer, e.time)CODE
CRITICALlibqtile/backend/x11/window.py2128 name = self.qtile.core.conn.atoms.get_name(e.atom)CODE
Deep Nesting100 hits · 99 pts
SeverityFileLineSnippetContext
LOWtest/layouts/test_ratiotile.py31CODE
LOWtest/layouts/test_ratiotile.py151CODE
LOWtest/layouts/test_ratiotile.py268CODE
LOWlibqtile/scratchpad.py277CODE
LOWlibqtile/scratchpad.py396CODE
LOWlibqtile/config.py631CODE
LOWlibqtile/config.py645CODE
LOWlibqtile/config.py1076CODE
LOWlibqtile/dgroups.py129CODE
LOWlibqtile/hook.py147CODE
LOWlibqtile/utils.py465CODE
LOWlibqtile/utils.py555CODE
LOWlibqtile/images.py334CODE
LOWlibqtile/images.py335CODE
LOWlibqtile/bar.py215CODE
LOWlibqtile/bar.py361CODE
LOWlibqtile/bar.py393CODE
LOWlibqtile/bar.py415CODE
LOWlibqtile/bar.py535CODE
LOWlibqtile/group.py110CODE
LOWlibqtile/group.py304CODE
LOWlibqtile/core/manager.py127CODE
LOWlibqtile/core/manager.py541CODE
LOWlibqtile/core/manager.py762CODE
LOWlibqtile/core/manager.py821CODE
LOWlibqtile/core/manager.py909CODE
LOWlibqtile/core/manager.py962CODE
LOWlibqtile/core/manager.py1003CODE
LOWlibqtile/core/manager.py1026CODE
LOWlibqtile/core/manager.py1361CODE
LOWlibqtile/core/manager.py1883CODE
LOWlibqtile/core/state.py42CODE
LOWlibqtile/widget/wlaniw.py31CODE
LOWlibqtile/widget/wlaniw.py57CODE
LOWlibqtile/widget/launchbar.py162CODE
LOWlibqtile/widget/currentlayout.py119CODE
LOWlibqtile/widget/sensors.py39CODE
LOWlibqtile/widget/vertical_clock.py45CODE
LOWlibqtile/widget/battery.py224CODE
LOWlibqtile/widget/battery.py307CODE
LOWlibqtile/widget/battery.py515CODE
LOWlibqtile/widget/windowname.py57CODE
LOWlibqtile/widget/import_error.py9CODE
LOWlibqtile/widget/volume.py60CODE
LOWlibqtile/widget/windowtabs.py39CODE
LOWlibqtile/widget/tasklist.py201CODE
LOWlibqtile/widget/tasklist.py513CODE
LOWlibqtile/widget/bluetooth.py428CODE
LOWlibqtile/widget/bluetooth.py482CODE
LOWlibqtile/widget/nvidia_sensors.py55CODE
LOWlibqtile/widget/widgetbox.py101CODE
LOWlibqtile/widget/prompt.py254CODE
LOWlibqtile/widget/prompt.py367CODE
LOWlibqtile/widget/prompt.py514CODE
LOWlibqtile/widget/prompt.py655CODE
LOWlibqtile/widget/groupbox.py311CODE
LOWlibqtile/widget/open_weather.py244CODE
LOWlibqtile/widget/base.py260CODE
LOW…qtile/widget/helpers/status_notifier/statusnotifier.py283CODE
LOWlibqtile/layout/tile.py109CODE
40 more matches not shown…
Self-Referential Comments29 hits · 88 pts
SeverityFileLineSnippetContext
MEDIUMbuilder.py46 f.write("# This file is generated at build time by builder.py\n")CODE
MEDIUMtest/shell_scripts/test_repl_client.py12 # Create a mock socket with recv methodCOMMENT
MEDIUMtest/widgets/test_widgetbox.py15 # Create a bar and set attributes needed to run widgetCOMMENT
MEDIUM⚡test/widgets/test_keyboardkbdd.py51 # Create a message with the index of the active keyboardCOMMENT
MEDIUM⚡test/widgets/test_keyboardkbdd.py81 # Create a message with the index of the active keyboardCOMMENT
MEDIUM⚡test/widgets/test_keyboardkbdd.py86 # Create a message with the index of the active keyboardCOMMENT
MEDIUMtest/widgets/test_hdd.py41 # Create a fake stat fileCOMMENT
MEDIUMtest/widgets/docs_screenshots/conftest.py59 # Define the target folder and check it existsCOMMENT
MEDIUMtest/widgets/docs_screenshots/conftest.py185 # Create a function to generate filenameCOMMENT
MEDIUMtest/widgets/docs_screenshots/ss_hdd.py20 # Create a fake stat fileCOMMENT
MEDIUMdocs/conf.py5# This file is execfile()d with the current directory set to its containing dir.COMMENT
MEDIUMdocs/conf.py327# Define the canonical URL if you are using a custom domain on Read the DocsCOMMENT
MEDIUMlibqtile/utils.py37# Create a list to collect references to tasks so they're not garbage collectedCOMMENT
MEDIUMlibqtile/bar.py305 # Create a mirror if this widget is already configured but isn't a MirrorCOMMENT
MEDIUMlibqtile/core/manager.py1464 # Create the group matching ruleCOMMENT
MEDIUMlibqtile/extension/dmenu.py41 # Create a clone of dmenu_command, don't use it directly sinceCOMMENT
MEDIUMlibqtile/widget/swaync.py84# Create a single instance of the reader.COMMENT
MEDIUMlibqtile/widget/notify.py71 # Create a tuple of our default timeouts. Urgency is an integer of 0-2COMMENT
MEDIUMlibqtile/widget/bluetooth.py461 # Create an object to represent this device and add to our listCOMMENT
MEDIUM…qtile/widget/helpers/status_notifier/statusnotifier.py129 # Create a proxy object connecting for the item.STRING
MEDIUM…qtile/widget/helpers/status_notifier/statusnotifier.py417 # Create a blank image to hold the iconCOMMENT
MEDIUMlibqtile/layout/tree.py700 # Create a new drawer object if the screen is a different heightCOMMENT
MEDIUMlibqtile/layout/xmonad.py1286 # Create a temporary margin list for the clientCOMMENT
MEDIUMlibqtile/backend/wayland/core.py3# This file contains code copied or adapted from pywlroots,COMMENT
MEDIUMlibqtile/backend/wayland/ffi_stub.py1# This module is used to allow the documentation to build properlyCOMMENT
MEDIUMlibqtile/backend/x11/drawer.py29 # Create an XCBSurface and pixmapCOMMENT
MEDIUMlibqtile/scripts/repl.py104 # Create the objects needed for the clientCOMMENT
MEDIUMlibqtile/scripts/repl.py138 # Create a session instanceCOMMENT
MEDIUMlibqtile/scripts/repl.py148 # Create a handler for the Enter key so we can deal with multiline inputCOMMENT
Unused Imports69 hits · 69 pts
SeverityFileLineSnippetContext
LOWbuilder.py4CODE
LOWtest/backend/wayland/test_window.py16CODE
LOWtest/widgets/test_check_updates.py2CODE
LOWtest/widgets/docs_screenshots/ss_bluetooth.py3CODE
LOWdocs/qtile_docs/templates/__init__.py1CODE
LOWdocs/qtile_docs/templates/__init__.py2CODE
LOWdocs/qtile_docs/templates/__init__.py3CODE
LOWdocs/qtile_docs/templates/__init__.py4CODE
LOWdocs/qtile_docs/templates/__init__.py4CODE
LOWdocs/qtile_docs/templates/__init__.py8CODE
LOWdocs/qtile_docs/templates/__init__.py9CODE
LOWlibqtile/confreader.py1CODE
LOWlibqtile/scratchpad.py1CODE
LOWlibqtile/config.py1CODE
LOWlibqtile/utils.py1CODE
LOWlibqtile/images.py1CODE
LOWlibqtile/bar.py1CODE
LOWlibqtile/lazy.py1CODE
LOWlibqtile/core/manager.py1CODE
LOWlibqtile/core/state.py1CODE
LOWlibqtile/widget/base.py1CODE
LOWlibqtile/widget/helpers/status_notifier/__init__.py1CODE
LOWlibqtile/widget/helpers/status_notifier/__init__.py1CODE
LOWlibqtile/widget/helpers/status_notifier/__init__.py1CODE
LOWlibqtile/layout/bsp.py1CODE
LOWlibqtile/layout/__init__.py22CODE
LOWlibqtile/layout/__init__.py23CODE
LOWlibqtile/layout/__init__.py24CODE
LOWlibqtile/layout/__init__.py25CODE
LOWlibqtile/layout/__init__.py26CODE
LOWlibqtile/layout/__init__.py27CODE
LOWlibqtile/layout/__init__.py28CODE
LOWlibqtile/layout/__init__.py29CODE
LOWlibqtile/layout/__init__.py30CODE
LOWlibqtile/layout/__init__.py31CODE
LOWlibqtile/layout/__init__.py32CODE
LOWlibqtile/layout/__init__.py33CODE
LOWlibqtile/layout/__init__.py34CODE
LOWlibqtile/layout/__init__.py35CODE
LOWlibqtile/layout/__init__.py36CODE
LOWlibqtile/layout/__init__.py36CODE
LOWlibqtile/layout/__init__.py36CODE
LOWlibqtile/layout/__init__.py37CODE
LOWlibqtile/layout/screensplit.py1CODE
LOWlibqtile/layout/base.py1CODE
LOWlibqtile/backend/__init__.py1CODE
LOWlibqtile/backend/wayland/drawer.py1CODE
LOWlibqtile/backend/wayland/window.py1CODE
LOWlibqtile/backend/wayland/idle_inhibit.py1CODE
LOWlibqtile/backend/wayland/__init__.py3CODE
LOWlibqtile/backend/x11/drawer.py1CODE
LOWlibqtile/backend/base/drawer.py1CODE
LOWlibqtile/backend/base/window.py1CODE
LOWlibqtile/backend/base/idle_inhibit.py1CODE
LOWlibqtile/backend/base/__init__.py1CODE
LOWlibqtile/backend/base/__init__.py2CODE
LOWlibqtile/backend/base/__init__.py3CODE
LOWlibqtile/backend/base/__init__.py4CODE
LOWlibqtile/backend/base/__init__.py4CODE
LOWlibqtile/backend/base/__init__.py4CODE
9 more matches not shown…
Excessive Try-Catch Wrapping35 hits · 40 pts
SeverityFileLineSnippetContext
LOWbuilder.py33 except Exception as e:CODE
LOWtest/helpers.py255 except Exception:CODE
MEDIUMtest/helpers.py228def run_qtile():CODE
LOWtest/scripts/window.py71 except Exception as e:CODE
MEDIUMtest/scripts/window.py62def line_notify(line):CODE
LOWlibqtile/config.py515 except Exception:STRING
LOWlibqtile/notify.py119 except Exception:CODE
LOWlibqtile/notify.py181 except Exception:CODE
LOWlibqtile/notify.py193 except Exception:CODE
LOWlibqtile/bar.py353 except Exception:CODE
LOWlibqtile/bar.py703 except Exception:CODE
LOWlibqtile/group.py131 except Exception:CODE
LOWlibqtile/lazy.py148 except Exception:CODE
LOWlibqtile/core/manager.py131 except Exception as e:CODE
LOWlibqtile/core/manager.py302 except Exception as error:CODE
LOWlibqtile/core/manager.py336 except Exception as error:CODE
LOWlibqtile/core/manager.py1355 except Exception as error:CODE
MEDIUMlibqtile/core/manager.py649def update_desktops(self) -> None:CODE
LOWlibqtile/widget/swaync.py69 except Exception:CODE
LOWlibqtile/widget/gen_poll_url.py73 except Exception:CODE
LOWlibqtile/widget/nvidia_sensors.py72 except Exception:CODE
LOWlibqtile/widget/base.py159 except Exception:CODE
LOWlibqtile/widget/base.py860 except Exception:CODE
LOW…qtile/widget/helpers/status_notifier/statusnotifier.py677 except Exception as err:CODE
MEDIUM…qtile/widget/helpers/status_notifier/statusnotifier.py674def item_added(self, item, service, future):CODE
LOWlibqtile/backend/x11/core.py369 except Exception:CODE
LOWlibqtile/backend/base/idle_notify.py35 except Exception:CODE
LOWlibqtile/scripts/check.py107 except Exception:CODE
LOWlibqtile/scripts/start.py65 except Exception:CODE
LOWlibqtile/scripts/start.py102 except Exception:CODE
MEDIUMlibqtile/scripts/start.py83def start(options):CODE
LOWlibqtile/interactive/repl.py80 except Exception:CODE
LOWlibqtile/interactive/repl.py111 except Exception:CODE
LOWlibqtile/command/interface.py427 except Exception:CODE
LOWlibqtile/command/base.py291 except Exception:CODE
Modern Structural Boilerplate38 hits · 40 pts
SeverityFileLineSnippetContext
LOWdocs/qtile_docs/templates/__init__.py11__all__ = [CODE
LOWlibqtile/config.py738 def set_wallpaper(self, path: str, mode: str | None = None) -> None:CODE
LOWlibqtile/popup.py88 def set_border(self, color: ColorType) -> None:CODE
LOWlibqtile/bar.py800 def set_layer(self) -> None:CODE
LOWlibqtile/core/lifecycle.py8__all__ = [CODE
LOWlibqtile/core/manager.py649 def update_desktops(self) -> None:CODE
LOWlibqtile/widget/memory.py5__all__ = ["Memory"]CODE
LOWlibqtile/widget/graph.py12__all__ = [CODE
LOWlibqtile/widget/volume.py11__all__ = [CODE
LOWlibqtile/widget/keyboardlayout.py28 def set_keyboard(self, layout: str, options: str | None) -> None:CODE
LOWlibqtile/widget/keyboardlayout.py59 def set_keyboard(self, layout: str, options: str | None) -> None:CODE
LOWlibqtile/widget/keyboardlayout.py90 def set_keyboard(self, layout: str, options: str | None) -> None:CODE
LOWlibqtile/layout/__init__.py1__all__ = [CODE
LOWlibqtile/layout/screensplit.py160 def _set_hooks(self) -> None:CODE
LOWlibqtile/backend/wayland/window.py316 def set_buffer_with_damage(self, offsetx: int, offsety: int, width: int, height: int) -> None:CODE
LOWlibqtile/backend/wayland/window.py384def set_title_cb(title: ffi.CData, userdata: ffi.CData) -> None:CODE
LOWlibqtile/backend/wayland/window.py390def set_app_id_cb(app_id: ffi.CData, userdata: ffi.CData) -> None:CODE
LOWlibqtile/backend/wayland/window.py727 def _update_fullscreen(self, do_full: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py741 def _update_maximized(self, do_max: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py758 def _update_minimized(self, do_min: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py837 def set_position_floating(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/wayland/window.py841 def set_position(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/wayland/window.py860 def set_size_floating(self, w: int, h: int) -> None:CODE
LOWlibqtile/backend/wayland/core.py293 def update_backend_log_level(self) -> None:CODE
LOWlibqtile/backend/wayland/core.py771 def set_locked(self, locked: bool) -> None:CODE
LOWlibqtile/backend/x11/window.py581 def update_wm_class(self) -> None:CODE
LOWlibqtile/backend/x11/core.py465 def update_client_lists(self) -> None:CODE
LOWlibqtile/backend/x11/core.py488 def update_desktops(self, groups, index: int) -> None:CODE
LOWlibqtile/backend/base/window.py305 def _set_fullscreen(self, do_full: bool) -> None:CODE
LOW⚡libqtile/backend/base/window.py422 def set_position_floating(self, x: int, y: int) -> None:CODE
LOW⚡libqtile/backend/base/window.py427 def set_position(self, x: int, y: int) -> None:CODE
LOW⚡libqtile/backend/base/window.py435 def set_size_floating(self, w: int, h: int) -> None:CODE
LOWlibqtile/backend/base/window.py534 def set_opacity(self, opacity: float) -> None:CODE
LOWlibqtile/backend/base/idle_inhibit.py98 def set_hooks(self) -> None:CODE
LOWlibqtile/backend/base/idle_inhibit.py148 def update_user_inhibitors(self) -> None:CODE
LOWlibqtile/backend/base/core.py57 def update_desktops(self, groups: list[_Group], index: int) -> None:CODE
LOWlibqtile/backend/base/core.py157 def update_backend_log_level(self) -> None:CODE
LOWlibqtile/backend/base/core.py175 def set_idle_inhibitor(self) -> None:CODE
Cross-Language Confusion8 hits · 38 pts
SeverityFileLineSnippetContext
HIGHlibqtile/extension/command_set.py14 'play/pause': '[ $(mocp -i | wc -l) -lt 2 ] && mocp -p || mocp -G',STRING
HIGHlibqtile/widget/graph.py219 self.push(push_value)CODE
HIGHlibqtile/widget/graph.py221 self.push(self.values[0])CODE
HIGHlibqtile/widget/graph.py255 self.push(val["MemTotal"] - val["MemFree"] - val["Buffers"] - val["Cached"])CODE
HIGHlibqtile/widget/graph.py292 self.push(swap)CODE
HIGHlibqtile/widget/graph.py335 self.push(change)CODE
HIGHlibqtile/widget/graph.py377 self.push(val)CODE
HIGHlibqtile/widget/graph.py410 self.push(val)CODE
Over-Commented Block28 hits · 28 pts
SeverityFileLineSnippetContext
LOWtest/wayland_clients/src/virtual-keyboard.c1#define _GNU_SOURCECOMMENT
LOWtest/widgets/docs_screenshots/ss_gmail_checker.py41# display_fmt="unseen[{0}]",COMMENT
LOWdocs/conf.py1#COMMENT
LOWdocs/conf.py101master_doc = "index"COMMENT
LOWdocs/conf.py121# non-false value, then it is used:COMMENT
LOWdocs/conf.py141# output. They are ignored by default.COMMENT
LOWdocs/conf.py161# further. For a list of options available for each theme, see theCOMMENT
LOWdocs/conf.py181# pixels large.COMMENT
LOWdocs/conf.py201smartquotes = FalseCOMMENT
LOWdocs/conf.py221COMMENT
LOWdocs/conf.py241COMMENT
LOWdocs/conf.py261# For "manual" documents, if this is true, then toplevel headings are parts,COMMENT
LOWlibqtile/config.py441 self.qtile: Qtile | None = NoneCOMMENT
LOWlibqtile/widget/base.py21# will have to be adapted too, in general. ORIENTATION_NONE is only added forCOMMENT
LOWlibqtile/resources/default_config.py101layouts = [COMMENT
LOWlibqtile/resources/default_config.py221# mailing lists, GitHub issues, and other WM documentation that suggest settingCOMMENT
LOWlibqtile/backend/wayland/core.py1# Copyright (c) 2018 Sean VigCOMMENT
LOWlibqtile/backend/wayland/core.py21# used to endorse or promote products derived from this Software withoutCOMMENT
LOWlibqtile/backend/wayland/qw/util.c1#include "util.h"COMMENT
LOWlibqtile/backend/wayland/qw/server.c1#include <libinput.h>COMMENT
LOWlibqtile/backend/wayland/qw/server.c21#include "output.h"COMMENT
LOWlibqtile/backend/wayland/qw/xdg-view.c1#include "xdg-view.h"COMMENT
LOWlibqtile/backend/wayland/qw/internal-view.c1#include "internal-view.h"COMMENT
LOWlibqtile/backend/wayland/qw/server.h1#ifndef SERVER_HCOMMENT
LOWlibqtile/backend/wayland/qw/server.h21#include <wlr/types/wlr_export_dmabuf_v1.h>COMMENT
LOWlibqtile/backend/wayland/qw/server.h41#include <wlr/types/wlr_seat.h>COMMENT
LOWlibqtile/backend/wayland/qw/xwayland-view.c1#include "xwayland-view.h"COMMENT
LOWlibqtile/backend/wayland/qw/output.c1#include "output.h"COMMENT
Redundant / Tautological Comments19 hits · 28 pts
SeverityFileLineSnippetContext
LOWtest/test_window.py307 # Check if the position matchesCOMMENT
LOWtest/helpers.py432 # Set GDK_BACKEND to x11, since in wayland, the window requieresCOMMENT
LOWtest/test_when.py49 # Check if the test window is alive and tiledCOMMENT
LOWtest/widgets/docs_screenshots/conftest.py48 # Check if widget is in the key dictCOMMENT
LOWdocs/qtile_docs/commands.py58 # Check if method has been exposed to the command graphCOMMENT
LOWlibqtile/confreader.py106 # Check if the module is in the config folder or subfolderCOMMENT
LOWlibqtile/utils.py523 # Check if message sent successfullyCOMMENT
LOWlibqtile/bar.py207 # Check if colours are valid but don't convert to rgba hereCOMMENT
LOWlibqtile/core/manager.py816 # Check if any user-defined inhibitor rules match the windowCOMMENT
LOWlibqtile/widget/bluetooth.py453 # Check if object is a valid bluetooth device and ignore it if notCOMMENT
LOWlibqtile/widget/check_updates.py93 # Check if distro name is valid.STRING
LOWlibqtile/widget/mpris2widget.py222 # Check if the current player has closedCOMMENT
LOWlibqtile/widget/pulse_volume.py52 # Check if we were previously connected to the server and,COMMENT
LOW…qtile/widget/helpers/status_notifier/statusnotifier.py555 # Check if one of our registered items or hosts has been removed.COMMENT
LOW…qtile/widget/helpers/status_notifier/statusnotifier.py706 # Check if the interface is in out list of items and, if so,COMMENT
LOWlibqtile/backend/x11/window.py937 # Check if this window is focusedCOMMENT
LOWlibqtile/backend/x11/window.py1327 # Check if we need to restack a previously focused fullscreen windowCOMMENT
LOWlibqtile/scripts/launch.py13 # Open the file descriptorCOMMENT
LOWlibqtile/command/interface.py416 # Check if method is bound, if itis, insert magic selfCOMMENT
AI Slop Vocabulary11 hits · 16 pts
SeverityFileLineSnippetContext
LOWtest/test_utils.py170 # For P_PID calls (specific PID), just return None (handled)COMMENT
LOWtest/widgets/test_stock_ticker.py53 # We don't know what locale is on the testing system but we can just useCOMMENT
LOWtest/widgets/docs_screenshots/ss_widgetbox.py32 # As there are no other widgets here, we can just add up the length of all widgets.COMMENT
LOWlibqtile/__init__.py36 # Otherwise, just use ctypes.COMMENT
LOWlibqtile/widget/graph.py340 # so I'll just return the interface that has received the most traffic.COMMENT
LOWlibqtile/widget/tasklist.py285 # if no windows present for current group just return empty listCOMMENT
LOWlibqtile/widget/tasklist.py443 # Rather than dealing with alpha blending issues, we just set border widthCOMMENT
LOWlibqtile/widget/groupbox.py86 # Rather than dealing with alpha blending issues, we just set border widthCOMMENT
LOWlibqtile/widget/stock_ticker.py58 # since there are only two and one is "Meta Data", we can just use theCOMMENT
LOWlibqtile/interactive/iqshell_kernel.py24 # if no command sent, just returnCOMMENT
LOWlibqtile/command/interface.py345 # lists/dicts of types out of strings; just pass on whatever weCOMMENT
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtest/helpers.py0get a list of all windows in ascending order of z positionSTRING
HIGHtest/backend/wayland/conftest.py0get a list of all windows in ascending order of z positionSTRING
HIGHtest/backend/x11/conftest.py0get a list of all windows in ascending order of z positionSTRING
AI Structural Patterns7 hits · 6 pts
SeverityFileLineSnippetContext
LOWlibqtile/config.py418CODE
LOWlibqtile/config.py785CODE
LOWlibqtile/config.py1010CODE
LOWlibqtile/utils.py465CODE
LOWlibqtile/backend/wayland/window.py788CODE
LOWlibqtile/backend/wayland/cffi/build.py49CODE
LOWlibqtile/backend/x11/window.py1850CODE
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtest/backend/wayland/test_window.py101# TODO: Add test for bring_front_clickCOMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWlibqtile/bar.py706 # We need to check if there is any unoccupied space in the barCOMMENT
Overly Generic Function Names1 hit · 0 pts
SeverityFileLineSnippetContext
LOWlibqtile/lazy.py41 def my_function(qtile, pos_arg, keyword_arg=False):STRING