About icon positioning, there's only one way to do it and that's saving each path in order, but I think it isn't that complicated.
Let's say the grid is in this order:
Code:
01 04 07 10
02 05 08 11
03 06 09 12
And we have 5 homebrew, which by default are added in order (from 1 to 5).
Now, code to generate "empty" entries should be added. Not really difficult (also make some kind of "empty" icon for them). Then we fill the grid with empty entries (so we would add 7 empty entries)
To identify an empty entry just set the executable path as NULL, or any other string of the entry, or name it "EMPTY ASDFJKABE" and use strcmp...whatever..
Since we have 12 entries, to swap them we only need a temporal entry so we can swap two entries. Coding "drag and drop" would be more difficult, but a simple button to enable swapping is way easier, i.e.:
1.- Select a homebrew, press move button. Homebrew is highlighted in some way. And entry stored as temp.
2.- Select where we want to put it. The selected entry is copied as the other entry, then we copy the stored temp entry to this one.
3.- Better if we add some kind of confirmation dialog.
For saving it, it would be just a matter of saving all entries as the path for the homebrew (blank or some kind of magic word for empty entries) in the grid order, then modify the addentry function to use those paths instead of parsing trough the directory.
It's basically what I do for favorites, but then we have the problem of homebrew being removed/added, so parsing the directory while comparing the list should be done in a optimized way to not generate slow boots if there's a lot of homebrew. A way to override this would be to either manually add them to the list, use a pc app as a way to "install" the homebrew (which would be a pain) or only reescan directory to add new entries when the user choses to do so in the config screen. Maybe simultaneously parsing the list and the directory wouldn't make a noticeable slowdown, but I don't know that.
Well, it really is a pain to implement
BTW, I havent tested yet, do pages scroll or just change when button is pressed?
EDIT: Also, why not increase font size for title and description? That would fill the top screen more, but maybe the wordwrapper function needs to be changed to take into account the new font size.
Just tested it, this is really nice, I really want to look if this would be too difficult to be integrated into my mod as an alternate view