Repository Analysis

qtile/qtile

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

11.1 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of qtile/qtile, a Python project with 5,289 GitHub stars. SynthScan v2.0 examined 84,287 lines of code across 458 source files, recording 712 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 11.1 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

11.1
Adjusted Score
11.1
Raw Score
100%
Time Factor
2026-07-31
Last Push
5.3K
Stars
Python
Language
84.3K
Lines of Code
458
Files
712
Pattern Hits
2026-08-02
Scan Date
0.05
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 10HIGH 11MEDIUM 34LOW 657

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 712 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers356 hits · 371 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
LOWtest/test_utils.py21def test_rgb_from_hex_number_with_alpha():CODE
LOWtest/test_utils.py25def test_rgb_from_hex_string_with_alpha():CODE
LOWtest/test_utils.py29def test_rgb_from_hex_number_with_hex_alpha():CODE
LOWtest/test_utils.py33def test_rgb_from_hex_string_with_hex_alpha():CODE
LOWtest/test_utils.py94def test_guess_terminal_accepts_a_preference(path):CODE
LOWtest/test_utils.py100def test_guess_terminal_accepts_a_list_of_preferences(path):CODE
LOWtest/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
LOWtest/test_images.py339 def test_resize_less_than_one(self, png_img, width, height):CODE
LOWtest/test_images.py345 def test_resize_less_than_one_width(self, png_img, width):CODE
LOWtest/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_hook.py34def test_cannot_fire_unknown_event():CODE
LOWtest/test_hook.py40def test_hook_calls_subscriber():CODE
LOWtest/test_hook.py48def test_hook_calls_subscriber_async():CODE
LOWtest/test_hook.py62def test_hook_calls_subscriber_async_co():CODE
LOWtest/test_hook.py76def test_hook_calls_subscriber_async_in_existing_loop():CODE
LOWtest/test_hook.py93def test_subscribers_can_be_added_removed():CODE
LOWtest/test_hook.py102def test_can_unsubscribe_from_hook():CODE
LOWtest/test_hook.py114def test_can_subscribe_to_startup_hooks(manager_nospawn):CODE
LOWtest/test_hook.py131 def inc_startup_complete_calls():CODE
LOWtest/test_hook.py152def test_can_update_by_selection_change(manager):CODE
LOWtest/test_hook.py160def test_can_call_by_selection_notify(manager):CODE
LOWtest/test_hook.py184def test_custom_hook_registry():CODE
LOWtest/test_hook.py565def test_client_focus_by_click(manager_nospawn):CODE
LOWtest/test_hook.py595def test_client_urgent_hint_changed(manager_nospawn):CODE
LOWtest/test_hook.py687def test_screens_reconfigured(manager_nospawn):CODE
LOWtest/test_hook.py692 def inc_screens_reconfigured_calls():CODE
LOWtest/test_hook.py705def test_current_screen_change(manager_nospawn):CODE
LOWtest/test_hook.py710 def inc_current_screen_change_calls():CODE
LOWtest/test_hook.py731def test_transient_hooks_syncronous():CODE
LOWtest/test_hook.py752def test_transient_hooks_asyncronous():CODE
LOWtest/test_hook.py773def 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
LOWtest/test_config.py100def test_screen_serial_ordering_the_order(manager_nospawn, minimal_conf_noscreen, monkeypatch):CODE
LOWtest/test_config.py123def test_generate_screens_too_few(manager_nospawn, minimal_conf_noscreen, monkeypatch):CODE
LOWtest/test_config.py153def test_generate_screens_too_many(manager_nospawn, minimal_conf_noscreen, monkeypatch):CODE
LOWtest/test_config.py182def test_generate_screens_serial_matching(manager_nospawn, minimal_conf_noscreen, monkeypatch):CODE
296 more matches not shown…
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.py501 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.py2059 self.qtile.core.conn.conn.core.AllowEvents(xcffib.xproto.Allow.ReplayPointer, e.time)CODE
CRITICALlibqtile/backend/x11/window.py2172 name = self.qtile.core.conn.atoms.get_name(e.atom)CODE
Deep Nesting99 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
LOWlibqtile/layout/tile.py109CODE
LOWlibqtile/layout/floating.py90CODE
39 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
MEDIUMtest/widgets/test_keyboardkbdd.py51 # Create a message with the index of the active keyboardCOMMENT
MEDIUMtest/widgets/test_keyboardkbdd.py81 # Create a message with the index of the active keyboardCOMMENT
MEDIUMtest/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.py412 # 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.py248 except Exception:CODE
MEDIUMtest/helpers.py221def 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.py672 except Exception as err:CODE
MEDIUM…qtile/widget/helpers/status_notifier/statusnotifier.py669def 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 Boilerplate37 hits · 38 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.py753 def _update_fullscreen(self, do_full: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py794 def _update_maximized(self, do_max: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py811 def _update_minimized(self, do_min: bool, old_state: FloatStates) -> None:CODE
LOWlibqtile/backend/wayland/window.py890 def set_position_floating(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/wayland/window.py894 def set_position(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/wayland/window.py913 def set_size_floating(self, w: int, h: int) -> None:CODE
LOWlibqtile/backend/wayland/core.py292 def update_backend_log_level(self) -> None:CODE
LOWlibqtile/backend/wayland/core.py766 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.py359 def set_position_floating(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/base/window.py364 def set_position(self, x: int, y: int) -> None:CODE
LOWlibqtile/backend/base/window.py372 def set_size_floating(self, w: int, h: int) -> None:CODE
LOWlibqtile/backend/base/window.py471 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.py55 def update_desktops(self, groups: list[_Group], index: int) -> None:CODE
LOWlibqtile/backend/base/core.py129 def update_backend_log_level(self) -> None:CODE
LOWlibqtile/backend/base/core.py147 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
Redundant / Tautological Comments19 hits · 28 pts
SeverityFileLineSnippetContext
LOWtest/test_window.py307 # Check if the position matchesCOMMENT
LOWtest/helpers.py425 # 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.py105 # 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.py550 # Check if one of our registered items or hosts has been removed.COMMENT
LOW…qtile/widget/helpers/status_notifier/statusnotifier.py701 # 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
Over-Commented Block26 hits · 26 pts
SeverityFileLineSnippetContext
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/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_session_lock_v1.h>COMMENT
LOWlibqtile/backend/wayland/qw/xwayland-view.c1#include "xwayland-view.h"COMMENT
LOWlibqtile/backend/wayland/qw/output.c1#include "output.h"COMMENT
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 · 7 pts
SeverityFileLineSnippetContext
LOWlibqtile/config.py418CODE
LOWlibqtile/config.py785CODE
LOWlibqtile/config.py1010CODE
LOWlibqtile/utils.py465CODE
LOWlibqtile/backend/wayland/window.py841CODE
LOWlibqtile/backend/wayland/cffi/build.py49CODE
LOWlibqtile/backend/x11/window.py1895CODE
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