Well, I don't have much time right now, but I'll also chime in a few things.
First: I check the tracker and fix stuff I can fix. But that's mostly for scripts, as I can't code.
All reported issues are appreciated and I fix whatever I can do, but I don't report back on these issues but just include fixes in the new Hotfixes
About usability:
Panorama and MilkyHelper are a very good start. They are working pretty good already, so I think we should work on including these into the official OS.
The biggest issue are currently the more recent QT-Libraries needed - as a workaround, we could include Panorama as PND including these libraries until DJWillis has a working .next for us
About categories:
We follow the Freedesktop-Standards, and they also allow us to create new categories.
So we're fine here. However, MiniMenu has a big flaw in the interpreation of the categories.
I already suggested to skeezix a fix for that a few months ago, but nothing happened here (no idea whether he didn't like the idea or just didn't have time, but I guess he can speak for himself here
)
Here's the issue I'm talking about:
Freedesktop categories don't always have nice names (there are names like AudioVideo, AdventureGame, etc.) - that's because they are NOT meant to be shown with these names.
For XFCE, for example, there's a config file where I can define what category shows up in what menu.
For example, I set up that the categories "Audio", "Video" and "AudioVideo" show up in a menu named "Multimedia".
This works great and unclutters the menu a lot, as you will probably never have more than 10 - 15 Multimedia-Apps on your SD Card.
MiniMenu shows these categories.
On my system, I've got a tab named "Audio", a tab named "Video" and a tab named "AudioVideo".
Each tab only has a few apps in there, which is pretty annoying.
There are 12 main categories defined in the FreeDesktop standards - so that means we'd have a maximum of 12 tabs for our stuff, which is very cluttered.
I think we should need a config file for MiniMenu as well. It could be something simple like
Code:
[AudioVideo]
Multimedia
[Audio]
Multimedia
[Video]
Multimedia
Or maybe some XML-Standard file.
But I think we really need a config file to tell MiniMenu where to sort what. I could then easily update that with firmware updates and every user could define his category-sorting himself by just changing that config file.
That's the one thing I'm missing about MiniMenu.
Now, there's another thing that annoys me with MiniMenu:
We've got libpnd that exists to create the .desktop files. That works freaking fast. If I put my SD Cards in the slot, it takes about 7 seconds and all apps are sorted in the menu.
And as libpnd works in the background, all apps are instantly in the menu, as soon as XFCE is fully loaded after a boot.
With MiniMenu, it takes about 10 - 15 seconds when I started it. And what's worse: It does that EVERYTIME I quit playing a game - which is pretty annoying when trying out new stuff.
For me, starting MiniMenu takes longer than starting a full desktop, and that defeats the purpose of MiniMenu.
As libpnd works on that stuff in the background, shouldn't it also create some Cachefile for MiniMenu, so MiniMenu wouldn't need to check for apps itself everytime?
Why is MiniMenu even checking for apps when that should be the task of libpnd?
Old things, and things I've often wanted to attack; great, good to be in allignment. But as you say, I got derailed
Category
-----------
- config file to do category mapping, sure, no problem; I didnt' get to it before because I'd already done that in the past, but then went and built the config editor menu and tossed out a bunch of the textfile config hacking options, so its sort of ugly under the hood, and I need to clean it up. (Well, a lot of mmenu code is goofy, since the original goal was.. Craig wanting a new menu in 4 days so we coudl ship, but of course our ship date sliipped and slipped.. but mmenu's fondation was really all done in 4 nights
---> so yeah, I can do this for you, not too hard.
- we did a lot of changes to mmenu for the later few hotfixes (total overhaul of a few things .. like the whole category/tab system), so I wanted to let the dust settle, and see if it was riddled with bugs or not; fortunately.. not!
- is everyone more or less happy with the look and feal? Its pretty 'rigid' (it is 'mini'menu after all, not 'bells and whistles'menu), but I think it does its job pretty well; ie: its not fancy opengl or svg-scaling or animations, but looks good for static raster artwork; renders quick! I consider the goal to be fast and efficient to use/operate, with most options available, but not everything; not infinitely flexible, but a little flexibile.
Networking:
-.. is this a prioriry, ot does anyone really care? ie: We started this road, but I got derailed. ie: given the command line tools in firmware now, I can work more on the idea of having mmenu scan for wifi networks, try to connect to them using your xfce wallet, and stuff like that; could even use tempel's pndstore API to show an icon over old apps on the display.
----> but I worry this might all be for naught, that people really ultimately donm't care? or is this out of scope for _mini_menu being mini? or is this the line .. it'd be nice to have some basic network operations in mmenu .. ie: so you could bring up network, and then run firefox pnd, without having to jump to xfce?
----> we need a vision decision here. I've sort of been going with the sassumption we want to build this stuff, and I'm starting to get free time again so I could start investigating
Caching:
- I built a preliminary cache in the past; worked good, but had some issues I forget now; I originally built it in such a way where mmenu would do its own caching, and then you could ask mmenu to refresh its cache (or it'd automatically do it once in awhile.. say once a day, or after a SD change was detected.) The problem here being.. the SD coudl be updated while the unit is off, so no way for mmenu to really know there was a change needing a refresh. So I never built this in since it was .. humm, haww, not sure
---> another option I pursued and never fleshed out (someone else di some work here, but vanished.) .. doing app caching at the libpnd level, entirely; ie: when a filename is found, check (say) its file size and if same as recorded, then skip parsing the PXML and use cached PXML and icon. Some possible error potential,since what if just the PXML version changed, but the size didn't .... I think the other fellow had some clever ideas (outside of running md5 hashes, which is slow on 10,000 apps too..) .. so maybe doing it at the mmenu level and having occasional/manual re-cache hits is fine?
libpnd:
- some fixes .. many have noticed a biug that crept in back around hf4 I think, where after running a pnd, some series of dbus entires or inotify entries is triggering libpnd to do a rescan, which means on app exit, the unit slows doen for a couple seconds while everything is checked. Sort of annoying, so I'd like to fix that
mmenu UI
- some minor changes might be nice .. improve the app-seek-on-typing behaviour, or add options; right now it jumps to letter, but could make an option so if you type 3 letters in a row, to search them as a word, not as the third letter; or perhaps do _filter_ instead of _jump_ .. if you hit 'a', have it show all that start with a, and then if you type 'b', have it show all that match ab, rather than jump at all?
--> or search mode.. s 'search tab' that could be default always on, so if you go to that tab, it has a text entry field at the top; any typing there causes an app filter to go on (ie: it acts as All tab, but with filtering.) Then leave the 'jump to letter' behavior for other tabs?
-> peca or pperu or something there (above no doubt) noted into the tracker a few scenarios needing repair
... on return to mmenu, jump to selected app (good?)
... on return up a level from within a folder, should hilight the folder (makes sense to me)
... someone started a thread on some UI decisions as a whole that shoudl be invbestigated; right now, I'm depending on folks to work thigns out and make good solid requests, that peopel geneerally agree on, as I've not the time to run info gathering sessions myself
--> edit: long filenames/advertised names.. this is a tough one; the detail panel is togglable so may not be present; could show a info-line option on the UI but woudl break all skins, and might just be ugly. Could show the full time as a floating bubble that pops up for a second when item is walked over or selected, but that soujnds liek bad UI. Theres the music app style of showing the full name in the small box provided, slowly sliding back and forth so if you stare long enough you see the whole name, or can otherwise control it with a num. Seems goofy to me, too (who wants to wait?) ... so I pondered this problem (like all of these issues
but never came up with a good idea. Problems are easy.. solutions are harder
-----> pressing a key to toggle the detail panel (already in) may be fine, but fleshign out the info in the detail panel more? Or do we really need to make the info fit.. ie: could scale the font as needed, with a minimum 'floor threshhold', so if the name is too big, scale it down to fix? (and if the name is a whole paragraph long, just truncate it, devs fault.)? That might be the way to go .. I mean, good enough for Apple etc, right?
I'm no UI expert, so not sure if these qare good or bad ideas.
There, thats my list of things I'd like to do in mmenu.
Please let us know if you think these (an an item by item basis) are good or bad. I've not the time right now to monitor all threads or run polls, so someone tell me and I can get to coding.
(keep my time useful, not farting around
jeff
edit: I always wonder what the interface divide is . ie: I rather assume its 80% peopel using xfce, since they get full options there (browser, etc), and hence more OS focus goes there? Or if mmenu is really 50% or 80% of uders, we shoudl put more attention to it (and other non-xfce UIs.)
edit: I'd put _my_ priority right now (in terms of easyness to build
... category merge/rename stuff, caching (nice and fun speedup!), simple UI stuff, then networking if wanted, then fancier UI stuff (filtering, etc.)
edit: currently libpnd has:
pnd_box_handle pnd_disco_search ( char *searchpath, char *overridespath ) {
(and also a single-file scanner variation.)
Options are to add another _caching() variation but thats goofy (new function for every scan option combination is silly); adding a global 'toggle caching' option is a little goofy, but workable; adding another search function that takes a bitmask of options could work too, something like:
pnd_box_handle pnd_disco_find ( char *searchpath, char *overridespath, unsigned int options ) // replacing deprecated _search() function
(or instead of unsigned int, a struct, or whatever.)
But maybe just easier to add a function like..
pnd_disco_set_option ( pnd_disco_enum option, void *value );
--> pnd_disco_set_option ( pds_caching, PND_DISCO_CACHE_ON )
Then pndnotifyd and mmenu could both enable that (based on config settings, so could be disabled?) and good to go..