# sddm-theme-udt An SDDM login theme for the unified-desktop-theme (UDT) family. It draws the current wallpaper on every screen, pins the login card to one screen, and takes its colours from the UDT palette, including the wallpaper-snapped accent. ## How it is wired `udt-accent`, in the UDT repo, writes the live palette to `~/.local/share/udt/sddm-theme.conf` on every wallpaper change. Root installs `/usr/share/sddm/themes/udt/theme.conf.user` as a symlink to that file, which SDDM merges into the theme config at every greeter start. Wallpaper and accent need no root re-run; only theme code changes do. Set `uiScreen` in the root-owned `theme/theme.conf` to pin the login card to a named screen; leave it empty for the primary screen. It does not belong in the generated `theme.conf.user`, which is overwritten on every wallpaper change. ## Install The theme code is copied by root, then SDDM is pointed at it. Both are one-time root edits: install -d /usr/share/sddm/themes/udt cp -r /theme/. /usr/share/sddm/themes/udt/ ln -sfn ~/.local/share/udt/sddm-theme.conf /usr/share/sddm/themes/udt/theme.conf.user Select the theme by setting `Current=udt` under `[Theme]` in `/etc/sddm.conf`. That file has the highest precedence in SDDM's config order (`/usr/lib/sddm/sddm.conf.d`, then `/etc/sddm.conf.d`, then `/etc/sddm.conf`, last wins), so a drop-in under `/etc/sddm.conf.d` does not work here: the stock `Current=breeze` in `/etc/sddm.conf` overrides it. The same file carries `[General] InputMethod`. SDDM ships with `InputMethod=qtvirtualkeyboard`, which pops the on-screen keyboard over the greeter, and the theme cannot switch that off. Blank it in `/etc/sddm.conf` to disable the keyboard: InputMethod= ## Test sddm-greeter-qt6 --test-mode --theme "$PWD/theme" ## License GPLv2 only. See `LICENSE`. ## Development Approach This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback. All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions. The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.