Theme Color

Your rating: None Average: 5 (12 votes)

Editor for the current theme colors, and more!

Spice up your Ambiences with this! Yes, Black/White/Gray colors can finally be created!

You can also export ambience files, create RPMs and install those RPMs as ambiences. Refer to the built-in User Manual on how to use the various functions.

Source available at Gitlab. Patches and Translations (via Weblate) welcome!


  • Has a confusing UI (as reported by some), but also has as of version 2.8, a comprehensive Handbook included to explain it.
  • can, as of version 2.9, load color schemes from ambience files
  • can, as of version 2.7, export ambience files, create RPMs and install those RPMs as ambiences
  • allows setting most colors for the current theme. Note that this means you can not edit everything, most notably not the background color used for Covers
  • can store schemes for later reuse
  • can generate some color schemes automatically, e.g. some optimized for color-blindness, or redshifting for late-night phone use
  • translations ensure proper spelling of "color" in en_GB and en_IE locales, also many other languages
  • opens possibilities to create truly disgusting UI coloring, but de gustibus non est disputandum, eye of the beholder and so on.

Known issues:

  • plenty of rough edges, display and inputs get confused a lot depending on what you do
  • the author uses various "Glass" and other patches from patchmanager - patched UI components are not tested in the app against unpatched.
  • opens possibilities to create truly disgusting UI coloring, but de gustibus non est disputandum, eye of the beholder and so on.
  • can not save colors to existing Ambiences, only current theme/session. You can however create an Ambience RPM.
  • Loading from Cupboard, or switching edit modes doesn't always keep the palette, showroom,  and the editors in sync. To work around, Apply to System and then Reload from System
  • can sometimes crash Lipstick... 
  • tragically uninspired name
  • ugly logo
  • plenty more, probably

Planned Features:

If you like playing with colors and themes, you might like Ambience Admirer, my most pointless creation yet.

Oh, and if you like this, and are more talented than me in designing icons (likely), might I request a sailfish-like icon featuring the face of a Mantis Shrimp to be made for this? Thanks!


Application versions: 
File openrepos-themecolor-1.7-2.noarch.rpm12.46 KB21/03/2021 - 02:04
File openrepos-themecolor-1.8-4.noarch.rpm16.61 KB22/03/2021 - 01:27
File openrepos-themecolor-2.0-1.noarch.rpm21.93 KB24/03/2021 - 02:21
File openrepos-themecolor-2.1-2.noarch.rpm24.11 KB25/03/2021 - 23:07
File openrepos-themecolor-2.2-1.noarch.rpm25.86 KB29/03/2021 - 22:36
File openrepos-themecolor-2.3-1.noarch.rpm180.41 KB01/04/2021 - 14:49
File openrepos-themecolor-2.4-1.noarch.rpm183.54 KB03/04/2021 - 23:14
File openrepos-themecolor-2.4-2.noarch.rpm183.72 KB04/04/2021 - 18:03
File openrepos-themecolor-2.5-1.noarch.rpm192.21 KB07/04/2021 - 20:15
File openrepos-themecolor-2.6-1.noarch.rpm201.06 KB19/04/2021 - 19:03
File openrepos-themecolor-2.6-2.noarch.rpm201.38 KB21/04/2021 - 15:29
File openrepos-themecolor-2.7-1.noarch.rpm357.15 KB11/05/2021 - 15:32
File openrepos-themecolor-2.7-2.noarch.rpm357.35 KB14/05/2021 - 18:56
File openrepos-themecolor-2.7-3.noarch.rpm357.42 KB18/05/2021 - 15:58
File openrepos-themecolor-2.7-4.noarch.rpm357.45 KB22/05/2021 - 21:51
File openrepos-themecolor-2.8-1.noarch.rpm1.23 MB11/08/2021 - 16:48
File openrepos-themecolor-2.9-1.noarch.rpm1.41 MB23/09/2021 - 16:42
File openrepos-themecolor-2.9-2.noarch.rpm1.41 MB16/10/2021 - 02:07
File openrepos-themecolor-3.0-1.noarch.rpm1.41 MB01/04/2022 - 13:35

Fri Apr 1 2022 - 3.0-1

  • Sandboxing: add support, check all functions
  • Daemon: make it actually apply themes
  • Daemon: move from Gio to dconfjson
  • Settings: remove Open Settings from Advanced page (sandboxing)
  • Performance: remove opacity Behaviours

Fri Oct 15 2021 - 2.9-2

  • Translations: update French, thanks J. Lavoie
  • Translations: update Swedish, thanks Luna Jernberg

Thu Sep 23 2021 - 2.9-1

  • Ambience Export: improve UI and focus handling, see
  • Shelves: fix naming of special shelves, and padding
  • Builder: add version information to RPM description
  • Feature: allow loading ambiences from file
  • Feature: add Advanced page, cleanup Pulley menus
  • Feature: add Ambience change watcher daemon
  • Feature: use color-specific autogenerated palette in Picker
  • Packaging: Require SailfishOS 4 or later (Silica dependencies)
  • Performance: ShowRoom was rendered twice
  • Showroom: better Pulley Menu simulator
  • Showroom: fix display for users without patches
  • Showroom: improve wallpaper background
  • Showroom: make hiding/showing persist over page changes
  • Sliders: move Text input Button onto Sliders, remove Text input mode
  • Translations: add French, thanks J. Lavoie

Wed Apr 11 2021 - 2.8-1

  • Add systemd service to launch Builder from app, remove separate Builder launcher
  • introduce User Manual, - translations may lag behind by hopefully will improve over time
  • various fixes from dogfooding
  • Generators: tone down some effects
  • Performance: improve image handling, use Nemo.Thumbnail plugin
  • Performance: improve shelves
  • SailJail: prepare support for being launched through sailjail

Sat May 22 2021 - 2.7-4

  • fix busybox support in RPM Builder script

Tue May 18 2021 - 2.7-3

  • Translations: update Norwegian

Fri May 14 2021 - 2.7-2

  • Fix RPM builder to be more compatible/error restistant
  • update translations

Tue May 11 2021 - 2.7-1

  • Add support for generating and installing Ambience RPMs (!)
  • Improve landscape layout by using a Flow (idea stolen from Battery Buddy)
  • Add support for Dimmer color
  • Add prototype for editing alpha channel
  • Add more Generators: Day/Night themes
  • Add more Generators: Red-Green Color-blindness themes
  • Improve VKB preview
  • Improve GlowColor support
  • Improve handling of uninitialized colors on shelves
  • Increase Remorse Timer Madness
  • Fix some button layouts
  • Various other fixes and breakages
  • Last but not least, updates from our restless Translators, thanks again.

Wed Apr 21 2021 - 2.6-2

  • Translations: update Chinese
  • Translations: update Norwegian

Mon Apr 19 2021 - 2.6-1

  • Add Filters (reduce eyestrain), inspired by
  • Add (preliminary) .ambience file export
  • Add possibility to hide parts of Showroom
  • Add VKB preview to Showroom
  • Add Mini-Showroom
  • Sliders: fix reset, pick up color changes better
  • Editors: Consolidate Randomizer and Filters under common Selector
  • Make collapsible elements more visible on main page
  • Some fixes for cupboards
  • Fix for Reload functions picking up wrong colors
  • Some eye candy
  • Translations: Spanish thanks Carmen F. B.
  • Translations: Swedish thanks Åke Engelbrektson (in the works)

Wed Apr  7 2021 - 2.5-1

  • Add Glow color support
  • Add Copier input mode
  • Add several reload/recompute options to pulley
  • Translations: Norwegian thanks Allan Nordhøy
  • Translations: Chinese by @dashinfantry
  • Translations: all languages at 100% with this release!
  • Dev: Translations now done on Weblate:

Sat Apr  4 2021 - 2.4-2

  • Update Chinese translation by @dashinfantry, thanks!

Sat Apr  3 2021 - 2.4-1

  • Add Chinese translation by @dashinfantry, thanks!
  • Add Swapper input mode
  • Add option to reset custom dconf values, see
  • Enhance Help section: some tips and tricks
  • bugfix: open ambience settings used wrong dbus call syntax
  • proper detection of Ambience changes
  • proper handling of uninitialized shelf values
  • refactor input selector

Thu Apr  1 2021 - 2.3

  • Add support for highlightBackgroundColor
  • Add octosquish icon and background
  • Add Pulley and Topmenu demo to ShowRoom

Mon Mar 29 2021 - 2.2

  • Add per-Ambience palette store (cupboard)
  • Add random color selector
  • Add original Jolla Slider^TM
  • Add some eye candy
  • Add spring clean option
  • Add support for @slava's MyBackup
  • Hid an egg. Happy easter!
  • bugfix: highlight selector was mapped to the wrong output color (primary)
  • cleanup: refactor a lot of things
  • translations: update

Thu Mar 25 2021 - 2.1

  • declare this out of alpha state
  • bugfix: colors are now applied to the preview immediately
  • feature: add edit mode selector
  • feature: random color selector
  • cleanup: refactor a lot of things
  • translations: update

Wed Mar 24 2021 - 2.0

  • bugfix: colors are now applied to the preview immediately
  • bugfix: for GeminiPDA orientations (again)
  • feature: random color selector
  • cleanup: move to qml singleton for custom palette
  • bugfix: fix some reference bugs in showroom

Sun Mar 21 2021 -  1.8

  • detect ambience changes
  • add storage option
  • add DLC/in-app purchases

Sun Mar 21 2021 - 1.7

  • first public release


apozaf's picture

Error in 4.4: dconfjson missing

nephros's picture

Dependency added. Please refresh and try to install again.

poetaster's picture

I'm also having problems installing. On (Vollaphone). Downloading the rpm by hand also does not work. Thanks!

nephros's picture

Darn, thanks for the heads-up.

I thought I had that packaged and released - apparently not. Will rectify soon-ish.

rob_k's picture

Just a black screen for minutes, not responding to a touch or a short press of the power button. Normally after restarting lipstick it may last a while, but not like this long. Didn't date to try a long press, tried SSH first.

rob_k's picture

I had a little scare just now. Last week I fiddled around a bit, and I noticed my top menu border background color had been set to black. So I chose Reset Config and Restart, which led to a non-responsive system. Luckily I could log in through SSH, and reboot. Now everything works again, and the top menu has its standard colors again for all ambiences. :D

nephros's picture

Interesting. I have experienced lipstick getting confused when playing around, but never so that a restart didn't help.

What do you mean nonresponsive system exactly?

usernamenotavailable's picture

Will the ability to change homescreen tile colors be added? Sfos doesnt do black and white

nephros's picture

The problem with this is the Cover color isn't a configurable color of the Ambience/Theme, but is computed from other color values.
So in a way this is already there, but no, I can't add a direct editing feature.
There is a change in the next version to at least show the Cover color in the Showroom.

Brummkreisel's picture

Hello, I'm not able to export an ambience. When I gave it a cool name the necessary buttons can't be used. They're looking not active...
XA2 with Koli

nephros's picture

Hi, after entering the "cool name" and pressing Enter, the file location should appear in the "File Name" area below the text input area. Clicking on that will actually create the file, and activate the open and builder buttons.


You probably didn't tap Enter and just left the input field. I shall improve that behaviour  in the next version.

Mick's picture

You're right about the UI.
But I'll RTFM to see how it works.
Been waiting for an app like this because the ambience colours are getting a bit hard on my old eyes.

nephros's picture

Hope you come to grips with it.

Suggestions or even patches on how to improve it (either the app, or the documentation) are always welcome and appreciated.

pasik2's picture

Can confirm, works now with sfos 4.1. Thanks!

levone1's picture

Working now - thanks

levone1's picture

I get similar error on new version... (pushd not found). Previous version actually worked fine. When running command as root, the error changes to "...line 12 notificationtool not found".
Sf 4.0

nephros's picture

Thanks for trying.

Running as root is not required. But you have found that I have a missing dependency.

pushd is a shell builtin in bash, and the new busybox doesn't support it. 

Try installing gnu-bash and lipstick-qt5-tools, that should make it work finally.

I have updated the script and dependency in 2.7-4, to be released.

pasik2's picture

RPM Builder does not open. Only spinning circle a while and then app closes. Xperia XA2 Ultra, Sailfish

nephros's picture

Oi! That's not good.

Have you previously used the "Export to Ambience package" menu from the ThemeColor app? That needs to be done at least once for the builder to work. I have added a notification explaining that in the next version.

Also, can you try launching /usr/share/openrepos-themecolor/ from a terminal and report any outputs you get?



pasik2's picture

Yes, i have used "Export to Ambience package" and make several ambience files to documents folder. Terminal output says: "all set up, trying build... /usr/share/openrepos-themecolor/ line 54 : pushd: not found".

nephros's picture

Thank you. Please check the updated version, it should work better now.

And sorry about this, I don't have a 4.x version device available at the moment to fully verify.

defactofactotum's picture

Hi nephros, the interface can be a bit bewildering at first. It would be great if you (or someone....) could make a tutorial video on simple work flows. ...e.g. I just want to adapt an existing ambience and export as rpm. Also a simple graphic with labels for all the different categories would be useful (what is a "secondary highlight colour"?). This is a great tool but it has a learning curve.

nephros's picture

I have now added a User Manual/Built-in Help type thing. Doesn't help with the UI confusingness, but does get that complaint off my TODO-list ;)

nephros's picture

So the basic workflow for re-coloring an existing Ambience or creating a new one would be something like this:

  1. Create an Ambience using the usual method (select picture from gallery, tab Ambience button, edit Name etc. and save)
  2. Switch to that  Ambience
  3. launch ThemeColor
  4. using the Sliders editing mode, adjust the four basic colors (primary, secondary, highlight and secondary highlight) to your liking.
  5. Use the PullDown menu "Apply Colors to System" to apply to the current theme
  6. Explore the Sailfish UI a bit to make sure all looks right. Always check the VKB,  that can easily become unreadable
  7. go back to ThemeColor, and use the Shelves to store your colors for later reuse from within the app.
  8. adjust if necessary and repeat the last two steps above
  9. to export and create an ambience RPM, use the PushUp menu function "Export Ambience"
  10. Type in a name for your new Ambience, and tap to store
  11. go to the app launcher (home) screen and launch the RPM Builder companion application
  12. that should prompt you to install the new Ambience RPM

 ... and done! Your new ambience should now show up in the usual place in Settings to select.

If it doesn't (sometimes it happens) that means that ambienced has crashed. In that case you can try to use the two "Restart" functions in the Pullup menu from the app to restart either Lipstick (the "Home Screen", or just ambienced).

nephros's picture

Hi, thank you for your input!

This started out as a simple editor - and learning project - for myself and then I somehow got distracted and started adding all kinds of stuff - leading to the monstrosity that it is now.

I'll see what I can do about a guide (there *is* a help function but it's not very elaborate and a pain for all the translators when changed).

For now I recommend just playing around with the different functions and have  "fun" with it.

All those color names are more or less those in use internally by the Sailfish UI (Lipstick), and I don' really know how I could change them to anything more meaningful. But maybe there'll be a conext-menu-popup like thing which explains their usage.

That being said, the source is there, the repo is on there, If anyone wants to change something, add a guide, or wants a video linked they are welcome to contribute.

carmenfdezb's picture

Hi @nephros! I've been trying this app and I like it more everyday, thank you for developing it :)
I would like color background for remorse item more transparent. Is possible to add an option for opacity level in background color?

nephros's picture

Yeah, I haven't touched transparency yet at all, keeping with what comes with the default theme handling. Thanks for the suggestion, I have added it to the TODO list.

As long as that's not implemented, you can experiment with dconf from command line. Something like

dconf write /desktop/jolla/theme/color/highlightDimmer "'#b0ffcaff'"

where the first two characters after the hash configure transparency. Note you need to use both double quetes and single quotes.

Now, Theme.highlightDimmerColor is in many places autocomputed from other values. So it could be changing it in dconf does not take effect in all places, or have an effect elsewhere, e.g. the keyboard background. 

I have confirmed though that it does work for RemorsePopup items.

carmenfdezb's picture

Thank you so much! It works on keyboard background but I don't see any changes on remorse popup items

nephros's picture

It turns out while RemorseItems do use highlightDimmerColor, that color does not usually have alpha/transparency defined. RemorseItems set their transparency using the QML element's opacity, and do not use the color alpha channel.

So I'm afraid there's little one can do here from the app side.


You could edit/patch the Silica qml files though, that should be easy enough.