projects

obscure-sddm-theme44

a minimal and highly configurable sddm greeter theme with ipa-based password masking and glass-style visuals.

sddmqmlqtquickqt6

A highly customizable, deliberately minimal login theme for the SDDM greeter. Its signature feature utilizes randomized International Phonetic Alphabet (IPA) characters for password masking, creating a distinctive and intentionally obscure login sequence.

The Approach

The default Linux display manager login experience is too often treated as an afterthought—a screen you rush past, where function completely overrules polish. Conversely, many community SDDM themes swing too far in the other direction, relying on heavy, unoptimized visuals while exposing very little configuration to the end user.

This project explores a much more deliberate middle ground: a restrained, highly modern greeter that feels cohesive, configurable, and visually intentional.

The concept of IPA-based password masking was introduced specifically to make the mundane act of password entry visually engaging, all while remaining purely cosmetic and completely secure. The core objective was not merely novelty, but rather engineering a theme that perfectly balances clarity with deep personalization capability.

Technical Architecture

The visual framework is built entirely using QML running aggressively optimized QtQuick views, explicitly targeting the SDDM login greeter. It rigidly adheres to standard SDDM theme packaging structures and relies strictly on declarative UI components to manage layout state, subtle animations, and user interaction.

Configuration logic is completely decoupled from the view code. All customizations are centrally managed within theme.conf. Settings are cleanly grouped logically by color palettes, background definitions, typography rules, and runtime behavior. The entire visual aesthetic maps dynamically to a single user-defined accent color, supporting optional glass-morphism blur layers and exacting control over UI opacity and CSS timing functions.

The password masking engine operates entirely at the UI layer. This permits the rendering of IPA-based glyphs (or a more traditional fallback mask if requested) with optional, cryptographically light per-keystroke randomization logic. Smoothly animated error feedback loops and a password visibility toggle are integrated seamlessly, hooked directly into the shared configuration context.

Core Capabilities

  • A clean, modern greeter architecture driven procedurally by an accent design system.
  • Unique IPA character-based password masking with deterministic or randomized character mappings.
  • Fully animated state transitions for password visibility toggling and authentication failure feedback.
  • Configurable background rendering pipeline supporting multi-layered blur, tint drops, and precise opacity control.
  • Glassmorphism application on UI elements featuring variable blur intensity and border radius clamping.
  • Comprehensive configuration accessible directly via a standard key-value theme.conf file.

Dependencies

  • SDDM ≥ 0.19.0
  • Qt Framework ≥ 6.0.0
  • A system font supporting IPA Unicode blocks (the Inter typeface is recommended and used as the default fallback).

Installation

# Arch Linux (Using an AUR helper)
yay -S sddm-theme-obscure-git

# Manual Deployment
git clone https://github.com/saatvik333/obscure-sddm-theme.git
sudo cp -r obscure-sddm-theme /usr/share/sddm/themes/obscure

Once installed, simply update your /etc/sddm.conf to declare obscure as your active Current theme.