# 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.

<!--## Screenshots
<div style="display: flex; flex-wrap: wrap; justify-content: center;">
  <img src="./screenshots/1.png" width="45%">
  <img src="./screenshots/4.png" width="45%">
  <img src="./screenshots/5.png" width="45%">
  <img src="./screenshots/2.png" width="45%">
  <img src="./screenshots/3.png" width="45%">
</div>-->

## 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.
