[Release] Theme Manager Ex and Extended Themes

HENkaku the homebrew enabler. Hacks, Mods, Games, Emulators & Homebrew
Post Reply
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

[Release] Theme Manager Ex and Extended Themes

Post by kylon » Thu Feb 23, 2017 9:13 am

Theme Manager Ex is an advanced theme manager for PS Vita that introduces a new type of custom themes: extended themes.

Updated

adrenaline 6+ support (removed old adrenaline)
remove touch controls
dynamic menu
add a debug build (ship log plugin is required, no need for the app)
fix triggers error, no need to disable them. (should improve stability
and prevent possible database errors)
lots of fixes and improvements
more... I don t remember

wiki is up to date

Features:
* Manage your themes
* Apply and unset Official themes
* Apply and unset Custom themes
* Supports Extended Themes

Controls:
Up, Down, Left, Right to select an element.
Triangle to open the menu.
Circle to go back.
Cross to accept/enter.
Square to apply a theme.

Here the first Extended Theme as sample for you to build cool themes. (Place thmx-preview in your theme folder)
https://bitbucket.org/kylon/extended-themes/src

defaultex is a special theme to recover your live area if something wrong happens.

Theme Manager Ex Wiki - All the info you need to build extended themes.
https://bitbucket.org/kylon/theme-manag ... /wiki/Home

Download
https://bitbucket.org/kylon/theme-manag ... downloads/

Sources
https://bitbucket.org/kylon/theme-manag ... rc/master/


Extended Themes give you the ability to :
*) Customize icons of ANY app (system/games/homebrews)
*) Customize the live area (background and startup/gate) of ANY app (system/games/homebrews)
*) Customize the live area frames (text and images in the live area) of ANY app (system/games/homebrews)
*) Customize the splash screen and the title color of ANY app that support them. (Usually system apps)
*) Customize Adrenaline without messing with IDs or dds!

Theme Manager Ex will do the hard work for you!
No need to mess with ur0 or system files!

Extended themes are "backward compatible". You can apply them from the settings app and the extended resources will be ignored!


Here an exaple:
2017-02-22-092551.jpg
2017-02-22-092551.jpg (83.76 KiB) Viewed 29321 times
1zgcps0.jpg
1zgcps0.jpg (50.92 KiB) Viewed 29321 times

About official firmwares
Please note that to unset an extended theme you NEED Theme Manager Ex, thus an Henkaku enabled device!
If you apply an Extended Theme with Theme Manager Ex, system resources may change, and this means that you cannot restore them in an official firmware unless you reinstall the fw itself!
You can safely apply Extended Themes from the Settings App if are using an official fw.

Credits
Team Molecule: Henkaku
Xerpi: vita2d
xyz: Sqlite3
TheFlow: VitaShell code
All iirc members for the help
Last edited by kylon on Mon Sep 10, 2018 5:15 pm, edited 3 times in total.
Berion
Junior Member
Posts: 3
Joined: Wed Feb 22, 2017 12:36 pm

Re: [Release] Theme Manager Ex and Extended Themes

Post by Berion » Thu Feb 23, 2017 2:18 pm

It looks like that this is exactly what I need. A really nice idea! I didn't trying it yet but I'm interesting to "port" Phalaris Nebula/Rebugification + appmeta into "extended theme".

I have read wiki/faq and in my opinion special parrams in XML nodes are not well explained. But maybe all will be clear when I check this myself.

Would be great if You attached there an example (I know that You listed files tree example, extended theme xml etc. but files ready to import on PSV will be a good idea (as a some kind "template skin")).

Are You editing only app database or also replacing files on "ur0:/" or somewhere else in systems partitions? Would be perfect if everything could be done only in database.

Why You suggesting bg and preview bitmaps should have such strange resolutions? In example: 960x512 (why not native resolution in this case?).


Thank You for Your time and effort.
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

Re: [Release] Theme Manager Ex and Extended Themes

Post by kylon » Thu Feb 23, 2017 4:30 pm

hi,

i ll add more info about every param, thanks
i ll also add a link to thmx-preview in the wiki.

thmx-preview and disaster are extended themes, you can try to use them as sample until the wiki is updated :)
any suggestion is appreciated.

the app.db is used for:
*) App icons
*) live area styles (pspemu, a1 etc...)
*) title colors (if any)
*) templates (ie live area frames)

Background images, startup images and splash screens are replaced in their respective path (ur0 or vs0).
I found no way to override bg and startup in app.db because the vita does not read the database to load these resources, it seems that it only read the database when you delete the app to find the resources and delete them.

resources in ur0 are an encrypted copy of ux0:app/AppID

splash image path is fixed, no way to add a custom path (unless you edit the app itself)

thmx will keep a trace of these changes (app.db and files) to restore the original resources (in ux0:data)

i will also add this to the wiki.

about image size, i used an official theme as base.
These are the sizes i found on all my official themes so i adjusted my app for them, but thmx also supports other sizes.
i ll add them to the wiki

i ll take a look at apps with empty live area, thanks
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

Re: [Release] Theme Manager Ex and Extended Themes

Post by kylon » Fri Feb 24, 2017 10:50 am

Wiki and app updated

Added support for apps with an empty live area.
Berion
Junior Member
Posts: 3
Joined: Wed Feb 22, 2017 12:36 pm

Re: [Release] Theme Manager Ex and Extended Themes

Post by Berion » Fri Feb 24, 2017 8:29 pm

Thanks for answer and for update.
Do NOT add comments before the xml declaration.
But why? I love comments because they helping me back to script after long time of period. Seriously. Example:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<theme format="kk-ex" version="1.0" unsafe="1">
    <!-- missing Live Area icons in "normal theme" -->
    <m_store override-livearea="true">icon_pss.png</m_store>
	 <m_signup override-livearea="true">icon_sen.png</m_signup>
    <m_psmdev override-livearea="true">icon_psm.png</m_psmdev>
    <m_psmdevu override-livearea="true">icon_unity.png</m_psmdevu>
    <m_pkginst override-livearea="true" style="psmobile">icon_pkg.png</m_pkginst>
    <m_wkpark override-livearea="true">icon_welcome.png</m_wkpark>
	 <m_NPXS10093 override-livearea="true">icon_topics.png</m_NPXS10093> <!-- ? -->

	 <!-- special icons in "extended theme" -->
    <m_thmx override-livearea="true">icon_thmx.png</m_thmx>
    <m_adrenaline override-livearea="true" style="psmobile" install-template="true">icon_adrenaline.png</m_adrenaline>

	 <!-- homebrew apps -->
	 <m_DUMP0900D install-livearea="true" install-template="true" style="a4">icon0.png</m_DUMP0900D>
	 <m_MAIM00001 override-livearea="true">icon0.png</m_MAIM00001>
	 <m_MLCL00001 override-livearea="true">icon0.png</m_MLCL00001>
</theme>
Or You just refer to <?xml />
?

So. Another few questions: :)

1. Have sequence of params in childnode is importnant?

2. Could You add also param to override TITLE from param.sfo? In example HENkaku Offline Installer comes with name "offlineinstaller" which I don't like, and to change it I must repacked and reinstalled VPK with modified param.sfo. It's nothing really important of course but this would be nice feature. ^^"

3. When I choose install-livearea, Your app will write into database all files inside content? Because, You know, in template.xml developer can define his own filenames for in example web link (just like did it Team Molecule in Molecular Shell). Or maybe all of them I should place in /custom folder?

4. I'm not sure if understand this fully:
The path of the icon MUST start with deviceName:/.
deviceName: is an invalid path!
So it's not sufficient to write only file name of icon? In example:

Code: Select all

<m_MAIM00001 override-livearea="true">icon0.png</m_MAIM00001>
Or You just explained how it looks like in database?

That's all for now. I know it's a lot of questions but I cannot check this myself until I get back my console from girlfriend, and also cannot resist to start digging around this. ;p
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

Re: [Release] Theme Manager Ex and Extended Themes

Post by kylon » Sat Feb 25, 2017 9:04 am

You can add comments.
This is the xml declaration: <?xml version="1.0" encoding="utf-8"?>

something like this:

Code: Select all

<!-- Comments.......... -->
<?xml version="1.0" encoding="utf-8"?>
should be avoided, everything else is ok.

1. Have sequence of params in childnode is importnant?
Can you explain?
An order?
If yes, no, there s no particular order.


2)
I thought about this, but it is not exactly tied to themes, i mean, what if i choose a title for my app and every theme changes it?
This thing could make devs unhappy.


3)
Install-livearea works like override-livearea but a few extra steps are needed.
All the images go in contents, like an override, but you need to rename them to bg.png and startup.png (to keep things easier for everyone)
Thmx will write a new row in the database to tell the system that this app has a live area now.

the custom folder is used for custom templates, you place there any additional image with any name.
An example here:
Near custom template

I m using the custom folder because near does not have any image in its template, so i m adding a brand new image.

the custom folder serves the purpose of keeping your system partition clean if you add extra images.
this way it is easier to delete them when you unset a theme.

4)
The "under the hood" page explains how thmx works and how you can do these things manually.
Everything there is done by thmx.

can t wait to see your extended theme :D
User avatar
Freakler
Site Admin
Posts: 171
Joined: Mon Feb 17, 2014 6:37 am
Location: Germany
Contact:

Re: [Release] Theme Manager Ex and Extended Themes

Post by Freakler » Wed Mar 01, 2017 11:08 am

Hey there! Firstly I really like the idea and great work with the app so far!

Now I noticed (since I didn't have any themes installed at all on that vita) the app won't start. Maybe you want to add a check for the ux0:theme folder and simply create it yourself if it isn't there.

It also took me quite some time to figure out how to install a theme. I always wanted to do that inside the actual theme to select and the THMX option wouldn't work. Maybe a message that a particular theme is not installed yet would be great. Or grey it out or something.

And lastly while installing it said something like backup directory not writeable multiple times.

(just reporting my experience here)

Greetings :)
Kingskidd268
Junior Member
Posts: 1
Joined: Sat Oct 01, 2016 5:52 am

Re: [Release] Theme Manager Ex and Extended Themes

Post by Kingskidd268 » Wed Mar 01, 2017 10:17 pm

Freakler wrote:Hey there! Firstly I really like the idea and great work with the app so far!

Now I noticed (since I didn't have any themes installed at all on that vita) the app won't start. Maybe you want to add a check for the ux0:theme folder and simply create it yourself if it isn't there.

It also took me quite some time to figure out how to install a theme. I always wanted to do that inside the actual theme to select and the THMX option wouldn't work. Maybe a message that a particular theme is not installed yet would be great. Or grey it out or something.

And lastly while installing it said something like backup directory not writeable multiple times.

(just reporting my experience here)

Greetings :)
You would have to copy your theme folder from vs0:data/intenral in there there is the theme folder. copy to ux0: then start the app.
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

Re: [Release] Theme Manager Ex and Extended Themes

Post by kylon » Wed Mar 01, 2017 11:46 pm

wow, a lot of things xD

thanks for your report.

new version is up.

Code: Select all

Now I noticed (since I didn't have any themes installed at all on that vita) the app won't start. Maybe you want to add a check for the ux0:theme folder and simply create it yourself if it isn't there.
forgot about that, thanks

Code: Select all

It also took me quite some time to figure out how to install a theme. I always wanted to do that inside the actual theme to select and the THMX option wouldn't work. Maybe a message that a particular theme is not installed yet would be great. Or grey it out or something.
i m sorry to hear that.

You can find the install option in main screen, it s a batch install.
You can find all the options here:
https://bitbucket.org/kylon/theme-manag ... %20Details

I can add a per theme install option if you need it.

Themes that are not installed yet have a black title and a message "This theme is not installed" will replace the "select" button in the theme page. (see screens)
Thmx will mark a theme as installed when an entry in your database is found.

about THMX mode, it seems fine here. working with installed and not yet installed themes.
Thmx mode does nothing for extended themes, because they already are extended. (THMX Mode "converts" standard themes to extended themes)
Maybe i should hide it for extended themes, i ll update my menu code.

bad quality, i know :\
2017-03-01-233136.jpg
2017-03-01-233136.jpg (65.82 KiB) Viewed 28389 times
2017-03-01-233131.jpg
2017-03-01-233131.jpg (49.29 KiB) Viewed 28389 times

Code: Select all

And lastly while installing it said something like backup directory not writeable multiple times.
Oops, debug leftover, sorry


please let me know if you encounter more problems, also paste a link to theme and steps to reproduce the error so i can quickly make a fix

thank you for your kind contribution :)
kylon
Junior Member
Posts: 12
Joined: Thu Feb 23, 2017 8:57 am

Theme Manager Ex update

Post by kylon » Mon Sep 10, 2018 5:28 pm

Updated

adrenaline 6+ support (removed old adrenaline)
remove touch controls
dynamic menu
add a debug build (shiplog plugin is required, no need for the app)
fix triggers error, no need to disable them. (should improve stability
and prevent possible database errors)
lots of fixes and improvements
more...i don t remember

wiki is up to date
Post Reply