Log In  


A custom theme for Picotron that tries to recreate the iconic colors of PICO-8's editors.

There are two ways to get this theme into your copy of Picotron. The first one is the more complicated manual process that I originally posted, and the second is just copy-pasting a command or two into the terminal:

Method 1: The manual way

  • If you don't already have /appdata/system/themes/, the easiest way to get it is to open up two filenav processes, with one at /system/ and the other at /appdata/system/, and drag the themes folder from the former into the latter. (I recommend doing it this way because if /appdata/system/themes/ exists, then the contents of /system/themes/ will be ignored, so simply creating an empty themes folder in /appdata/system/ will result in all of the system themes vanishing. Note that the same goes for wallpapers and screensavers, so while you have both of those filenavs open you might as well copy those over.)
  • open up your system settings by clicking on the Picotron logo on the top-left, then double-click the [custom] option in the themes chooser (or any of the themes; double-clicking any of them will work) to pull up the theme editor.
  • Manually copy the colors from the image above. (This is the tedious part. If you want to play with the colors a bit, go ahead.)
  • Click the menu button on the theme editor (the one in the top-left corner of the window that looks like three horizontal bars) and select Save File As.
  • Navigate to the /appdata/system/themes/ folder, type pico8.theme (or whatever you want to call it, but don't forget the .theme) into the prompt, and click Save.
  • Your theme will now show up in the list of available themes, though you may have to close and reopen the settings app if you left it open from earlier.

Method 2: The copy-paste-into-the-terminal-way


If you don't already have /appdata/system/themes/, the easiest way to get it is to copy this command into the terminal:

cp /system/themes/ /appdata/system/themes/

(I recommend doing this because if /appdata/system/themes/ exists, then the contents of /system/themes/ will be ignored, so simply creating an empty themes folder in /appdata/system/ will result in all of the system themes vanishing. Note that the same goes for wallpapers and screensavers, so don't forget to copy them over if you plan to add more of those.)

After that, just paste in this command to install the theme:

store("/appdata/system/themes/pico8.theme",unpod("b64:bHo0AE0BAAACAgAA8BJ7ZGVza3RvcF9wYXR0ZXJuPXB4dQBDIAwMBEcQBxAHADcGADAQNwAGABFXEgBBBxAHkAIACAgA4YAsZG9yX2ZyYW1lPTEzDQCTYnV0dG9uPTUsYgAxMT01GABxdGl0bGU9NhcAc19zaGFkb3clAEQwPTE3LgAyMD0xRgBxb3JkZXI9Mg4ASG1hbnQSAAIrAARFAAMSAPEHMT0xNCxpY29uMT02LHRvb2xiYXI9NxIAEzKcAAFIAAKtABEyGQA1MD03GAACoAAkMzE8ABAxNQAAJQA1Mz0xJQAD3QAVMiYAAVsAAwwAxV9zZWxlY3RlZD0xNRQAAEIACCQAZWl0ZW09Mg8ApGJhY2s9OCx3aW7hABIxDQACaQAhMTMOAAO0ABE5DQACqQAQNwwANGRvdzcAFTAQAAOjAAQQAAI8ABQ4DwCQdGl0bGU9MTV9"))


Enjoy!

21


1

That's lovely!


could you share the theme file? (pod format)


4

@merwok Not sure what exactly you mean by that, but if it helps, here is a single copy-paste terminal command that should do the job much faster than the multi-step process above:

store("/appdata/system/themes/pico8.theme",unpod("b64:bHo0AE0BAAACAgAA8BJ7ZGVza3RvcF9wYXR0ZXJuPXB4dQBDIAwMBEcQBxAHADcGADAQNwAGABFXEgBBBxAHkAIACAgA4YAsZG9yX2ZyYW1lPTEzDQCTYnV0dG9uPTUsYgAxMT01GABxdGl0bGU9NhcAc19zaGFkb3clAEQwPTE3LgAyMD0xRgBxb3JkZXI9Mg4ASG1hbnQSAAIrAARFAAMSAPEHMT0xNCxpY29uMT02LHRvb2xiYXI9NxIAEzKcAAFIAAKtABEyGQA1MD03GAACoAAkMzE8ABAxNQAAJQA1Mz0xJQAD3QAVMiYAAVsAAwwAxV9zZWxlY3RlZD0xNRQAAEIACCQAZWl0ZW09Mg8ApGJhY2s9OCx3aW7hABIxDQACaQAhMTMOAAO0ABE5DQACqQAQNwwANGRvdzcAFTAQAAOjAAQQAAI8ABQ4DwCQdGl0bGU9MTV9"))

what I meant exactly was to upload the file /appdata/system/themes/pico8.theme :)

thanks for the code!


1

Nice! Thanks ... definitely putting this on.


3

@Kaius: Love this theme, def gonna keep this in rotation.

Also, love how easy it is to share the theme with that one-liner.

Would you (or someone) mind telling me how you got the .theme file into a b64 string? I tried doing the encoding manually, but it failed - so pretty sure I'm missing something that's built into Picotron.

Thanks in advance.


3

@Liquidream You can use the pod function to encode a POD, and then unpod to decode. When encoding, the second argument determines how it gets encoded. 7 will get you the base64 text string that we're interested in. (Notably, it's already wrapped around an unpod("...") call for you. Also, unpod seems to be smart enough to figure out the format of the POD string all by itself.)

For example, foo=pod(fetch"/system/themes/aqua.theme",7) will get a base64-encoded string of the default aqua theme into the variable foo (.theme files are really just .pod files under a different name; try renaming a .theme file into a .pod file, and then double-click it in the filenav to open it in the podtree app). After that, you can then type print(foo) into the terminal to see the string, and then copy it to your clipboard with set_clipboard(foo)!

For more information, see the HTML document detailing PODs.


2

@Kaius:That's perfect - thanks for taking the time to provide that info.
I'd yet to start playing with POD files - this all sounds very cool. 👍



[Please log in to post a comment]