Theme Color

Your rating: None Average: 5 (9 votes)

Editor for the current theme colors.

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. To do that, select the "Export Ambience" option in the PullUp Menu, give your ambience a name, and save that.
After that, tap the RPM Builder launcher icon to build and (optionally) install your ambience.

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


  • 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 palettes for later reuse
  • can generate some color schemes automatically, e.g. some optimized for color-blindness
  • translations ensure proper spelling of "color" in en_GB and en_IE locales
  • 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
  • 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 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


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

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


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?



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

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. 

carmenfdezb's picture

Ok, thank you for your help :)

carmenfdezb's picture

How can I revert to original values by Jolla? I don't see any option to do that and now, highlight background color is the same for all my ambiences and I want that it changes with color for the ambience.

nephros's picture

Oh, yeah I understand. As the ambience only sets/stores four values (and has the first two always the same), setting the highlightBG via the app will never reset/change it when changing ambiences.
You can do:

dconf reset /desktop/jolla/theme/color/highlightBackground

and switch Ambiences, that should reset it.
I will make a note of this issue and add an option to do that from the app.

levone1's picture

Could you implement a "save to profile" function? Thanks

nephros's picture

That's on the road map.

I haven't figured out yet how the ambienced interface works exactly that would allow this. It's possible that it's not possible to save non-default colors at all, we'll have to see.

 Next version will have an export to file function at least, which is a first step.

carmenfdezb's picture

Thank you so much!! Your app is very interesting, if you add that option to revert all values to jolla, it would be perfect :)

Historyscholar's picture

Can not open your Gitlab now. Can you make a transfiex program for translation?

nephros's picture

There is now a Weblate project for translation work.

nephros's picture

Ah, I have set the repo public now. I thought I had done that already.
Never worked with transifex, but there is a translations folder in the source you can make a PR against!

carmenfdezb's picture

Atm I get original values with your command, thank you ;)

arustg's picture

Well, we' ve waited this long. Great work! Thx, nephros.

Branja's picture

Ok. It's working to a certain degree now. I still don't know how to set the tiles to be grey or black or white (I can only change the color of the text) but I'll figure it out. Thx a lot

nephros's picture

To get gray backgrounds for Covers, set both highlight and secondary highlight to a gray tone and apply.
It's important that all three rgb channels have the same value, otherwise the backgrounds get tinted with the secondary color tone.

Branja's picture

It's not working on 4.0 as you have guessed but I honestly think that this app will be amazing!

nephros's picture

Hi, just tested on Gemini PDA on Koli, and it seems to work.

Can you say what is not working for you? Maybe it's a usability issue rather than a technical one...

Branja's picture

I've tried it again, and I couldn't get it to work (I wanted to set black or grey theme colors like here Maybe I just don't know how to operate it properly? Could you write down a tutorial of some kind?

nephros's picture

[EDIT:] to anyone finding this: this guide is obsolete meanwhile. Use the built-in help from the app to learn a bit about how it works.

Yeah, definitely need to work on the UI to make it more usable.

But the basic steps are:

  • The Top area on the first page ("Showroom") is non-interactive and just shows the colors that are selected currently
  • scroll down ot the sliders, adjust them to make some new colors.
  • after satisfied, tap the area above the slider that sais "tap to set"
  • (this is a bug right now:) move one of the sliders again so the color is actually selected/applied to the Showroom
  • confirm in the Showroom area that the colors have been applied the text elements there
  • scroll to the bottom, use the pushup menu and select "Apply to current Theme"
  • Lipstick should reload now and show the new color scheme
nephros's picture

Thanks for reporting. I will look into 4.x support Real Soon Now^TM.