├── .gitignore
├── COPYING
├── README.md
├── docs
├── fixing_game_metadata.md
├── icons
│ ├── flatpak.svg
│ ├── flatpak_mono.svg
│ ├── lutris.svg
│ ├── lutris_mono.svg
│ ├── snapcraft.svg
│ ├── steam.svg
│ ├── tux.svg
│ └── tux_mono.svg
├── mockup1.png
├── mockup2.png
├── mockup3.png
├── mockup4.png
├── mockup5-browsing-view.png
├── mockup6-scanning-view.png
├── mockup7-selection-view.png
├── mockup8-life-cycle-view.png
└── ui_design_process.md
└── gali
├── data
├── com.github.geoffreycoulaud.gali.appdata.xml.in
├── com.github.geoffreycoulaud.gali.desktop.in
├── com.github.geoffreycoulaud.gali.gschema.xml
├── icons
│ ├── meson.build
│ └── scalable
│ │ └── com.github.geoffreycoulaud.gali.svg
└── meson.build
├── meson.build
├── po
├── LINGUAS
├── POTFILES
└── meson.build
└── src
├── __init__.py
├── gali.gresource.xml
├── gali.in
├── game_wrapper_process.py
├── launcher.py
├── library.py
├── main.py
├── meson.build
├── singletons.py
├── sources
├── __init__.py
├── all_sources.py
├── cemu
│ ├── __init__.py
│ ├── cemu_game.py
│ ├── cemu_source.py
│ └── lutris
│ │ ├── __init__.py
│ │ ├── abc_cemu_lutris_game.py
│ │ ├── cemu_lutris_game.py
│ │ ├── cemu_lutris_source.py
│ │ └── cemu_lutris_startup_chain.py
├── citra
│ ├── __init__.py
│ ├── citra_game.py
│ ├── citra_source.py
│ ├── citra_startup_chain.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ ├── citra_flatpak_game.py
│ │ ├── citra_flatpak_source.py
│ │ └── citra_flatpak_startup_chain.py
│ └── native
│ │ ├── __init__.py
│ │ ├── citra_native_game.py
│ │ ├── citra_native_source.py
│ │ └── citra_native_startup_chain.py
├── cli_startup_chain.py
├── desktop
│ ├── __init__.py
│ ├── abc_desktop_game.py
│ ├── desktop_game.py
│ ├── desktop_source.py
│ └── desktop_startup_chain.py
├── dolphin
│ ├── __init__.py
│ ├── dolphin_game.py
│ ├── dolphin_source.py
│ ├── dolphin_startup_chain.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ ├── dolphin_flatpak_game.py
│ │ ├── dolphin_flatpak_source.py
│ │ └── dolphin_flatpak_startup_chain.py
│ └── native
│ │ ├── __init__.py
│ │ ├── dolphin_native_game.py
│ │ ├── dolphin_native_source.py
│ │ └── dolphin_native_startup_chain.py
├── emulation_game.py
├── emulation_source.py
├── file_dependent_source.py
├── game.py
├── game_dir.py
├── generic_game.py
├── heroic
│ ├── __init__.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ └── heroic_flatpak_source.py
│ ├── heroic_game.py
│ ├── heroic_source.py
│ ├── heroic_xdg_game.py
│ ├── heroic_xdg_startup_chain.py
│ └── native
│ │ ├── __init__.py
│ │ └── heroic_native_source.py
├── itch
│ ├── __init__.py
│ ├── itch_game.py
│ ├── itch_source.py
│ ├── itch_startup_chain.py
│ └── native
│ │ ├── itch_java_startup_chain.py
│ │ ├── itch_linux_startup_chain.py
│ │ ├── itch_native_game.py
│ │ ├── itch_native_source.py
│ │ └── itch_script_startup_chain.py
├── legendary
│ ├── __init__.py
│ ├── legendary_game.py
│ ├── legendary_source.py
│ └── native
│ │ ├── __init__.py
│ │ ├── legendary_native_game.py
│ │ ├── legendary_native_source.py
│ │ └── legendary_native_startup_chain.py
├── lutris
│ ├── __init__.py
│ ├── lutris_game.py
│ ├── lutris_source.py
│ └── native
│ │ ├── __init__.py
│ │ ├── lutris_native_game.py
│ │ ├── lutris_native_source.py
│ │ └── lutris_native_startup_chain.py
├── ppsspp
│ ├── __init__.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ ├── ppsspp_flatpak_game.py
│ │ ├── ppsspp_flatpak_source.py
│ │ └── ppsspp_flatpak_startup_chain.py
│ ├── native
│ │ ├── __init__.py
│ │ ├── ppsspp_native_game.py
│ │ ├── ppsspp_native_source.py
│ │ └── ppsspp_native_startup_chain.py
│ ├── ppsspp_game.py
│ ├── ppsspp_source.py
│ └── ppsspp_startup_chain.py
├── retroarch
│ ├── __init__.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ ├── retroarch_flatpak_game.py
│ │ ├── retroarch_flatpak_source.py
│ │ └── retroarch_flatpak_startup_chain.py
│ ├── native
│ │ ├── __init__.py
│ │ ├── retroarch_native_game.py
│ │ ├── retroarch_native_source.py
│ │ └── retroarch_native_startup_chain.py
│ ├── retroarch_game.py
│ ├── retroarch_source.py
│ └── retroarch_startup_chain.py
├── scannable.py
├── script_startup_chain.py
├── source.py
├── startable.py
├── startup_chain.py
├── steam
│ ├── __init__.py
│ ├── flatpak
│ │ ├── __init__.py
│ │ └── steam_flatpak_source.py
│ ├── native
│ │ ├── __init__.py
│ │ └── steam_native_source.py
│ ├── steam_game.py
│ ├── steam_source.py
│ ├── steam_xdg_game.py
│ └── steam_xdg_startup_chain.py
├── stemmed_cli_startup_chain.py
└── yuzu
│ ├── __init__.py
│ ├── flatpak
│ ├── __init__.py
│ ├── yuzu_flatpak_game.py
│ ├── yuzu_flatpak_source.py
│ └── yuzu_flatpak_startup_chain.py
│ ├── native
│ ├── __init__.py
│ ├── yuzu_native_game.py
│ ├── yuzu_native_source.py
│ └── yuzu_native_startup_chain.py
│ ├── yuzu_game.py
│ ├── yuzu_source.py
│ └── yuzu_startup_chain.py
├── ui
├── __init__.py
├── application.py
├── application_window.py
├── filter_popover.py
├── game_life_cycle_controls.py
├── games_details.py
├── games_view.py
└── templates
│ ├── about_window.ui
│ ├── application_window.ui
│ ├── game_details.ui
│ ├── game_life_cycle_controls.ui
│ └── kill_game_confirm_dialog.ui
└── utils
├── __init__.py
├── cfg_parser.py
├── deep_find_files.py
├── explicit_config_parser.py
├── locations.py
├── lutris_export_script.py
├── prepare_filename.py
├── rpx_metadata.py
├── sandbox.py
└── wine_path.py
/.gitignore:
--------------------------------------------------------------------------------
1 | build
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # Gali
4 |
5 | View and start all your games from a single launcher
6 |
7 | ## Supported game sources
8 |
9 |
Status | 13 |Variants | 14 |Name | 15 |Description | 16 |Links | 17 |
---|---|---|---|---|
✅ | 23 |
24 | |
26 | Cemu | 27 |Nintendo Wii U emulator | 28 |29 | Website | 30 | Lutris 31 | | 32 |
✅ (2) | 36 |
37 | |
40 | Citra | 41 |Nintendo 3DS emulator | 42 |43 | Website | 44 | Flathub 45 | | 46 |
✅ (3) | 50 |
51 | |
53 | Desktop entries | 54 |Regular linux desktop entries | 55 |56 | Specification 57 | | 58 |
✅ | 62 |
63 | |
66 | Dolphin | 67 |Nintendo Wii / GameCube emulator | 68 |69 | Website | 70 | Flathub 71 | | 72 |
✅ (1) | 76 |
77 | |
80 | Heroic | 81 |FOSS Epic Games Launcher alternative (GUI) | 82 |83 | Website | 84 | Flathub 85 | | 86 |
✅ | 90 |
91 | |
93 | Itch | 94 |Install, update and play indie games | 95 |96 | Website 97 | | 98 |
✅ (1) | 102 |
103 | |
105 | Legendary | 106 |FOSS Epic Games Launcher alternative (CLI) | 107 |108 | Repository 109 | | 110 |
✅ | 114 |
115 | |
117 | Lutris | 118 |Open Source gaming platform for Linux | 119 |120 | Website 121 | | 122 |
✅ | 126 |
127 | |
130 | PPSSPP | 131 |Sony PSP emulator | 132 |133 | Website | 134 | Flathub 135 | | 136 |
✅ | 140 |
141 | |
144 | Retroarch | 145 |Frontend for the libretro API | 146 |147 | Website | 148 | Flathub 149 | | 150 |
✅ (1) | 154 |
155 | |
158 | Steam | 159 |PC games store | 160 |161 | Website | 162 | Flathub 163 | | 164 |
✅ (2) | 168 |
169 | |
172 | Yuzu | 173 |Nintendo Switch emulator | 174 |175 | Website | 176 | Flathub 177 | | 178 |
Browsing view | 41 |Scanning view | 42 |
---|---|
![]() |
45 | ![]() |
46 |
Selection view | 49 |Life cycle view | 50 |
![]() |
53 | ![]() |
54 |
Games grid, default view | 70 |Scanning view, replacing the default view | 71 |
---|---|
![]() |
74 | ![]() |
75 |
Game info popover with a start button | 78 |Game info with a stop and kill button | 79 |
![]() |
82 | ![]() |
83 |
No description
8 |