After playing around with touch themes for some time, I find one thing really missing in the skin engine:
The ability to use(/define) custom tags/actions on the WPS. Having a bunch of those would allow for all kinds of cool things like popup menus, maybe different window sizes or even customization of the WPS (i.e. load a different set of images)
My main concern are the popup menus. So far, there are only 2 feasible ways of creating a popup menu and both come with big downsides:
- Using the %Tl tag, which can only be controlled with a timeout. And please correct me if I'm wrong, but there is no way to assign a specific area in which this tag works. That means the menu would pop up everytime you touch the screen anywhere, which sucks
Also, you can't close it, but have to wait until the timer runs out instead.
- Drawing the menu when playback is paused. I used this way on my first theme, because you have much more control over when the menu appears and disappears. You can add a close-button (which is nothing more than another play-button
) and then it goes away and playback starts again. The obvious downside is: You have to stop playback, which is very annoying if you're going to the file/playlist browser through that menu, because the selected song only starts playing after closing the menu
If we had some custom actions/tags, this would be no problem at all. They could work like the repmode command and %mm tag.
%Cta|2-4| defines cta (custom tag a) with 2-4 values to cycle through
%T|...|cta| cycles through the values
%?cta<...> could then be used for almost anything
I think implementing this would open up lots of possibilities for touchscreen WPS.
As I said: Popup-menus, resizable windows/menus, switching from simple to advanced mode, different image sets (a theme could come in different looks and colors, how awesome is that?) and perhaps alot more I just can't think of right now.
The only problem is - you guessed it - I can't code. That's why I hope that you'll like this idea and that maybe someone feels like coding it.
(sorry for my bad english)