---
title: Making Two New High Contrast Themes for KMines
description: My first KDE contribution! Two new high-contrast KMines themes that will arrive with Plasma 6.
date: 2024-01-20
tags:
  - KDE
  - FOSS/FLOSS
synopsis: My first KDE contribution! Two new high-contrast KMines themes that will arrive with Plasma 6.
imageURL: /img/kmines_dark.webp
imageAlt: A screenshot of the KMines game window showing a new dark theme.
mastodon_id: "111794936518292495"
---
## Why KMines?
Minesweeper is a tragically underrated puzzle game. While I recall examining the mysterious array of gray squares as a child, it wasn't until adulthood that I took the time to learn the rules of the game. Despite my late start, however, I still count minesweeper as a classic. These days, good minesweeper clones are hard to come by. I settled on GNOME's [Mines](https://wiki.gnome.org/Apps/Mines) for a while, but as the look of GTK applications on my QT-based [KDE Plasma Desktop](https://kde.org/plasma-desktop/) sets my teeth on edge, I ditched it for [KMines](https://apps.kde.org/kmines/) in short order. While I enjoyed the game, I found the themes shipped with KMines a bit dated, so I thought I'd make my own.

[![A screenshot of the KMines game window showing a new dark theme.](/img/kmines_dark.webp "The Clean Blue Dark KMines theme")](/img/kmines_dark.webp)

## The Drama
I didn't quite know what I was getting into when I started working on my themes. I had expected there'd be a simple way to add themes through the KMines settings menu, or by dropping an SVG somewhere in your file-system. If only it were so simple. Adding a theme to KMines requires setting up a full-on KDE development environment, re-compiling KMines from source each time you want to test it, and then, of course, submitting a merge request to the git repository. Thanks to the help of some very patient souls in various KDE Matrix channels, I was able to work through all of this, but I found the process so tricky that I submited a second merge request, this time to the repository for [develop.kde.org](develop.kde.org), for [a page documenting the process](https://develop.kde.org/docs/apps/kmines/theme/). Now I realise that some developers out there are going to read through this and wonder if I was dropped on my head as an infant, but in my defense, when it comes to software development, I'm a humble designer and Jamstack web developer. This is all very new to me, and I was expecting a much more streamlined process for what I saw as simple visual tweaks.

[![A screenshot of the KMines game window showing a new light theme.](/img/kmines_light.webp "The Clean Blue Light KMines theme")](/img/kmines_light.webp)

## Why High Contrast
When submitting my initial design, a KDE contributor who had been helping me via Matrix pointed out that they found the theme difficult to parse visually as the contrast was quite low. I hadn't considered contrast ratios here, my thinking being that I didn't need to; I was just making one theme among many, after all, and users could choose any theme that worked best for them. After some consideration, however, it dawned on me that my theme would likely be the only modern-looking theme in the release, so it would be ideal if it were as accessible as possible. With this in mind, thanks to the feedback of one helpful individual, instead of one pretty but low contrast theme, I decided to make two modern high contrast themes, one light and one dark, targeting the WCAG AAA standard for contrast.

## Coming in Plasma 6!
With thanks to those KDE contributors who helped make it happen, the merge request containing these two themes scraped by the skin of its teeth past the closing door of a feature-freeze and will be available with Plasma 6 this February!


