Release 1.0.0: rename to NoMines, add leaderboard, theme support and release metadata

- Rename app/binary/app-id to nomines (io.github.bemagri.nomines), config dir
  moves to ~/.config/nomines with legacy path fallback
- Add persistent best-time leaderboard (Glib::KeyFile)
- Theme-aware board following system light/dark preference
- Beveled 3D cells, confetti win animation, keyboard shortcuts,
  right-click chording, per-difficulty window sizing
- Add AppStream metainfo, validate desktop file and metainfo via meson tests
- Fix license metadata to GPL-3.0-or-later and real homepage
This commit is contained in:
2026-08-01 14:06:43 +01:00
parent 2456814295
commit 2dbf64a2e8
19 changed files with 737 additions and 152 deletions
+22 -14
View File
@@ -1,16 +1,18 @@
# MineSweeper
# NoMines
A modern GTK4/C++ implementation of the classic Minesweeper game with multiple difficulty levels, customizable board sizes, animations, and a leaderboard system.
A modern GTK4/gtkmm implementation of the classic Minesweeper game with multiple difficulty levels, a persistent leaderboard, keyboard shortcuts, and light/dark theme support.
![Game Screenshot](screenshots/screen1.png)
## Features
- Multiple difficulty levels: Beginner, Intermediate, Expert, and Master
- Custom board size and mine count configuration
- Win/lose animations
- Persistent leaderboard to track best scores
- Modern GTK4 user interface
- Persistent leaderboard tracking the best time per difficulty
- Follows the system light/dark theme
- Win/lose animations, including a confetti win celebration
- Keyboard shortcuts: `R` / `Ctrl+N` new game, `1``4` difficulty, `L` leaderboard
- Right-click chording on revealed cells
- Modern GTK4 user interface with client-side decorations
- Modern C++20 implementation
## Building from Source
@@ -52,8 +54,8 @@ sudo pacman -S base-devel meson ninja gtkmm-4.0 libsigc++-3.0
Clone the repository:
```bash
git clone https://github.com/username/minesweeper.git
cd minesweeper
git clone https://github.com/bemagri/nomines
cd nomines
```
Configure and build with Meson:
@@ -66,7 +68,7 @@ meson compile -C build
Run the game:
```bash
./build/minesweeper
./build/nomines
```
### Installing
@@ -82,14 +84,20 @@ meson install -C build
If you use the Nix package manager, you can build and run the application with:
```bash
nix-build
./result/bin/minesweeper
nix build
./result/bin/nomines
```
Or install it with:
Or run it directly from the flake:
```bash
nix-env -i -f .
nix run
```
The Nix flake also provides a development shell with all dependencies:
```bash
nix develop
```
## Contributing
@@ -98,4 +106,4 @@ Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.