Repository Analysis

bottlesdevs/Bottles

Run Windows software and games on Linux

17.6 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of bottlesdevs/Bottles, a Python project with 8,751 GitHub stars. SynthScan v2.0 examined 72,786 lines of code across 376 source files, recording 1253 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 17.6 places this repository in the Moderate 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).

17.6
Adjusted Score
17.6
Raw Score
100%
Time Factor
2026-08-28
Last Push
8.8K
Stars
Python
Language
72.8K
Lines of Code
376
Files
1.3K
Pattern Hits
2026-08-29
Scan Date
0.03
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

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

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 1HIGH 10MEDIUM 7LOW 1235

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 1253 distinct pattern matches across 15 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 Identifiers805 hits · 775 pts
SeverityFileLineSnippetContext
LOWtests/conftest.py11def _add_repo_root_to_syspath() -> None:CODE
LOWtests/test_funding.py8def test_paypal_donation_url_contains_selected_amount():CODE
LOWtests/test_funding.py23def test_paypal_donation_url_rejects_amount_below_minimum():CODE
LOWbottles/frontend/utils/gtk.py73 def _on_system_setting_changed(self, _display, setting):CODE
LOWbottles/frontend/utils/gtk.py80 def create_full_width_string_list_factory() -> Gtk.SignalListItemFactory:CODE
LOWbottles/frontend/utils/localization.py71def get_ui_language_environment(language):CODE
LOWbottles/frontend/utils/flatpak.py33def get_filesystem_override_command(path: str) -> Optional[str]:CODE
LOWbottles/frontend/utils/flatpak.py64def show_external_folder_access_dialog(parent, path: str) -> None:CODE
LOWbottles/frontend/utils/flatpak.py119def resolve_bottles_directory(parent, path: str) -> Optional[str]:CODE
LOWbottles/frontend/cli/utils.py4def _quote_command_placeholder(argument: str) -> str:CODE
LOWbottles/frontend/windows/dependency_install.py69 def __mark_last_step_completed(self) -> None:CODE
LOWbottles/frontend/windows/funding.py33def build_paypal_donation_url(amount: int) -> str:CODE
LOWbottles/frontend/windows/window.py332 def __maybe_prompt_winebridge_update(self):CODE
LOWbottles/frontend/windows/window.py610 def show_download_preferences_view(self, widget=False):CODE
LOWbottles/frontend/windows/window.py613 def show_runners_preferences_view(self, widget=False):CODE
LOWbottles/frontend/windows/window.py628 def __continue_startup_dialogs(self):CODE
LOWbottles/frontend/windows/window.py659 def __maybe_show_funding_dialog(self):CODE
LOWbottles/frontend/windows/window.py682 def __maybe_show_eagle_intel_dialog(self):CODE
LOWbottles/frontend/windows/envvars.py246 def __populate_inherited_list(self):CODE
LOWbottles/frontend/windows/envvars.py260 def __update_inherited_placeholder(self):CODE
LOWbottles/frontend/windows/umu.py1501 def __update_installed_dependencies(self):CODE
LOWbottles/frontend/windows/umu.py1681 def __choose_working_directory(self, *_args):CODE
LOWbottles/frontend/windows/umu.py1694 def __reset_working_directory(self, *_args):CODE
LOWbottles/frontend/windows/umu.py1698 def __update_working_directory(self):CODE
LOWbottles/frontend/windows/umu.py1838 def __dependency_tool_changed(self, *_args):CODE
LOWbottles/frontend/windows/sandbox.py123 def __populate_hidraw_devices(self):CODE
LOWbottles/frontend/windows/sandbox.py162 def __update_device_permissions(self):CODE
LOWbottles/frontend/windows/launchoptions.py452 def __update_automatic_backup(self):CODE
LOWbottles/frontend/windows/dlloverrides.py152 def __populate_overrides_list(self):CODE
LOWbottles/frontend/windows/vkbasalt.py195 def __change_edge_detection_type(self, widget, edge_detection_type):CODE
LOWbottles/frontend/windows/drives.py177 def __populate_combo_and_drives(self):CODE
LOWbottles/frontend/views/list.py368 def update_component_updates_banner(self) -> None:CODE
LOWbottles/frontend/views/bottle_versioning.py135 def show_manage_branches_dialog(self, widget):CODE
LOWbottles/frontend/views/preferences.py714 def __on_audio_driver_setting_changed(self, *_args):CODE
LOWbottles/frontend/views/preferences.py717 def __on_ui_language_setting_changed(self, *_args):CODE
LOWbottles/frontend/views/preferences.py720 def __sync_ui_language_selection(self, *_args):CODE
LOWbottles/frontend/views/preferences.py365 def __update_eagle_security_style(self, *_args):CODE
LOWbottles/frontend/views/preferences.py377 def __funding_setting_changed(self, switch, _pspec):CODE
LOWbottles/frontend/views/preferences.py407 def __toggle_component_updates(self, *_args):CODE
LOWbottles/frontend/views/preferences.py593 def __on_umu_dependency_selected(self, combo, _pspec):CODE
LOWbottles/frontend/views/preferences.py662 def __on_personal_repo_changed(self, row, repo_name):CODE
LOWbottles/frontend/views/preferences.py678 def __persist_personal_repositories(self):CODE
LOWbottles/frontend/views/preferences.py690 def __on_font_scale_setting_changed(self, *_args):CODE
LOWbottles/frontend/views/preferences.py693 def __sync_font_scale_selection(self, *_args):CODE
LOWbottles/frontend/views/preferences.py731 def __on_ui_language_selected(self, combo, _pspec):CODE
LOWbottles/frontend/views/preferences.py748 def __sync_audio_driver_selection(self, *_args):CODE
LOWbottles/frontend/views/preferences.py759 def __on_audio_driver_selected(self, combo, _pspec):CODE
LOWbottles/frontend/views/preferences.py774 def __display_unstable_candidate(self, component=["", {"Channel": "unstable"}]):CODE
LOWbottles/frontend/views/preferences.py779 def __populate_component_list(CODE
LOWbottles/frontend/views/preferences.py836 def __populate_runners_helper(CODE
LOWbottles/frontend/views/preferences.py1074 def __populate_template_cache_rows(self, templates: list[dict]):CODE
LOWbottles/frontend/views/preferences.py1122 def __format_template_subtitle(self, template: dict) -> str:CODE
LOWbottles/frontend/views/preferences.py1147 def __confirm_clear_all_caches(self, widget):CODE
LOWbottles/frontend/views/preferences.py1158 def __confirm_clear_temp_cache(self, widget):CODE
LOWbottles/frontend/views/preferences.py1169 def __confirm_clear_templates_cache(self, widget):CODE
LOWbottles/frontend/views/bottle_preferences.py390 def __create_unavailable_popover(CODE
LOWbottles/frontend/views/bottle_preferences.py437 def __add_unavailable_indicator(CODE
LOWbottles/frontend/views/bottle_preferences.py459 def __copy_command_to_clipboard(self, _widget, command: str):CODE
LOWbottles/frontend/views/bottle_preferences.py533 def __update_working_directory_row(self, working_dir=None):CODE
LOWbottles/frontend/views/bottle_preferences.py803 def __update_adaptive_launch_support(self) -> None:CODE
745 more matches not shown…
Over-Commented Block134 hits · 133 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/bottles.py1#!@PYTHON@COMMENT
LOWbottles/frontend/operation.py1# operation.pyCOMMENT
LOWbottles/frontend/main.py1# main.pyCOMMENT
LOWbottles/frontend/utils/gtk.py1# gtk.pyCOMMENT
LOWbottles/frontend/utils/sh.py1# sh.pyCOMMENT
LOWbottles/frontend/utils/sandbox_guard.py1# sandbox_guard.pyCOMMENT
LOWbottles/frontend/utils/umu.py1# umu.pyCOMMENT
LOWbottles/frontend/utils/playtime.py1# playtime.pyCOMMENT
LOWbottles/frontend/utils/common.py1# utils.pyCOMMENT
LOWbottles/frontend/utils/flatpak.py1# flatpak.pyCOMMENT
LOWbottles/frontend/utils/filters.py1# filters.py: File for providing common GtkFileFiltersCOMMENT
LOWbottles/frontend/cli/cli.py1#!@PYTHON@COMMENT
LOWbottles/frontend/windows/onboard.py1# onboard.pyCOMMENT
LOWbottles/frontend/windows/mangohud.py1# mangohud.pyCOMMENT
LOWbottles/frontend/windows/upgradeversioning.py1# duplicate.pyCOMMENT
LOWbottles/frontend/windows/dependency_install.py1# dependency_install.pyCOMMENT
LOWbottles/frontend/windows/funding.py1# funding.pyCOMMENT
LOWbottles/frontend/windows/depscheck.py1# depscheck.pyCOMMENT
LOWbottles/frontend/windows/journal.py1# journal.pyCOMMENT
LOWbottles/frontend/windows/crash.py1# crash.pyCOMMENT
LOWbottles/frontend/windows/versioning_manage_branches.py1# versioning_manage_branches.pyCOMMENT
LOWbottles/frontend/windows/bottlepicker.py1# bottlepicker.pyCOMMENT
LOWbottles/frontend/windows/window.py1# window.pyCOMMENT
LOWbottles/frontend/windows/rename.py1# rename.pyCOMMENT
LOWbottles/frontend/windows/lsfgvk.py1# lsfgvk.pyCOMMENT
LOWbottles/frontend/windows/bulkupdate.py1# bulkupdate.pyCOMMENT
LOWbottles/frontend/windows/versioning_commit.py1# versioning_commit.pyCOMMENT
LOWbottles/frontend/windows/versioning_branch.py1# versioning_branch.pyCOMMENT
LOWbottles/frontend/windows/fileassociations.py1# fileassociations.pyCOMMENT
LOWbottles/frontend/windows/programbackups.py1# programbackups.pyCOMMENT
LOWbottles/frontend/windows/generic.py1# generic.pyCOMMENT
LOWbottles/frontend/windows/envvars.py1# envvars.pyCOMMENT
LOWbottles/frontend/windows/gamescope.py1# gamescope.pyCOMMENT
LOWbottles/frontend/windows/umu.py1# umu.pyCOMMENT
LOWbottles/frontend/windows/display.py1# display.pyCOMMENT
LOWbottles/frontend/windows/installer.py1# installer.pyCOMMENT
LOWbottles/frontend/windows/sandbox.py1# sandbox.pyCOMMENT
LOWbottles/frontend/windows/duplicate.py1# duplicate.pyCOMMENT
LOWbottles/frontend/windows/exclusionpatterns.py1# envvars.pyCOMMENT
LOWbottles/frontend/windows/vmtouch.py1# vmtouch.pyCOMMENT
LOWbottles/frontend/windows/launchoptions.py1# launchoptions.pyCOMMENT
LOWbottles/frontend/windows/playtimegraph.py1# playtimegraph.pyCOMMENT
LOWbottles/frontend/windows/versioning_settings.py1# versioning_settings.pyCOMMENT
LOWbottles/frontend/windows/eagleintel.py1# eagleintel.pyCOMMENT
LOWbottles/frontend/windows/dlloverrides.py1# dlloverrides.pyCOMMENT
LOWbottles/frontend/windows/protonalert.py1# protonalert.pyCOMMENT
LOWbottles/frontend/windows/registry_rules.py1#COMMENT
LOWbottles/frontend/windows/vkbasalt.py1# vkbasalt.pyCOMMENT
LOWbottles/frontend/windows/drives.py1# drive.pyCOMMENT
LOWbottles/frontend/views/loading.py1# loading.pyCOMMENT
LOWbottles/frontend/views/library.py1# library.pyCOMMENT
LOWbottles/frontend/views/importer.py1# importer.pyCOMMENT
LOWbottles/frontend/views/list.py1# list.pyCOMMENT
LOWbottles/frontend/views/bottle_versioning.py1# bottle_versioning.pyCOMMENT
LOWbottles/frontend/views/preferences.py1# preferences.pyCOMMENT
LOWbottles/frontend/views/bottle_installers.py1# bottle_installers.pyCOMMENT
LOWbottles/frontend/views/bottle_dependencies.py1# bottle_installers.pyCOMMENT
LOWbottles/frontend/views/details.py1# details.pyCOMMENT
LOWbottles/frontend/views/bottle_taskmanager.py1# taskmanager.pyCOMMENT
LOWbottles/frontend/views/bottle_preferences.py1# bottle_preferences.pyCOMMENT
74 more matches not shown…
Excessive Try-Catch Wrapping97 hits · 106 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/main.py239 except Exception as e:CODE
LOWbottles/frontend/main.py272 except Exception as e:CODE
LOWbottles/frontend/main.py307 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py173 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py222 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py286 except Exception:CODE
LOWbottles/frontend/utils/playtime.py329 except Exception:CODE
LOWbottles/frontend/utils/playtime.py370 except Exception:CODE
LOWbottles/frontend/utils/playtime.py393 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py412 except Exception as e:CODE
LOWbottles/frontend/utils/playtime.py431 except Exception as e:CODE
LOWbottles/frontend/windows/envvars.py75 except Exception as e:CODE
LOWbottles/frontend/windows/playtimegraph.py261 except Exception as e:CODE
LOWbottles/frontend/views/bottle_versioning.py107 except Exception:CODE
MEDIUMbottles/frontend/views/bottle_versioning.py102def _refresh_details_badge(self):CODE
LOWbottles/frontend/views/bottle_dependencies.py157 except Exception as exception:CODE
LOWbottles/frontend/views/bottle_details.py238 except Exception:CODE
MEDIUMbottles/frontend/views/bottle_details.py232def _fetch():CODE
LOWbottles/frontend/widgets/program.py233 except Exception as e:CODE
LOWbottles/frontend/widgets/program.py919 except Exception as e:CODE
LOW…nd/integration/playtime/test_wine_executor_playtime.py30 except Exception:CODE
LOW…/backend/integration/playtime/test_playtime_signals.py34 except Exception:CODE
LOWbottles/backend/cabextract.py164 except Exception as exception:CODE
LOWbottles/backend/managers/library.py98 except Exception as e:CODE
LOWbottles/backend/managers/steamgriddb.py65 except Exception:CODE
LOWbottles/backend/managers/playtime.py157 except Exception:CODE
LOWbottles/backend/managers/playtime.py249 except Exception:CODE
LOWbottles/backend/managers/playtime.py252 except Exception:CODE
LOWbottles/backend/managers/playtime.py260 except Exception:CODE
LOWbottles/backend/managers/playtime.py481 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py746 except Exception:CODE
LOWbottles/backend/managers/playtime.py848 except Exception:CODE
LOWbottles/backend/managers/playtime.py920 except Exception:CODE
LOWbottles/backend/managers/playtime.py968 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py1006 except Exception as e:CODE
LOWbottles/backend/managers/playtime.py1044 except Exception as e:CODE
MEDIUMbottles/backend/managers/playtime.py257def _atexit_shutdown(self) -> None:CODE
LOWbottles/backend/managers/eagle.py542 except Exception:CODE
LOWbottles/backend/managers/eagle.py547 except Exception:CODE
LOWbottles/backend/managers/eagle.py555 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py139 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py174 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py262 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py290 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py316 except Exception:CODE
LOWbottles/backend/managers/eagle.py351 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py503 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py510 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py566 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py969 except Exception as e:CODE
LOWbottles/backend/managers/eagle.py1139 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py178 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py406 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py417 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py429 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py441 except Exception as e:CODE
LOWbottles/backend/managers/versioning.py468 except Exception as e:CODE
LOWbottles/backend/managers/dependency.py843 except Exception as e:CODE
LOWbottles/backend/managers/dependency.py924 except Exception as e:CODE
LOWbottles/backend/managers/component.py714 except Exception as e:CODE
37 more matches not shown…
Deep Nesting108 hits · 102 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/cli/cli.py321CODE
LOWbottles/frontend/cli/cli.py611CODE
LOWbottles/frontend/cli/cli.py805CODE
LOWbottles/frontend/cli/cli.py975CODE
LOWbottles/frontend/windows/crash.py81CODE
LOWbottles/frontend/windows/window.py90CODE
LOWbottles/frontend/windows/bulkupdate.py166CODE
LOWbottles/frontend/windows/umu.py835CODE
LOWbottles/frontend/windows/umu.py868CODE
LOWbottles/frontend/windows/playtimegraph.py120CODE
LOWbottles/frontend/windows/playtimegraph.py334CODE
LOWbottles/frontend/windows/vkbasalt.py85CODE
LOWbottles/frontend/views/preferences.py836CODE
LOWbottles/frontend/views/details.py121CODE
LOWbottles/frontend/views/bottle_preferences.py1238CODE
LOWbottles/frontend/views/eagle.py205CODE
LOWbottles/frontend/views/eagle.py674CODE
LOWbottles/frontend/views/eagle.py773CODE
LOWbottles/fvs/repo.py73CODE
LOWbottles/fvs/repo.py208CODE
LOWbottles/fvs/repo.py319CODE
LOWbottles/fvs/repo.py370CODE
LOWbottles/fvs/repo.py417CODE
LOWbottles/fvs/repo.py253CODE
LOWbottles/backend/downloader.py60CODE
LOWbottles/backend/cabextract.py97CODE
LOWbottles/backend/health.py107CODE
LOWbottles/backend/managers/intel.py192CODE
LOWbottles/backend/managers/intel.py502CODE
LOWbottles/backend/managers/backup.py69CODE
LOWbottles/backend/managers/backup.py459CODE
LOWbottles/backend/managers/backup.py584CODE
LOWbottles/backend/managers/backup.py766CODE
LOWbottles/backend/managers/journal.py138CODE
LOWbottles/backend/managers/library.py277CODE
LOWbottles/backend/managers/importer.py37CODE
LOWbottles/backend/managers/conf.py38CODE
LOWbottles/backend/managers/conf.py113CODE
LOWbottles/backend/managers/ubisoftconnect.py53CODE
LOWbottles/backend/managers/installer.py90CODE
LOWbottles/backend/managers/installer.py174CODE
LOWbottles/backend/managers/playtime.py263CODE
LOWbottles/backend/managers/playtime.py754CODE
LOWbottles/backend/managers/eagle.py185CODE
LOWbottles/backend/managers/eagle.py295CODE
LOWbottles/backend/managers/eagle.py452CODE
LOWbottles/backend/managers/eagle.py514CODE
LOWbottles/backend/managers/eagle.py569CODE
LOWbottles/backend/managers/eagle.py473CODE
LOWbottles/backend/managers/versioning.py195CODE
LOWbottles/backend/managers/versioning.py258CODE
LOWbottles/backend/managers/dependency.py313CODE
LOWbottles/backend/managers/dependency.py585CODE
LOWbottles/backend/managers/dependency.py762CODE
LOWbottles/backend/managers/dependency.py872CODE
LOWbottles/backend/managers/component.py115CODE
LOWbottles/backend/managers/component.py229CODE
LOWbottles/backend/managers/component.py377CODE
LOWbottles/backend/managers/component.py504CODE
LOWbottles/backend/managers/component.py617CODE
48 more matches not shown…
Unused Imports57 hits · 50 pts
SeverityFileLineSnippetContext
LOWtests/test_fvs.py8CODE
LOWbottles/frontend/utils/playtime.py22CODE
LOWbottles/frontend/cli/cli.py59CODE
LOWbottles/frontend/windows/upgradeversioning.py18CODE
LOWbottles/frontend/windows/dependency_install.py17CODE
LOWbottles/frontend/windows/window.py27CODE
LOWbottles/frontend/windows/window.py30CODE
LOWbottles/frontend/windows/window.py50CODE
LOWbottles/frontend/windows/versioning_commit.py18CODE
LOWbottles/frontend/windows/versioning_branch.py18CODE
LOWbottles/frontend/windows/envvars.py18CODE
LOWbottles/frontend/windows/versioning_settings.py19CODE
LOWbottles/frontend/views/list.py22CODE
LOWbottles/frontend/views/list.py26CODE
LOWbottles/frontend/views/bottle_versioning.py25CODE
LOWbottles/frontend/views/new_bottle_dialog.py32CODE
LOWbottles/frontend/views/new_bottle_dialog.py32CODE
LOWbottles/frontend/widgets/program.py21CODE
LOWbottles/frontend/widgets/playtimechart_hourly.py31CODE
LOWbottles/frontend/widgets/playtimechart_hourly.py32CODE
LOWbottles/backend/runner.py31CODE
LOWbottles/backend/globals.py23CODE
LOWbottles/backend/managers/registry_rule.py12CODE
LOWbottles/backend/managers/playtime.py5CODE
LOWbottles/backend/managers/playtime.py15CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py1CODE
LOWbottles/backend/umu/__init__.py9CODE
LOWbottles/backend/umu/__init__.py9CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py13CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py21CODE
LOWbottles/backend/umu/__init__.py30CODE
LOWbottles/backend/umu/__init__.py31CODE
LOWbottles/backend/umu/__init__.py31CODE
LOWbottles/backend/umu/__init__.py31CODE
LOWbottles/backend/umu/__init__.py31CODE
LOWbottles/backend/umu/__init__.py37CODE
LOWbottles/backend/umu/__init__.py37CODE
LOWbottles/backend/umu/__init__.py37CODE
LOWbottles/backend/umu/__init__.py37CODE
LOWbottles/backend/umu/__init__.py43CODE
LOWbottles/backend/umu/__init__.py43CODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHbottles/frontend/widgets/playtimechart_monthly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_weekly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_hourly.py0get the current font scale factor from gtk settings.STRING
HIGHbottles/frontend/widgets/playtimechart_monthly.py0show tooltip with time value when hovering over bars.STRING
HIGHbottles/frontend/widgets/playtimechart_weekly.py0show tooltip with time value when hovering over bars.STRING
HIGHbottles/frontend/widgets/playtimechart_hourly.py0show tooltip with time value when hovering over bars.STRING
Redundant / Tautological Comments13 hits · 22 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/windows/playtimegraph.py202 # Check if there's sub-minute playtime for todayCOMMENT
LOWbottles/frontend/windows/playtimegraph.py290 # Check if we have required IDsCOMMENT
LOWbottles/frontend/windows/vkbasalt.py104 # Check if configuration file exists; parse the configuration file if it existsCOMMENT
LOWbottles/frontend/windows/vkbasalt.py110 # Check if effects are usedCOMMENT
LOWbottles/frontend/windows/vkbasalt.py119 # Check if subeffects are usedCOMMENT
LOWbottles/frontend/views/importer.py215 # Check if this is an import taskCOMMENT
LOWbottles/frontend/views/bottle_details.py541 # Check if this is a backup task for our bottleCOMMENT
LOWbottles/frontend/widgets/playtimechart_monthly.py152 # Check if width changed - re-render if neededCOMMENT
LOWbottles/frontend/widgets/playtimechart_weekly.py151 # Check if width changed - re-render if neededCOMMENT
LOWbottles/frontend/widgets/playtimechart_hourly.py142 # Check if width changed - re-render if neededCOMMENT
LOWbottles/backend/globals.py153# Check if some tools are availableCOMMENT
LOWbottles/backend/managers/backup.py473 # Check if this directory should be excludedCOMMENT
LOWbottles/backend/managers/manager.py1472 # Check if the path in the bottle config corresponds to the folder nameCOMMENT
Cross-Language Confusion4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHbottles/frontend/views/preferences.py631 subprocess.Popen("sleep 1 && bottles & disown", shell=True, env=environment)CODE
HIGHbottles/tests/fvs/test_repo.py31 (meta_path / "index.json").write_text('{"commits": null}\n')CODE
HIGHbottles/backend/utils/terminal.py80 f"command -v {terminal[0]} > /dev/null && echo 1 || echo 0",CODE
HIGHbottles/backend/utils/terminal.py80 f"command -v {terminal[0]} > /dev/null && echo 1 || echo 0",CODE
AI Structural Patterns13 hits · 12 pts
SeverityFileLineSnippetContext
LOWbottles/tests/backend/wine/test_executor.py62CODE
LOWbottles/backend/managers/sandbox.py43CODE
LOWbottles/backend/managers/manager.py1766CODE
LOWbottles/backend/utils/vulkan.py119CODE
LOWbottles/backend/models/config.py329CODE
LOWbottles/backend/wine/xcopy.py14CODE
LOWbottles/backend/wine/wineprogram.py89CODE
LOWbottles/backend/wine/wineprogram.py39CODE
LOWbottles/backend/wine/msiexec.py33CODE
LOWbottles/backend/wine/start.py15CODE
LOWbottles/backend/wine/explorer.py13CODE
LOWbottles/backend/wine/executor.py72CODE
LOWbottles/backend/wine/winecommand.py298CODE
Hallucination Indicators1 hit · 10 pts
SeverityFileLineSnippetContext
CRITICALbottles/frontend/windows/playtimegraph.py258 totals_data = self.parent.window.manager.playtime_tracker.get_totals(CODE
TODO Padding4 hits · 9 pts
SeverityFileLineSnippetContext
LOWbottles/backend/models/config.py93 # share_host_ro: bool = True # TODO: implement, requires the Bottles runtime (next) for a minimal sandboxCOMMENT
LOWbottles/backend/models/config.py94 # share_gpu: bool = True # TODO: implementCOMMENT
LOWbottles/backend/models/config.py95 # share_paths_ro: List[str] = field(default_factory=lambda: []) # TODO: implementCOMMENT
LOWbottles/backend/models/config.py96 # share_paths_rw: List[str] = field(default_factory=lambda: []) # TODO: implementCOMMENT
Modern Structural Boilerplate8 hits · 8 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/windows/dependency_install.py100 def update_progress(self, fraction: Optional[float]) -> None:CODE
LOWbottles/frontend/views/list.py249 def update_bottles_list(self, *args, refresh_updates=True) -> None:CODE
LOWbottles/frontend/views/list.py368 def update_component_updates_banner(self) -> None:CODE
LOWbottles/frontend/views/new_bottle_dialog.py273 def update_output(self, text: str) -> None:CODE
LOWbottles/backend/managers/steam.py288 def _set_shortcut_value(shortcut: dict, key: str, value) -> None:CODE
LOWbottles/backend/utils/gsettings_stub.py23 def set_string(key: str, value: str) -> None:CODE
LOWbottles/backend/utils/manager.py216 def set_external_runner_paths(runners: dict[str, str]) -> None:CODE
LOWbottles/backend/umu/__init__.py45__all__ = [CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMbottles/backend/wine/winecommand.py872 # Create the sh script where Gamescope will execute itCOMMENT
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWbottles/frontend/views/bottle_preferences.py970 def run_task(status=True):CODE
AI Slop Vocabulary1 hit · 1 pts
SeverityFileLineSnippetContext
MEDIUMbottles/backend/managers/eagle.py570 """Perform comprehensive PE analysis with YARA pattern matching."""STRING