quarkpad 1.2.0

A simple game launcher for Linux to manage and launch games using Proton.
# 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 the `slint` framework. 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.

## Technologies Used

-   **Rust**: The primary programming language.
-   **Slint**: A declarative UI toolkit for building native user interfaces.
-   **TOML**: Used for serializing and deserializing application data (game list and settings).
-   **`dirs` crate**: For cross-platform discovery of user-specific directories to store application data.
-   **`rfd` (Rust File Dialogs)**: For native file/folder selection dialogues.

## Getting Started

### Prerequisites

- Rust and Cargo (latest stable version recommended)
- [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.