Muoto

Muoto lets you customize icons, fonts and pixel density in Sailfish OS. It bundles the former Theme pack support engine (systemd services, privileged helper, and compatibility with harbour-themepack-* packages) in a single app.

GitHub license GitHub issues GitHub releases Donate on Liberapay

Features

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

  • Icon theming (native, Jolla, Android).
  • Style missing app icons (theme look for apps not in the pack).
  • Font theming.
  • Display density (pixel ratio, Android DPI, launcher icon size).

Using Muoto

Using Muoto — apply themes, display density, restore, and other app features.

Create theme packs

Create theme packs — author documentation (icons, fonts, packaging).

Translate

Request a new language or contribute on the Transifex project page.

Builds

Builds for aarch64, armv7hl and i486 are available on OpenRepos.

Migration from UI Themer

  • Restore your current theme from UI Themer (sailfishos-uithemer) before swapping packages.
  • Uninstall sailfishos-uithemer.
  • Install harbour-muoto (also replaces the merged Theme pack support / harbour-themepacksupport package).
  • Re-apply your preferred theme packs in Muoto.
  • App settings are not auto-migrated; re-apply packs if needed after upgrading.

Credits

  • Opal QML modules (About, Tabs, SupportMe, LinkHandler) by Mirian Margiani.
  • Theme pack support engine by fravaccaro (formerly separate themepacksupport-sailfishos package).
  • Partially based on Icon pack support GUI.
  • Thanks to Dax89 for C++ and QML help.
  • Thanks to Eugenio_g7 for the One-click restore service.
  • Thanks to LQS for Android DPI on Xperia XA2.
  • Thanks to dt.iki.fi/sailfish-os-change-default-font.
  • Thanks to all testers.

AI disclosure

  • Human foundation. Theme pack support and UI Themer — the engine behind icon, font, and density theming on Sailfish OS — were authored, designed, and developed without AI input.
  • Cursor-assisted work. During the Muoto rename and ongoing maintenance of this repository, Cursor was used as an IDE with AI assistance for tasks such as documentation updates, code exploration, UI polish, translation cleanup, and RPM packaging tweaks. Output was always reviewed and edited by the maintainer before commit.
  • Not a substitute for testing. AI suggestions do not replace rigorous testing on Sailfish OS hardware, reading the code, or applying your own knowledge. Generated changes are treated like any other patch: understand it, test it, then ship it.

Muoto’s theming engine is human-built; Cursor helped maintain and polish what wraps it.


This site uses Just the Docs, a documentation theme for Jekyll.