AI Slop Code RIsk Monitor

Ulauncher/Ulauncher

Feature rich application Launcher for Linux

34.0 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Ulauncher/Ulauncher, a Python project with 4,525 GitHub stars. SynthScan examined 22,811 lines of code across 266 source files, recording 665 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 34.0 (High 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.

34.0
Adjusted Signal
34.0
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
4.5K
Stars
Python
Language
22.8K
Lines of Code
266
Files
665
Pattern Hits
2026-10-12
Scan Date
0.02
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 64.4/100 · HIGH

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

Hallucinated Dependency & Supply Chain Risk 31.0/100 · MEDIUM

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

Agent Over-Engineering Ratio 70.5/100 · HIGH

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

PR Review Velocity Impact 79.3/100 · CRITICAL

Which changes need focused human review? 665 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 0HIGH 6MEDIUM 12LOW 647

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 665 distinct pattern matches across 14 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 Identifiers359 hits · 423 pts
SeverityFileLineSnippetContext
LOWtests/test_core.py18 def test_streamed_render_stamps_query_and_pick(self, mocker: MockerFixture) -> None:CODE
LOWtests/test_core.py34 def test_activating_drops_pending_stream_paint(self, mocker: MockerFixture) -> None:CODE
LOWtests/test_bin_ulauncher.py52def test_legacy_terminal_flags_exit_without_python(flag: str, hint: str) -> None:CODE
LOWtests/test_bin_ulauncher.py68def test_legacy_rewrite_flags_substitute_and_warn(legacy: str, replacement: str, tmp_path: Path) -> None:CODE
LOWtests/test_bin_ulauncher.py97def test_fast_path_execs_gapplication(tmp_path: Path, argv: list[str], expected_lines: list[str]) -> None:CODE
LOWtests/test_bin_ulauncher.py116def test_service_unknown_reports_that_ulauncher_is_not_running(tmp_path: Path, argv: list[str], error: str) -> None:CODE
LOWtests/test_bin_ulauncher.py127def test_other_gapplication_errors_pass_through_unchanged(tmp_path: Path) -> None:CODE
LOWtests/test_bin_ulauncher.py136def test_bare_invocation_from_a_checkout_starts_it_rather_than_the_installed_ulauncher(tmp_path: Path) -> None:CODE
LOWtests/test_bin_ulauncher.py148def test_explicit_show_and_toggle_never_start_ulauncher(tmp_path: Path, argv: list[str]) -> None:CODE
LOWtests/test_bin_ulauncher.py159def test_installed_ulauncher_activates_without_asking_dbus_for_the_name_owner(tmp_path: Path) -> None:CODE
LOWtests/test_bin_ulauncher.py192def test_fast_path_defers_to_python(tmp_path: Path, argv: list[str]) -> None:CODE
LOWtests/test_cli.py76 def test_parse_command_aliases(CODE
LOWtests/test_cli.py103 def test_run_command_dispatches_handler_with_expected_bootstrap_mode(CODE
LOWtests/test_cli.py130 def test_run_command_warns_when_verbose_set_on_runtimeless_command(CODE
LOWtests/test_cli.py143 def test_groups_top_level_commands_in_help_output(self) -> None:CODE
LOWtests/test_cli.py161 def test_subcommand_help_does_not_repeat_top_level_command_groups(self, capsys: pytest.CaptureFixture[str]) -> None:CODE
LOWtests/test_bootstrap_flags.py18 def test_first_run_flags_are_snapshotted_at_import(self, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/test_bootstrap_flags.py38 def test_first_run_flags_capture_config_and_state_independently(self, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/ui/test_result_widget.py45 def test_wrap__name_and_description_labels_wrap_instead_of_ellipsizing(self) -> None:CODE
LOWtests/ui/test_result_widget.py57 def test_wrap__defaults_to_single_ellipsized_line(self) -> None:CODE
LOWtests/ui/test_result_widget.py69 def test_wrap__highlighting_is_skipped(self) -> None:CODE
LOW⚡tests/ui/test_theme.py32def test_load_legacy_theme__unusable_manifest__returns_none(tmp_path: Path, content: object) -> None:CODE
LOW⚡tests/ui/test_theme.py36def test_load_legacy_theme__missing_file__returns_none(tmp_path: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py40def test_get_css__missing_file__raises(tmp_path: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py45def test_legacy_get_css__missing_file__raises(tmp_path: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py67def test_get_themes__manifest_in_the_user_themes_root__wins_over_the_css_glob(user_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py77def test_get_themes__css_the_root_manifest_does_not_describe__is_still_a_theme(user_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py85def test_get_themes__unusable_root_manifest__leaves_the_css_themes_alone(user_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py93def test_get_themes__installed_manifest__wins_over_the_css_glob(installed_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py121def test_get_themes__installed_flat_css__is_still_a_theme(installed_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py129def test_get_themes__root_manifest_with_both_css_files__hides_both(user_themes: Path) -> None:CODE
LOW⚡tests/ui/test_theme.py137def test_get_themes__installed_themes__show_up_alongside_user_and_system_ones(CODE
LOW⚡tests/ui/test_theme.py181def test_get_theme_source__nested_variant__returns_owner_repo(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOW⚡tests/ui/test_theme.py188def test_get_theme_source__user_theme__returns_user(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOW⚡tests/ui/test_theme.py195def test_get_theme_source__system_theme__returns_built_in(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOW⚡tests/ui/test_theme.py203def test_get_theme_source__foreign_host__returns_host_and_repo_path(CODE
LOW⚡tests/ui/test_theme.py211def test_get_theme_source__local_install__returns_filesystem_path(CODE
LOW⚡tests/ui/test_theme.py219def test_get_theme_source__installed_without_state__returns_unknown(CODE
LOWtests/ui/test_theme.py16def test_load_legacy_theme__valid__returns_theme(tmp_path: Path) -> None:CODE
LOWtests/ui/test_theme.py21def test_load_legacy_theme__null_extend_theme__is_dropped(tmp_path: Path) -> None:CODE
LOWtests/ui/test_theme.py106def test_get_themes__installed_manifest__hides_all_sibling_css(installed_themes: Path) -> None:CODE
LOWtests/ui/test_theme.py169def test_get_theme_source__installed_theme__returns_owner_repo(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtests/ui/test_results_view.py92 def test_out_of_bounds_select_falls_back_to_first(self, view: ResultsView, items: list[MagicMock]) -> None:CODE
LOWtests/ui/test_results_view.py99 def test_go_up_from_start_wraps_to_last(self, view: ResultsView, items: list[MagicMock]) -> None:CODE
LOWtests/ui/test_results_view.py113 def test_go_down_from_last_wraps_to_first(self, view: ResultsView, items: list[MagicMock]) -> None:CODE
LOWtests/ui/test_results_view.py118 def test_navigation_on_empty_is_noop(self) -> None:CODE
LOW⚡tests/ui/test_results_view.py134 def test_select_marks_user_selected(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py140 def test_apply_selection_uses_default_name_without_marking_user_selected(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py146 def test_apply_selection_preserves_user_pick(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py155 def test_apply_selection_falls_back_when_user_pick_gone(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py185 def test_replace_preserves_user_pick_within_same_query(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py194 def test_append_grows_list_and_keeps_selection(self, view: ResultsView) -> None:CODE
LOW⚡tests/ui/test_results_view.py203 def test_new_query_resets_user_selection(self, view: ResultsView) -> None:CODE
LOWtests/ui/test_app.py23def test_cleanup__sweeps_every_staging_root(CODE
LOWtests/ui/test_app.py53def test_needs_restart__only_for_persistent_processes(CODE
LOWtests/ui/test_app.py67def test_prefs_close__quits_normally_when_not_persistent(mocker: MockerFixture) -> None:CODE
LOWtests/ui/test_app.py91def test_restart__decides_by_unit_state(CODE
LOW⚡tests/ui/preferences/utils/test_ext_utils.py21 def test_report_link_prefers_the_tracker_and_is_omitted_without_urls(CODE
LOW⚡tests/ui/preferences/utils/test_ext_utils.py28 def test_missing_module_links_the_issue_tracker(self) -> None:CODE
LOW⚡tests/ui/preferences/utils/test_ext_utils.py34 def test_terminated_links_the_issue_tracker(self) -> None:CODE
299 more matches not shown…
Unused Imports170 hits · 169 pts
SeverityFileLineSnippetContext
LOWsetup.py2CODE
LOWtests/test_core.py1CODE
LOWtests/test_bin_ulauncher.py1CODE
LOWtests/test_cli.py1CODE
LOWtests/test_bootstrap_flags.py1CODE
LOWtests/ui/conftest.py1CODE
LOWtests/ui/test_result_widget.py46CODE
LOWtests/ui/test_result_widget.py58CODE
LOWtests/ui/test_result_widget.py70CODE
LOWtests/ui/test_results_view.py1CODE
LOWtests/ui/test_results_view.py4CODE
LOWtests/ui/test_app.py1CODE
LOWtests/modes/extensions/test_extension_record.py1CODE
LOWtests/modes/extensions/test_extension_mode.py1CODE
LOWtests/modes/extensions/test_extension_dependencies.py1CODE
LOWtests/modes/extensions/test_extension_lifecycle.py10CODE
LOWtests/modes/extensions/test_extension_manifest.py1CODE
LOWtests/modes/extensions/test_extension/main.py1CODE
LOWtests/modes/calc/test_calc_mode.py1CODE
LOWtests/modes/file_browser/test_file_browser_mode.py1CODE
LOWtests/modes/shortcuts/test_shortcut_mode.py1CODE
LOWtests/modes/shortcuts/test_shortcuts.py1CODE
LOWtests/modes/shortcuts/test_run_script.py1CODE
LOWtests/modes/apps/test_app_rankings.py1CODE
LOWtests/modes/apps/test_app_result.py1CODE
LOWtests/utils/test_json_utils.py1CODE
LOWtests/utils/test_subprocess_utils.py1CODE
LOWtests/utils/test_systemd_controller.py1CODE
LOWtests/utils/test_untar.py1CODE
LOWtests/utils/test_socket_msg_controller.py1CODE
LOWtests/utils/test_display_backend.py1CODE
LOWtests/cli/commands/test_uninstall.py1CODE
LOWtests/cli/commands/test_upgrade.py1CODE
LOWtests/cli/commands/test_themes.py1CODE
LOWtests/cli/commands/test_install.py1CODE
LOWtests/internals/test_result.py1CODE
LOWtests/internals/test_result_buffer.py1CODE
LOWtests/internals/test_theme_installer.py1CODE
LOWtests/internals/test_effect_utils.py1CODE
LOWtests/internals/test_install_source.py1CODE
LOWtests/api/test_extension.py1CODE
LOWtests/data/test_json_key_value_conf.py1CODE
LOWtests/data/test_json_conf.py1CODE
LOWulauncher/init_helpers.py1CODE
LOWulauncher/__init__.py4CODE
LOWulauncher/core.py1CODE
LOWulauncher/gi.py12CODE
LOWulauncher/gi.py25CODE
LOWulauncher/ui/results_view.py1CODE
LOWulauncher/ui/hotkey_dialog.py1CODE
LOWulauncher/ui/load_icon_surface.py1CODE
LOWulauncher/ui/ulauncher_window.py1CODE
LOWulauncher/ui/app.py1CODE
LOWulauncher/ui/result_widget.py1CODE
LOWulauncher/ui/get_icon_path.py1CODE
LOWulauncher/ui/preferences/preferences_window.py1CODE
LOWulauncher/ui/preferences/preferences_window.py17CODE
LOWulauncher/ui/preferences/utils/ext_utils.py1CODE
LOWulauncher/ui/preferences/utils/ext_handlers.py1CODE
LOWulauncher/ui/preferences/utils/sidebar_layout.py1CODE
110 more matches not shown…
Modern Structural Boilerplate83 hits · 83 pts
SeverityFileLineSnippetContext
LOWulauncher/__init__.py6__all__ = ["version"]CODE
LOWulauncher/core.py22logger = logging.getLogger(__name__)CODE
LOWulauncher/core.py104 def set_query(self, query_str: str, callback: ResultsCallback) -> None:CODE
LOWulauncher/gi.py31__all__ = [CODE
LOWulauncher/gi.py195def _setup_gio_unix() -> None:CODE
LOWulauncher/ui/results_view.py17logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/results_view.py53 def set_max_height(self, height: int) -> None:CODE
LOWulauncher/ui/hotkey_dialog.py9logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/hotkey_dialog.py43 def set_hotkey(self, key_name: str = "") -> None:CODE
LOWulauncher/ui/load_icon_surface.py13logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/ulauncher_window.py27logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/ulauncher_window.py404 def update_results_max_height(self) -> None:CODE
LOWulauncher/ui/ulauncher_window.py453 def set_input(self, query_str: str) -> None:CODE
LOWulauncher/ui/app.py27logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/app.py68 def set_query(self, value: str, update_input: bool = True) -> None:CODE
LOWulauncher/ui/result_widget.py16logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/result_widget.py115 def set_index(self, index: int) -> None:CODE
LOWulauncher/ui/get_icon_path.py11logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/preferences/preferences_window.py100 def update_restart_banner(self) -> None:CODE
LOWulauncher/ui/preferences/preferences_window.py138 def _setup_keybindings(self) -> None:CODE
LOWulauncher/ui/preferences/preferences_window.py154 def _setup_custom_styling(self) -> None:CODE
LOWulauncher/ui/preferences/utils/ext_handlers.py15logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/preferences/utils/ext_handlers.py159 def update_extension(self, ext: ExtensionRecord, callback: Callable[[], None]) -> None:CODE
LOWulauncher/ui/preferences/utils/sidebar_layout.py81 def set_items(self, items: Sequence[SidebarItem], active_item_id: str | None = None) -> None:CODE
LOWulauncher/ui/preferences/utils/sidebar_layout.py118 def set_empty_placeholder_builder(self, builder: Callable[[], Gtk.Widget] | None) -> None:CODE
LOWulauncher/ui/preferences/utils/sidebar_layout.py253 def set_content(self, widget: Gtk.Widget) -> None:CODE
LOWulauncher/ui/preferences/views/shortcuts.py362 def _update_icon_button(self) -> None:CODE
LOWulauncher/ui/preferences/views/preferences.py17logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/preferences/views/__init__.py78 def set_text(self, text: str) -> None:CODE
LOWulauncher/ui/preferences/views/extensions.py30logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/helpers/tray_icon.py20logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/helpers/monitor.py9logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/helpers/theme.py12logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/helpers/hotkey_controller.py15logger = logging.getLogger(__name__)CODE
LOWulauncher/ui/helpers/hotkey_controller.py22def _set_hotkey(hotkey: str) -> None:CODE
LOWulauncher/ui/helpers/layer_shell.py46def set_vertical_position(window: Gtk.Window, pos_y: float) -> None:CODE
LOWulauncher/modes/extensions/extension_registry.py18logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_manifest.py12logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_mode.py23logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_runtime.py24logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_record.py68logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_service.py36logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/extensions/extension_dependencies.py10logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/calc/calc_mode.py84logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/file_browser/file_browser_mode.py19logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/file_browser/open_with.py9logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/shortcuts/run_script.py9logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/shortcuts/shortcut_mode.py14logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/apps/app_result.py12logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/apps/launch_app.py14logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/apps/try_raise_app.py7logger = logging.getLogger(__name__)CODE
LOWulauncher/modes/apps/app_mode.py17logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/dbus.py11logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/launch_detached.py11logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/v5_killer.py7logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/fs.py9logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/environment.py16logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/scheduling.py13logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/eventbus.py16logger = logging.getLogger(__name__)CODE
LOWulauncher/utils/eventbus.py31 def set_self(self, self_arg: Any) -> None:CODE
23 more matches not shown…
Deep Nesting21 hits · 21 pts
SeverityFileLineSnippetContext
LOWulauncher/core.py68CODE
LOWulauncher/core.py242CODE
LOWulauncher/core.py252CODE
LOWulauncher/ui/app.py353CODE
LOWulauncher/ui/result_widget.py144CODE
LOWulauncher/ui/preferences/utils/ext_handlers.py196CODE
LOWulauncher/ui/preferences/views/extensions.py585CODE
LOWulauncher/ui/helpers/hotkey_controller.py22CODE
LOWulauncher/modes/extensions/extension_manifest.py72CODE
LOWulauncher/modes/extensions/extension_finder.py46CODE
LOWulauncher/modes/extensions/extension_mode.py219CODE
LOWulauncher/modes/extensions/extension_runtime.py185CODE
LOWulauncher/modes/extensions/extension_record.py55CODE
LOWulauncher/modes/file_browser/file_browser_mode.py63CODE
LOWulauncher/modes/file_browser/file_browser_mode.py118CODE
LOWulauncher/modes/apps/launch_app.py47CODE
LOWulauncher/modes/apps/try_raise_app.py10CODE
LOWulauncher/utils/settings.py53CODE
LOWulauncher/utils/migrate.py87CODE
LOWulauncher/internals/effect_utils.py61CODE
LOWulauncher/data/json_key_value_conf.py20CODE
Self-Referential Comments6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMulauncher/ui/preferences/preferences_window.py47 # Create the main UICOMMENT
MEDIUMulauncher/ui/preferences/preferences_window.py57 # Create main containerCOMMENT
MEDIUMulauncher/ui/preferences/views/preferences.py97 # Create main container - centers on wide screens, fills on narrow screensCOMMENT
MEDIUMulauncher/ui/preferences/views/extensions.py241 # Create a vertical box for authors and updated dateCOMMENT
MEDIUMulauncher/ui/preferences/views/help.py65 # Create a horizontal box for each linkCOMMENT
MEDIUMulauncher/utils/untar.py9# This function is the same as Path.is_relative_to in 3.9, but we can't use that yetCOMMENT
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHulauncher/ui/preferences/views/extensions.py259except (ValueError, AttributeError):CODE
HIGHulauncher/modes/calc/calc_mode.py204except SyntaxError:CODE
HIGHulauncher/modes/file_browser/open_with.py25except GLib.Error:CODE
Cross-File Repetition3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHtests/modes/calc/test_calc_mode.py0helper to collect results from callback-based handle_query.STRING
HIGHtests/modes/file_browser/test_file_browser_mode.py0helper to collect results from callback-based handle_query.STRING
HIGHtests/modes/shortcuts/test_shortcut_mode.py0helper to collect results from callback-based handle_query.STRING
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippetContext
MEDIUMulauncher/gi.py37# ─── GioUnix compatibility namespace ──────────────────────────────────────────COMMENT
MEDIUMulauncher/gi.py95# ─── DesktopAppInfo wrapper ────────────────────────────────────────────────────COMMENT
MEDIUMulauncher/gi.py192# ─── Deferred setup functions ──────────────────────────────────────────────────COMMENT
MEDIUMulauncher/gi.py230# ─── Lazy loader (PEP 562) ────────────────────────────────────────────────────COMMENT
Excessive Try-Catch Wrapping8 hits · 8 pts
SeverityFileLineSnippetContext
LOWulauncher/core.py177 except Exception:CODE
LOWulauncher/modes/extensions/extension_service.py200 except Exception:CODE
LOWulauncher/utils/scheduling.py49 except Exception:CODE
LOWulauncher/utils/eventbus.py55 except Exception:CODE
LOWulauncher/utils/json_utils.py77 except Exception:CODE
LOWulauncher/utils/socket_msg_controller.py115 except Exception:CODE
LOWulauncher/api/extension.py203 except Exception:CODE
LOWulauncher/api/extension.py227 except Exception:CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMtests/modes/extensions/test_extension_lifecycle.py165 # rebind the event bus to the module singleton; the harness service took over the bindingCOMMENT
Over-Commented Block3 hits · 3 pts
SeverityFileLineSnippetContext
LOWulauncher/gi.py41# * GioUnix was originally a namespace for aliases to Unix-specific functionality in the Gio namespace.COMMENT
LOWulauncher/gi.py61#COMMENT
LOWulauncher/ui/ulauncher_window.py81 "Layer shell is not supported. If you have issues with window positioning, "COMMENT
Dead Code1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMtests/api/test_extension.py89CODE
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.github/workflows/draft-release.yml33 # make sure to run make sdist after make deb because make deb overwrites the tarballCOMMENT
LOWulauncher/utils/ewmh.py38 When a property is written, don't forget to really send the notification bySTRING
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWulauncher/utils/migrate.py68 # Check if already migratedCOMMENT