Custom Themes Manager
Preview Status
Active Active
PlayStation Vita (PSVita/PSV)
v4.02 (VPK)

Custom Themes Manager is a simple application for PlayStation Vita that allows you, as the name implies, to fully manage your Custom Themes direcly from the console. The user can browse, view, download and install Custom Themes from the online repository of on his PSVita directly from the same application, without the need to use the Internet Browser, external apps or mods to the database or to connect the console to a PC. This application also includes a function to completely uninstall any Custom Theme you don't like anymore so as to free up space for new themes, again without the need of a PC or having to format the whole Memory Card. Included also other useful features, such as: installing a Custom Theme from a local folder of your Memory Card, creating and restoring (in case you need) a backup of your own database (app.db file), dumping an official theme to a local folder, checking for updates available for any Custom Theme in the online repository, applying a theme without the need to go in the Settings app manually or choosing what partition to use to install the Custom Themes files. Finally, the application also includes a handy function to reboot your PSVita, saving you the trouble to manually shutdown and restart it, useful to correctly apply changes and avoid any bug after Custom Theme(s) installation or uninstallation.

Here you can find some screenshots of this app and its features (click on them to see the full size):

The application is provided in the VPK format so it can be easily installed thanks to Henkaku/h-encore and VitaShell.

Important note: starting with Henkaku R7 to install and use this homebrew you need to enable the option for “unsafe homebrew” inside the Henkaku new settings menu. This is necessary because this homebrew needs to access and write in to the PSVita database (located at ur0:shell/db/app.db) to install and delete custom themes. And for the Henkaku new policies all the homebrews that have access to partitions different from ux0:data, app0: and savedata0: are considered “unsafe”.

To do that just go into Settings and choose the voice HENkaku Settings:

Now just enable the option Enable Unsafe Homebrew:

To apply changes you need to reboot your PSVita by choosing the Reboot device option from the same menu:

Starting from v3.00 you can translate the application in your favorite language! Just download the default strings file from here, edit it by translating the strings in your favorite language and then put it in the root of the Memory Card (so at the address ux0:ctm.txt). The program at startup will search for this file and will load its strings from there.

Starting from v4.00 you can download from PC all the preview images of the online repository and import them in the application's cache, so as to speed up the navigation in the repository menu from the app and avoid to download hundreds of images files individually from the application. All you need to do is:

  1. Unrar the archive on your PC
  2. Move the ctm folder (that was inside the RAR package) on your PSVita Memory Card in the ux0 partition, so as to have the path ux0:ctm
  3. Run Custom Themes Manager from your PSVita
  4. Go into the “Download and install a new Custom Theme from the online repository” menu
  5. Now press L+START to start importing all the files

The procedure will take a long time (there are more than a thousand files to move!).

You can report any bugs or issues, as well as suggestions for enhancements and proposals, using the project's official page on BitBucket.

Important notes:

  • In case of corruption of any downloaded image you can use the specific option to clear the cache so as to delete any corrupted files.
  • If you get C2-18228-1 error while upgrading then just delete the ux0:/PATCH/CTMANAGER folder manually.
  • Fixed a bug introduced in v4.01 that caused the application to crash when trying to access the Cache and DB backups management menu
  • Fixed the function to download from the online repository: all the addresses pointing to the old domain ( of the repository have been replaced with the new working one (
  • Removed the auto-update function of the app as it was completely broken. Besides quick bugfixes like this one, it's unlikely there will be further updates in the future for this application, so it wasn't worth spending time to fix it.
  • Compiled with the latest VitaSDK version available.

First of all, let me to apologize with you: this v4.00 was ready since the introduction of the validation score in the online repository (this means since the end of October ^^') but unfortunately for several reasons and omissions on my part it has remained in oblivion until today. In the last months, then, I noticed again a significant increasement of the interest for custom themes (certainly due to the release of h-encore) in the online repository and so I remembered that there still was this v4.00 to be released and, well, what better time to release it if not now? And so here we are xD

Because it's been a long time since when I introduced the various changes, there may be something else I do not remember now, so please consider the following list just as a “summary” indication of the major new features in this v4.00 and have fun exploring the app to discover the other minor new features:

  • Now after a (successfull) installation of a custom theme the application will return to the repository menu (and not to the main menu like in the previous version).
  • Added a check at startup that will warn the user if the henkaku safe mode is enabled.
  • Fixed a bug in the function to check for the available space before to extract the custom themes ZIP files.
  • Changed the preview screen of the uninstallation menu, now the size value will appear together with custom theme's data (and not under the preview images like in the previous version).
  • Changed and shortened the message in the cache menu screen.
  • Added a new function to dump the current official theme in a folder (so as you can use it just as a normal custom theme in the future).
  • Added a new function to set the partition to use for installations.
  • Rewritten the general code to support other partitions besides ux0 (specifically ur0 and uma0).
  • Added a function to save (and load at startup) the user's choices for partition to use and BGM playing status.
  • Any opened footer (with commands list) will be closed automatically when the user returns to the main menu.
  • Added a new function to check for new versions of the custom themes in the online repository.
  • Added a new function to look for a match between the installed custom themes and those ones in the online repository (useful to check for any new version available for it).
  • Added a new sort choice (by validation score) in the repository menu.
  • Added the validation score inside the custom theme's data in the preview screen in the repository menu.
  • Added a command to open the web browser to view the detailed validation report for any custom theme in the repository menu.
  • Added a new function in the main menu that will open the theme settings, so that the user can now apply a theme directly from the app (without the need to go into the PSVita Settings menu manually).
  • Fixed a bug with the view of the version value of the custom theme in the uninstallation menu.
  • Added a new command to jump to a specific page in the repository menu.
  • Now if the upgrade function of the app can not find Molecularshell installed then it will use Vitashell instead.
  • Fixed a bug that did not allow to uninstall any custom theme with an apostrophe in its title.
  • Added the possibility to import the preview images from the ux0:ctm folder instead to download them from the internet.
  • Now if the application can not download the image previews then it will show a placeholder image at their place: thanks to this fix you'll can browse and download custom themes from the online repository even when imgur has issues.
  • Compiled with the latest VitaSDK version available.

Since this time the changelog is very copious, I decided to split it based on the 4 main menus of the program: online repository, local installation, uninstallation and DB/cache cleaning/backup.

Online repository menu:

  • Added a new display mode for online repository custom themes. The new display mode is called “mini-grid” and will show 20 custom themes per page. In this way to navigate through the available custom themes and find what you are searching for will be faster and easier.
  • Added a new feature that saves the last custom theme you saw in the online repository browser. In this way, when you'll access the online repository menu again, a “new” icon will appear on all the new custom themes inserted in the online repository from your last visit.
  • Added in the online repository menu a new popup menu that will allow you to choose what display mode to use between the 3 available (list, grid and mini-grid).
  • Added a percentage in the screen that appears when you download (or load) the preview images of the custom themes in the online repository browser.
  • The function to download all the previews of the custom themes in the online repository menu will now dowload only the missing files (without downloading and overwriting the already existent ones). In this way the procedure (after the first run) is faster.
  • Fixed a bug that did not center correctly the sort order popup menu in the online repository menu.
  • Fixed a bug that loaded again the preview images of the custom themes in the online repository menu when the user changed the page even if it was already on the first or on the last page.
  • Fixed a bug in the online repository menu that did not disable touch screen usage when switching from grid to list display mode.
  • Fixed a serious bug in the online repository menu that could bring the custom themes list over the number of pages actually available causing obvious graphics and memory glitch.

Local installation menu:

  • Added a new feature into the installation from a local folder menu that allows you to install in batch all the available custom theme folders without the need to select them one by one.
  • The list of folders into the installation from a local folder menu is now sorted in alphabetical order (useful to find a specific custom theme when there are many folders).
  • Fixed a bug that happened when you started the batch installation of custom themes and there was no available folder.

Uninstallation menu:

  • Added a batch mode to the uninstallation menu: the user can now select multiple custom themes (or even all) and uninstall them in batch with just one tap!
  • Added a new warning screen when batch mode is selected: the user will be notified of how many custom themes the uninstallation will apply to and ask the user for permission to proceed.
  • Added a percentage in the loading screen of currently installed custom themes. This to avoid that the PSVita could seem freezed when there are dozens of custom themes installed to load.
  • Added the ability to sort custom themes in the uninstallation menu: the user can now choose from 5 different sort orders (by title, by author, by size, by folder name and by installation date), so to find a specific custom theme will be even easier now.
  • Added a new feature that deletes data of a custom theme only from the database, keeping their files on the Memory Card (useful for future re-installations).
  • Added in the uninstallation menu the ability to change the custom theme that is currently displayed directly from its info screen (without the need to return to the list like it was in the past).
  • Redesigned, in the uninstallation menu, the info screen about the installed custom theme: now you will also see information about title and version of the custom theme and the command list will now be a popup menu.
  • Modified the uninstallation menu screen: now the installed custom themes list will cover the entire screen and the command list will now be a popup menu.
  • Fixed a bug in the uninstallation menu that did not correctly display the error screen if an error occurred.
  • Fixed a serious bug that did not properly release resources when the user left the uninstallation menu: in past versions this bug led the program to not load the images properly if the user came back into the uninstallation menu.
  • Fixed a bug in the uninstallation menu that in case of no items in the list it still allowed the user to start the uninstallation procedure, which obviously caused weird behavior.
  • Completely rewritten the commands in the uninstallation menu: please read the commands list again before using them because the same buttons now have very different behaviors from the past!

Cleaning/backup menu:

  • Now the cache cleaning function will no longer delete the backup of your database (app.db).
  • Added a new function to delete only the backup of your database (app.db).


  • Disabled the use of the PS button during all the operations that write into the database to avoid any corruption risk.
  • Added a screen with percentage to the batch procedures (both installation and uninstallation) to avoid that the PSVita could seem freezed.
  • Added a background music to the program.
  • Added in the main menu an option to stop (and restart) the background music.
  • Added the support for reading the strings used by the program from an external file: this means that now if you want you can translate the program by yourself in whatever language you want!
  • Updated the lists scrolling mode: now when you go back up, the selection does not stay anymore on the bottom element in the list but it moves as it should normally do.
  • Now all the variables will be cleaned when the user return to the main menu: this should avoid some latent bugs while loading images that might happen in the past versions after a deep use of the various available menus.
  • Now, instead of warning the user to avoid to press the PS button during the most risky operations, the program will automatically disable (and then renable) the use of that button (thanks to TheFlow for reporting this feature).
  • Fixed a bug that could corrupt the changelog in the application bubble menu.
  • Fixed a bug that did not disable the analog stick when the user started an operation: this in the past versions could cause the change of the selection in the list before to start the operation on it.
  • The program now uses the PVF characters set for the details about the custom themes in the online repository menu: since this new font is tighter and clearer, now there is a lower risk of shrinking the text to fit the screen width limits and so users can read the longer strings better.
  • Removed the GekiHEN splash screen and its waiting for a few seconds at startup: now as soon as you start the application you will be immediately directed to its main menu.
  • Recompiled with the latest VitaSDK version available.

Finally, you can find some screenshots that show some of the new features introduced in this v3.00 (click on them to see them at full size):

  • Added a new menu to install a Custom Theme from a local folder already existing on the Memory Card:

    I chose the ux0:customtheme/ path because if you have to rebuild the database and so lose all your Custom Themes, in this way you'll can reinstall them again in no time.
    Please note also that the folders must have the theme.xml file inside them (but not in other subfolders) to be detected by this function.
  • Added a function to let the user to search for any keyword inside title, author or description of the Custom Themes in the online repository:

  • Added a function to sort the Custom Themes in the online repository.
  • Added an on-screen menu where the user can choose how to sort the Custom Themes in the online repository, such as by title, author, date or downloads number:
  • Added a function to search for available updates directly inside the app (press SELECT on main menu).
  • Added a function to download any available update (VPK package) directly inside the app.
  • Added a function to launch molecularShell after the download to let the user to install the VPK package of the new version.
  • Added the support for the PSVita front touchscreen in the main menu and in the online repository section.
  • Added the thumbnail preview at the info screen before writing the Custom Themes' data into the database:
  • Added a check for available space on Memory Card before to download and install a new Custom Theme
  • Added a confirmation screen for the reboot option to avoid unintentional reboots:
  • Added the downloads number in the Custom Theme's details page of the online repository:
  • Fixed the “Unknown error code” message for network errors: now the proper description of the error should be displayed.
  • Fixed a bug that returned to main menu instead of to the repository section when the user canceled the procedure to download all the preview images of the Custom Themes available
  • Fixed a bug that removed some info/warning screens too quickly if the user kept pressed any button.
  • Fixed a bug with the ZIP extraction function when did not exist the ux0:customtheme/ folder.
  • To Hackinformer and its staff because they introduced me into the PSVita hacking world and specially into that of Custom Themes
  • To Team Molecule for HENkaku
  • To xerpi for libvita2d
  • To Rinnegatamante for providing me a compiled and working sqlite3 library file.
  • To Freakler, TheFlow and people that wrote the vitasdk samples because I learned a lot by analyzing their code.
  • To all the guys of #vitasdk on FreeNode IRC for their answers to my doubts.