Support and General Use > Theming and Appearance Customization

[320x240] Tile based main menu

<< < (2/11) > >>

Frankenpod:
Is this only relevant to touchscreen devices?  Can't really tell from the documentation on the custom WPS page, but seems, intuitively, as if tiles would only make sense in that case.  Unless there's actually something implemented to make the button controls (and clickwheel) move the focus around a tile interface rather than a list menu?

If it's only for touchscreens, that's probably part of the reason why no themes have been written for it, as the majority of themes are not intended for touchscreens.

If it does work for non-touch devices, you (millim) could try writing a theme to use it.  I'm now considering giving it a go, though I can't, at first glance, make a lot of sense out of the linked bit of WPS documentation.

millim:
Hello Frankenpod!

It makes a lot of sense what you are stating. I think it's not necessarily to be a touch screen. To navigate, left, right, up down or even click wheel would work to navigate through the tile grid. I just want to reach my goal right away, that's why I am asking for already available features of the code requiring minimum effort on changes.

The idea of a "home screen" would be as follows: One could put a flexible number of apps onto the home screen (like on today's mobiles). It is more or less a quick launch screen. With the left, right, up down or even click wheel one could navigate from one app to another (so focus is moving). Two custom bitmaps per app are used to show focus/non-focus behavior (could be general skin style). By clicking select, the app holding focus is executed. So, one could put favorite games, viewers or plugins onto this "home screen". It is not so much different to a standard main menu list, it's custom and 2D with an additional "special" bitmap highlighting focus. The app-list can be defined through the Themes .cfg file. On 320x240 display, 8 to 12 apps would fit, scrolling would do the rest.

If I would understand the skin_engine a bit better, or even get on speed much faster, adding this feature would be fairly easy.
Don't get me wrong, it is a cool thing, I like it. But, I think, customization on code level is not part of the architecture.

millim
 

Frankenpod:
Unfortunately I really can't make head-nor-tail of the description of how to implement 'tiling' for the main menu.  Sounds as if maybe it would be possible to do it (i.e. make the menu be an N- by-M grid of just the icons, rather than the usual text menu with icons running down the left side), but I can't figure out the WPS syntax to do it.  As you say, it would be a lot easier if there were, even one existing theme that did that already. But there don't seem to be any.  Maybe nobody else could figure out the syntax either?

millim:
I think it is well documented what needs to be done here:
https://www.rockbox.org/wiki/RoadToSkinLists

The article dates back to 18 Feb 2013 (JonathanGordon), quite some time ago..
To quote with a music tile: "Talking Heads - Road to Nowhere"  ;)

millim

ginkgo:
Hi millim, I've been designing a theme for the Fiio M3K and have been able to create a tiled main menu (using the instructions on this page https://www.rockbox.org/wiki/CustomWPS#Drawing_the_lists_using_a_skin). The example given on that page for using the skin list doesn't use tiling and is a little cryptic but after fiddling it is easy enough. I've attached a screenshot of the theme so far.

To make a tiled style interface you need to set a %Vi (ui viewport) tag, then use an %Lb tag with a labelled viewport (%Vl) to fill the ui viewport with copies of the labelled viewport. I've included some of my .sbs file to demonstrate below. To make the buttons display, I used a bitmap strip.
 
%Vi(-,0,20,-,-,1) # ui viewport

# if we are on the main screen, draw the list using viewport 'main'
%?if(%cs, =, 1)<%Lb(main,120,90,tile)%Vd(titlebar)>

# main viewport
%Vl(main,0,0,120,90,1) # the coordinates here are relative to the %Lb's width and height
%xl(M,mainmenu.bmp,0,0,8) # normal icons
%xl(S,mainmenu-sel.bmp,0,0,8) # selected icons
%?Lc<%xd(S, %LN)|%xd(M, %LN)> # highlights selected icons

# shows the list items title at the bottom of the screen
%Vl(titlebar,0,280,-,-,1)
%s%ac%LT

It's also possible to style the other menus like this, like the settings menu and so on.

I hope you find this helpful, if you need any clarification feel free to reply and I will try to help out.

ginkgo

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version