Global Font not updating

I’m trying to make a list of fonts so I can choose whatever font I want to use in the watchface itself.

I’ve made a global list containing 8 entries and named fs. All entries being $gv(fx)$ (x = number 1-8).
Then I’ve made 8 seperate global font variables named f1, f2, f3 etc. with set fonts.
But then I also have another global font named fa that has the formula $gv(fs)$ so I can see which font in the list I want to apply. It works.

For example, the chain would be, the list (fs) will look for f1 and grab the font, then send it to fa which would then be used in every text entries throughout my watchface.

The problem is that the global font named fa doesn’t update on its own. I have to set the font and then open up the editor and open global font fa and just hit the checkmark in the top right for it to update. It doesn’t do it on it’s own.
Is there a way I can trigger it to update automatically?

Edit: uploaded a screenshot to further explain what I mean, there you can see how I’ve set it up. fa is never updating unless I open up the formula and then save it from the editor.

Edit 2: Now I’ve tried using[f=gv(fa)][/f] as well to see if that works on all text fields but nothing happens. If I set this formula it will update as soon as I exit the edit screen but if I change between fonts on the watchface itself it doesn’t change.

Want to include also that I’m using arrow buttons to use next/previous entry in the list like this.

Edit 3: Recorded a video of my issue to clarify.

Update: I’ve been messing around with this for a bit but can’t get it to work. I thought that maybe if I set a new font on my watch and then reboot, it would update the global font. That didn’t work either since I think KWCH just loads the watchface from scratch after a reboot.
Same goes if I swap to another watchface and then go back to KWCH.

Is there a way to implement a touch action to “reload”/update a global variable?

Managed to get it working! Leaving the solution here if anyone else is experiencing the same issue.

On the global font variable where you get the font for each text element, I put in this formula :

$if(tu(seq, 1/60, 0, 1) = 1, gv(fs))$

This will update the global font variable every second, I don’t know how much of an impact this has on battery but you can adjust the timing for less CPU demand.
If anyone else is able to answer the battery impact I would greatly appreciate it.

2 Likes

Awesome! Thank you for sharing your solution to this issue.

1 Like