# Quarkpad
## Overview
Quarkpad is a simple, open-source game launcher for Linux, designed to manage and launch games using [Proton-GE](https://github.com/GloriousEggroll/proton-ge-custom). It uses [Umu](https://github.com/Open-Wine-Components/umu-launcher) to run proton without steam and [Gamescope](https://github.com/ValveSoftware/gamescope) for scaling and going fullscreen. The UI is made with `gtk4` and `libadwaita`. You can organize the game library, add new games, configure basic settings, and launch them.
## Features
- **Game Management**: Easily add, edit, and remove games from your library.
- **Game Launching**: Launch games directly with configured Proton paths.
- **Cover Art Support**: Display cover images for your games for a richer visual experience.
- **Settings**: Configure global application settings, including the path to your Proton installation.
- **Persistent Data**: Game library and settings are automatically saved and loaded.
## Getting Started
### Prerequisites
- Rust and Cargo (latest stable version recommended)
- gtk4 and libadwaita shared libraries installed in the system
- [Proton-GE](https://github.com/GloriousEggroll/proton-ge-custom)
- [Umu](https://github.com/Open-Wine-Components/umu-launcher)
- [Gamescope](https://github.com/ValveSoftware/gamescope)
### Installation
You can install Quarkpad directly from crates.io:
```bash
cargo install quarkpad
```
After installation, you can run the application from your terminal:
```bash
quarkpad
```
### Building
Navigate to the project's root directory and use Cargo to build the application:
```bash
cargo build --release
```
The `--release` flag will produce an optimized executable.
### Running
After building, you can run the application directly:
```bash
cargo run
```
Or, if you built with `--release`:
```bash
./target/release/quarkpad
```
## Configuration
Quarkpad stores its game library and settings in a file named `data.toml`. This file is located in your system's local data directory, typically at:
`~/.local/share/quarkpad/data.toml`
You can manually inspect or edit this file, though it's recommended to use the application's interface for managing games and settings.
## License
This project is licensed under the terms available in the `LICENSE` file.