gitextract_3jwfbjfe/ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ ├── feature-request.yml │ │ ├── feedback.md │ │ └── mirror.yml │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── build_flatpak.yml │ ├── close-issues.yml │ ├── pre-commit.yml │ └── update-manifest.yml ├── .gitignore ├── .gitmodules ├── .mailmap ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CODING_GUIDE.md ├── CONTRIBUTING.md ├── COPYING.md ├── README.md ├── VERSION ├── VERSION_UPDATE.md ├── bottles/ │ ├── __init__.py │ ├── backend/ │ │ ├── __init__.py │ │ ├── cabextract.py │ │ ├── diff.py │ │ ├── dlls/ │ │ │ ├── __init__.py │ │ │ ├── dll.py │ │ │ ├── dxvk.py │ │ │ ├── latencyflex.py │ │ │ ├── meson.build │ │ │ ├── nvapi.py │ │ │ └── vkd3d.py │ │ ├── downloader.py │ │ ├── globals.py │ │ ├── health.py │ │ ├── logger.py │ │ ├── managers/ │ │ │ ├── __init__.py │ │ │ ├── backup.py │ │ │ ├── component.py │ │ │ ├── conf.py │ │ │ ├── data.py │ │ │ ├── dependency.py │ │ │ ├── eagle.py │ │ │ ├── eagle.yar │ │ │ ├── epicgamesstore.py │ │ │ ├── importer.py │ │ │ ├── installer.py │ │ │ ├── journal.py │ │ │ ├── library.py │ │ │ ├── manager.py │ │ │ ├── meson.build │ │ │ ├── origin.py │ │ │ ├── playtime.py │ │ │ ├── queue.py │ │ │ ├── registry_rule.py │ │ │ ├── repository.py │ │ │ ├── runtime.py │ │ │ ├── sandbox.py │ │ │ ├── steam.py │ │ │ ├── steamgriddb.py │ │ │ ├── template.py │ │ │ ├── thumbnail.py │ │ │ ├── ubisoftconnect.py │ │ │ └── versioning.py │ │ ├── meson.build │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── enum.py │ │ │ ├── meson.build │ │ │ ├── process.py │ │ │ ├── registry_rule.py │ │ │ ├── result.py │ │ │ ├── samples.py │ │ │ └── vdict.py │ │ ├── params.py │ │ ├── repos/ │ │ │ ├── __init__.py │ │ │ ├── component.py │ │ │ ├── dependency.py │ │ │ ├── installer.py │ │ │ ├── meson.build │ │ │ └── repo.py │ │ ├── runner.py │ │ ├── state.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── decorators.py │ │ │ ├── display.py │ │ │ ├── file.py │ │ │ ├── generic.py │ │ │ ├── gpu.py │ │ │ ├── gsettings_stub.py │ │ │ ├── imagemagick.py │ │ │ ├── json.py │ │ │ ├── lnk.py │ │ │ ├── manager.py │ │ │ ├── meson.build │ │ │ ├── nvidia.py │ │ │ ├── proc.py │ │ │ ├── singleton.py │ │ │ ├── snake.py │ │ │ ├── steam.py │ │ │ ├── terminal.py │ │ │ ├── threading.py │ │ │ ├── vdf.py │ │ │ ├── vulkan.py │ │ │ ├── wine.py │ │ │ └── yaml.py │ │ └── wine/ │ │ ├── __init__.py │ │ ├── catalogs.py │ │ ├── cmd.py │ │ ├── control.py │ │ ├── drives.py │ │ ├── eject.py │ │ ├── executor.py │ │ ├── expand.py │ │ ├── explorer.py │ │ ├── hh.py │ │ ├── icinfo.py │ │ ├── meson.build │ │ ├── msiexec.py │ │ ├── net.py │ │ ├── notepad.py │ │ ├── oleview.py │ │ ├── progman.py │ │ ├── reg.py │ │ ├── regedit.py │ │ ├── register.py │ │ ├── regkeys.py │ │ ├── regsvr32.py │ │ ├── rundll32.py │ │ ├── start.py │ │ ├── taskmgr.py │ │ ├── uninstaller.py │ │ ├── wineboot.py │ │ ├── winebridge.py │ │ ├── winecfg.py │ │ ├── winecommand.py │ │ ├── winedbg.py │ │ ├── winefile.py │ │ ├── winepath.py │ │ ├── wineprogram.py │ │ ├── wineserver.py │ │ ├── winhelp.py │ │ └── xcopy.py │ ├── frontend/ │ │ ├── __init__.py │ │ ├── bottles.py │ │ ├── cli/ │ │ │ ├── __init__.py │ │ │ ├── cli.py │ │ │ └── meson.build │ │ ├── main.py │ │ ├── meson.build │ │ ├── operation.py │ │ ├── params.py │ │ ├── ui/ │ │ │ ├── bottle-row.blp │ │ │ ├── bottles.gresource.xml │ │ │ ├── check-row.blp │ │ │ ├── component-entry.blp │ │ │ ├── dependency-entry.blp │ │ │ ├── details-bottle.blp │ │ │ ├── details-dependencies.blp │ │ │ ├── details-installers.blp │ │ │ ├── details-preferences.blp │ │ │ ├── details-registry-rules.blp │ │ │ ├── details-taskmanager.blp │ │ │ ├── details-versioning.blp │ │ │ ├── details.blp │ │ │ ├── dialog-bottle-picker.blp │ │ │ ├── dialog-crash-report.blp │ │ │ ├── dialog-dependency-install.blp │ │ │ ├── dialog-deps-check.blp │ │ │ ├── dialog-display.blp │ │ │ ├── dialog-dll-overrides.blp │ │ │ ├── dialog-drives.blp │ │ │ ├── dialog-duplicate.blp │ │ │ ├── dialog-env-vars.blp │ │ │ ├── dialog-exclusion-patterns.blp │ │ │ ├── dialog-gamescope.blp │ │ │ ├── dialog-installer.blp │ │ │ ├── dialog-journal.blp │ │ │ ├── dialog-launch-options.blp │ │ │ ├── dialog-mangohud.blp │ │ │ ├── dialog-playtime-graph.blp │ │ │ ├── dialog-proton-alert.blp │ │ │ ├── dialog-registry-rules.blp │ │ │ ├── dialog-rename.blp │ │ │ ├── dialog-run-args.blp │ │ │ ├── dialog-sandbox.blp │ │ │ ├── dialog-upgrade-versioning.blp │ │ │ ├── dialog-versioning-branch.blp │ │ │ ├── dialog-versioning-commit.blp │ │ │ ├── dialog-versioning-manage-branches.blp │ │ │ ├── dialog-versioning-settings.blp │ │ │ ├── dialog-vkbasalt.blp │ │ │ ├── dialog-vmtouch.blp │ │ │ ├── dialog-winebridge-update.blp │ │ │ ├── dll-override-entry.blp │ │ │ ├── drive-entry.blp │ │ │ ├── eagle.blp │ │ │ ├── env-var-entry.blp │ │ │ ├── exclusion-pattern-entry.blp │ │ │ ├── help-overlay.blp │ │ │ ├── importer-entry.blp │ │ │ ├── importer.blp │ │ │ ├── inherited-env-entry.blp │ │ │ ├── installer-entry.blp │ │ │ ├── library-entry.blp │ │ │ ├── library.blp │ │ │ ├── list.blp │ │ │ ├── loading.blp │ │ │ ├── local-resource-entry.blp │ │ │ ├── meson.build │ │ │ ├── new-bottle-dialog.blp │ │ │ ├── onboard.blp │ │ │ ├── preferences.blp │ │ │ ├── program-entry.blp │ │ │ ├── registry-rule-entry.blp │ │ │ ├── state-entry.blp │ │ │ ├── style-dark.css │ │ │ ├── style.css │ │ │ ├── task-entry.blp │ │ │ └── window.blp │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── filters.py │ │ │ ├── gtk.py │ │ │ ├── meson.build │ │ │ ├── playtime.py │ │ │ └── sh.py │ │ ├── views/ │ │ │ ├── __init__.py │ │ │ ├── bottle_dependencies.py │ │ │ ├── bottle_details.py │ │ │ ├── bottle_installers.py │ │ │ ├── bottle_preferences.py │ │ │ ├── bottle_registry_rules.py │ │ │ ├── bottle_taskmanager.py │ │ │ ├── bottle_versioning.py │ │ │ ├── details.py │ │ │ ├── eagle.py │ │ │ ├── importer.py │ │ │ ├── library.py │ │ │ ├── list.py │ │ │ ├── loading.py │ │ │ ├── meson.build │ │ │ ├── new_bottle_dialog.py │ │ │ └── preferences.py │ │ ├── widgets/ │ │ │ ├── __init__.py │ │ │ ├── component.py │ │ │ ├── dependency.py │ │ │ ├── executable.py │ │ │ ├── importer.py │ │ │ ├── installer.py │ │ │ ├── library.py │ │ │ ├── meson.build │ │ │ ├── playtimechart_hourly.py │ │ │ ├── playtimechart_monthly.py │ │ │ ├── playtimechart_weekly.py │ │ │ ├── program.py │ │ │ └── state.py │ │ └── windows/ │ │ ├── __init__.py │ │ ├── bottlepicker.py │ │ ├── crash.py │ │ ├── dependency_install.py │ │ ├── depscheck.py │ │ ├── display.py │ │ ├── dlloverrides.py │ │ ├── drives.py │ │ ├── duplicate.py │ │ ├── envvars.py │ │ ├── exclusionpatterns.py │ │ ├── funding.py │ │ ├── gamescope.py │ │ ├── generic.py │ │ ├── generic_cli.py │ │ ├── installer.py │ │ ├── journal.py │ │ ├── launchoptions.py │ │ ├── mangohud.py │ │ ├── meson.build │ │ ├── onboard.py │ │ ├── playtimegraph.py │ │ ├── protonalert.py │ │ ├── registry_rules.py │ │ ├── rename.py │ │ ├── sandbox.py │ │ ├── upgradeversioning.py │ │ ├── versioning_branch.py │ │ ├── versioning_commit.py │ │ ├── versioning_manage_branches.py │ │ ├── versioning_settings.py │ │ ├── vkbasalt.py │ │ ├── vmtouch.py │ │ ├── window.py │ │ └── winebridgeupdate.py │ ├── fvs/ │ │ ├── __init__.py │ │ ├── exceptions.py │ │ ├── meson.build │ │ └── repo.py │ ├── meson.build │ └── tests/ │ ├── __init__.py │ ├── backend/ │ │ ├── __init__.py │ │ ├── integration/ │ │ │ └── playtime/ │ │ │ ├── conftest.py │ │ │ ├── test_aggregation.py │ │ │ ├── test_disabled_tracking.py │ │ │ ├── test_failure_run.py │ │ │ ├── test_playtime_signals.py │ │ │ ├── test_recovery.py │ │ │ ├── test_schema_meta.py │ │ │ ├── test_successful_run.py │ │ │ ├── test_uniqueness_retry.py │ │ │ └── test_wine_executor_playtime.py │ │ ├── manager/ │ │ │ ├── __init__.py │ │ │ ├── test_manager.py │ │ │ └── test_playtime.py │ │ ├── state/ │ │ │ ├── __init__.py │ │ │ └── test_events.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ └── test_generic.py │ │ └── wine/ │ │ └── test_executor.py │ ├── conftest.py │ └── frontend/ │ └── test_playtime_service.py ├── build-aux/ │ ├── build.sh │ ├── com.usebottles.bottles.Devel.json │ ├── fvs2-modules.txt │ ├── fvs2.yaml │ ├── install.sh │ └── pypi-deps.yaml ├── data/ │ ├── com.usebottles.bottles.desktop.in.in │ ├── com.usebottles.bottles.gschema.xml │ ├── com.usebottles.bottles.metainfo.xml.in.in │ ├── data.gresource.xml.in │ ├── icons/ │ │ └── meson.build │ └── meson.build ├── meson.build ├── meson_options.txt ├── mypy.ini ├── po/ │ ├── LINGUAS │ ├── POTFILES │ ├── README.md │ ├── ar.po │ ├── az.po │ ├── be.po │ ├── bg.po │ ├── bn.po │ ├── bottles.pot │ ├── bs.po │ ├── ca.po │ ├── ckb.po │ ├── cs.po │ ├── da.po │ ├── de.po │ ├── el.po │ ├── eo.po │ ├── es.po │ ├── et.po │ ├── eu.po │ ├── fa.po │ ├── fi.po │ ├── fr.po │ ├── gl.po │ ├── he.po │ ├── hi.po │ ├── hr.po │ ├── hu.po │ ├── id.po │ ├── ie.po │ ├── it.po │ ├── ja.po │ ├── ka.po │ ├── kab.po │ ├── ko.po │ ├── kw.po │ ├── lt.po │ ├── meson.build │ ├── ms.po │ ├── nb_NO.po │ ├── nl.po │ ├── oc.po │ ├── pl.po │ ├── pt.po │ ├── pt_BR.po │ ├── ro.po │ ├── ru.po │ ├── sk.po │ ├── sl.po │ ├── sr.po │ ├── sv.po │ ├── ta.po │ ├── th.po │ ├── tr.po │ ├── uk.po │ ├── vi.po │ ├── yi.po │ ├── zh_Hans.po │ └── zh_Hant.po ├── pyproject.toml ├── pyrightconfig.json ├── requirements.dev.txt ├── requirements.txt ├── test_path_normalization.py └── tests/ ├── conftest.py └── test_fvs.py