Notices


Reply
Thread Tools
Nathraiben's Avatar
Posts: 267 | Thanked: 408 times | Joined on May 2010 @ Austria
#1
[Spiffy Advertisement Line]Turn your application menu from this

to this

with three easy to follow steps![/Spiffy Advertisement Line]

Based on the concepts described in the Making folders and managing icons thread, ApMeFo is trying to automate the process that makes it possible to organise the application menu in custom made folders.


Warnings:

Disclaimer Pt 1: To activate the Application Menu Folder functionality an integral system file has to be modified (hildon.menu). Corruption of this file will lead to hildon (the graphical framework of Maemo) no longer working. Though ApMeFo SHOULD be save to use, you're trying this at your own risk.

In the unlikely event that hildon gets messed up, please refer to this post: http://talk.maemo.org/showpost.php?p...&postcount=108

Disclaimer Pt 2: None of the concepts behind this application were created by me - I only collected the information provided by the kind people of aforementioned thread, compiled them into a simple tutorial and then created ApMeFo to automate the process. Big thanks to all the people out there that helped demystify hildon and of course to those who helped me get this beta up and running.

Disclaimer Pt 3: Currently, ApMeFo is meant to be used with PR 1.2 on the N900, mainly because that's the device I'm working (and can thus test) with. I don't have any information on whether this works on other versions and other devices - but of course would be happy to hear about other people's experiences with them!




Another note on corrupted hildon.menu files:

Pressing the Deactivate button in the (De-)Activate tab will delete the hildon.menu file - which will then automatically be replaced by the default. It's a nifty failback system native to hildon already.

So to play it save, just don't close the application until you affirmed that your application menu is still working and after hitting Deactivate everything should be fine again.

(When I manually messed up my hildon.menu, all running applications where still fully functional - I could just not start any new.)


Instructions:

Right now this is just a beta version and lacking both user and code documentation, so here's a short explanation of how it works:
  • All the changes made to your system will be invisible as long as ApMeFo is deactivated (and, unless you already created a hildon.menu file according to my tutorial, this is the default).

    So before you start creating your folders, you might want to go to the (De-)Activate tab and hit the Active button. If everything worked as it should, your applications menu should stay the same, as we didn't yet create any folders.

  • To create a new folder, go to the Create/Edit tab and enter the name of your folder.

    Then select an icon to go with it. If you already know the name of the icon, simply enter it (without the trailing extension, so "filemanager_games_folder" instead of "filemanager_games_folder.png"), else you can select one from the popup list the button next to the input field opens. Note that because of the multitude of icons to load, this might take a couple of seconds to load.

    Hit Create/Edit and open your application menu to check for your newly created folder.

  • To edit the icon of an existing folder, simply enter it's name or select it from the popup list (similar to the icon list), then choose an icon and hit Create/Edit again. Opening the application menu should now display the new icon for your folder.

  • To delete a folder (and move it's otherwise unallocated content back to the main menu), simply go to the Delete tab, select the name of the folder from the list and hit Delete Folder.

  • The Add Apps tab will let you add any of the available applications to one of your folders - or remove them and put them back into the main menu.

    First, choose your folder and wait for it's current content to display in the list underneath it's name.

    To remove one of the applications, select it from this list and hit the "-" button. To add one, hit the "+" button and select it from the popup list.

    To change the position of an application within this folder, simply select it and hit ^ (move up) or v (move down).

    Hit Update Folder in order to save your changes.


Troubleshooting:

If you encounter any problems with using ApMeFo, please choose "Diagnosis Tool" from the ApMeFo menu, hit "Copy to Clipboard" and paste the output here in this thread with a short description of your problem.

Advanced users might also go for a more complete error message by opening X Terminal, entering
Code:
python /opt/ApMeFo/Main.py
and trying the operation in question again. If there's any output in your X Terminal, please post it here.

Right now this application can be found at extra-devel under the name "apmefo".


Changelog:

v 0.9-6:
  • Add compatibility with Catorise. Both applications can now be installed next to each other without either one messing up the other. To switch between them, simply choose Activate or Deactivate from within ApMeFo.
  • Addes support for UTF-8 folder names. Not that non-Ascii characters will be replace by "-" in filenames only (.menu and .directory files).
  • Applications names are now displayed in their localised versions.
  • Most icons should be displayed next to their applications now. Some applications use rather exotic places to store their icons, though - those might not be visible in the application list.
  • UTF-8 application names will no longer result in the application to be absent from the application list.
  • Applications set to NonDisplay or not set to Type=Application should no longer be visible in the application list.
  • Applications represented by a symlink .desktop file should now display correctly in the application list.

v 0.9-5:
  • Folder and application list are now sorted alphabetically (Unix style - so expect "a" to be somewhere after "Z"!).
  • Applications can now be multi-selected in the list.
  • Applications can now be re-arranged within their folder. Select any application in the (non-popup) list and then hit "^" or "v" to move it up or down.
  • If you manually edit your .menu files, ApMeFo should no longer override your Exclude-entries.
  • Couple of minor fixes have been included.

v 0.9-4:
  • Readme has been relocated to the menu bar
  • Instead, (De-)Activate is the first tab now
  • The link provided in the warning text is now clickable
  • Diagnosis Tool has been added to the menu bar

v 0.9-3:
  • Creating new folders should work now. Submenus directory is getting created in case it's missing.

v 0.9-2:
  • Fixed .desktop file
  • Fixed opening existing folders in the Create/Edit tab

v 0.9-1:
  • Initial release

Attachments:

Most of the icons in the above screenshot are vanilla Maemo icons. I've attached the three that are not to this post so everybody can recreate the screenshot by copying those items to their "home/user/.local/share/icons/hicolor/48x48/hildon/", rebooting and then selecting those icons from within ApMeFo.
Attached Images
   

Last edited by Nathraiben; 2010-07-05 at 15:12. Reason: build 6
 

The Following 79 Users Say Thank You to Nathraiben For This Useful Post:
Posts: 291 | Thanked: 313 times | Joined on May 2010 @ France
#2
Great !!! keep the work !

This is an essential application for N900 users
 

The Following User Says Thank You to dtergens For This Useful Post:
pantera1989's Avatar
Posts: 577 | Thanked: 699 times | Joined on Feb 2010 @ Malta
#3
I would LOVE this application. But trackercfg has an option restore the default file it edits. Could something similar be implemented here, where the original file is backupped? In case of the worst?
__________________
ford
 
Posts: 729 | Thanked: 155 times | Joined on Dec 2009
#4
Is it safe to install it while Catorise is already installed (could we use ApMeFo to edit the structure from Catorise)?
 
Nathraiben's Avatar
Posts: 267 | Thanked: 408 times | Joined on May 2010 @ Austria
#5
Thanks for bringing this up, pantera1989!

Pressing the Deactivate button in the (De-)Activate tab will delete the hildon.menu file - which will then automatically be replaced by the default hildon.menu file. It's a nifty failback system native to hildon already.

So to play it save, just don't close the application until you affirmed that your application menu is still working and everything should be fine.
(When I manually messed up my hildon.menu, all running applications where still fully functional - I could just not start any new.)

Thanks again, I'll add that to the first post.
 

The Following 2 Users Say Thank You to Nathraiben For This Useful Post:
Nathraiben's Avatar
Posts: 267 | Thanked: 408 times | Joined on May 2010 @ Austria
#6
Originally Posted by DaSilva View Post
Is it safe to install it while Catorise is already installed (could we use ApMeFo to edit the structure from Catorise)?
To be true, I don't know since I never installed Catorise myself. I don't know how it works, but if it also modifies hildon.menu, both applications would most definitely clash.

(That is, most probably nothing bad would be happening - you would just loose the functionality of the one that was used first.)

I'll give this a try later - no need to mess up your device when I can do so with my own.

[Edit]Okay, did take a look at the source files, and it IS using hildon.menu, too - so both applications would most probably just override each other.

I was planning to implementing this system in one of the future releases, but what I can tell from the Catorise source (which isn't much since I never could warm up to Perl ), Catorise seems to be more powerful on that account.

I'll keep you up to date on that - maybe, after installing it, I might be able to find a way to simply incorporate the files created by Catorise.

Last edited by Nathraiben; 2010-06-22 at 18:42.
 

The Following User Says Thank You to Nathraiben For This Useful Post:
albertozerox's Avatar
Posts: 19 | Thanked: 1 time | Joined on Jun 2010 @ Sevilla
#7
I installed the 0.9-2 and the icon open the app. Click on Create / Edit folder and the message goes out as if it had been created, go to Add Apps tab, select an application and update any folder, just missing the tab (De-) Activate and active and all that happens is that arrange icons in alphabetical order

You know what?
 
pantera1989's Avatar
Posts: 577 | Thanked: 699 times | Joined on Feb 2010 @ Malta
#8
I have the following feedback for you after playing around with the application.

First of all the application did not work. I think it's permissions like you said. Here is the output:

Code:
~ $ python /opt/ApMeFo/Main.py
Traceback (most recent call last):
  File "/opt/ApMeFo/ui/appFolders.py", line 174, in on_btnAddNameSelect_released
    self.mainApp.foldercontent.setFolder(str(filename))
  File "/opt/ApMeFo/classes/folderContent.py", line 35, in setFolder
    menuFile = open(menuFileName,  "r")
IOError: [Errno 2] No such file or directory: PyQt4.QtCore.QString(u'/home/user/.config/menus/submenus/Games.menu')
Traceback (most recent call last):
  File "/opt/ApMeFo/ui/appFolders.py", line 163, in on_btnUpdate_released
    self.mainApp.foldercontent.updateFolder()
  File "/opt/ApMeFo/classes/folderContent.py", line 63, in updateFolder
    includeNode = self.xmlTree.getElementsByTagName("Include")[0]
AttributeError: 'NoneType' object has no attribute 'getElementsByTagName'
Traceback (most recent call last):
  File "/opt/ApMeFo/ui/appFolders.py", line 163, in on_btnUpdate_released
    self.mainApp.foldercontent.updateFolder()
  File "/opt/ApMeFo/classes/folderContent.py", line 63, in updateFolder
    includeNode = self.xmlTree.getElementsByTagName("Include")[0]
AttributeError: 'NoneType' object has no attribute 'getElementsByTagName'
Now to feedback regarding the working app.

1. The menu that comes up each time with the apps to add is too slow. Could the content be somehow cached on the app's startup? I doubt that someone will install anything new while the app is running. This way the first time loading will take time, but further tries will be much faster.
2. Could the apps menu let you select multiple items at a time? Like some menus in the browser?
3. The apps menu should be updated. If you select an app it should be removed from the menu.
4. Could there be an option to sort alphabetically once added in the folder?
5. I used the de-activate option. It works but the device become unresponsive, forcing you to restart. Could this process be a bit more fluid?

** EDIT ** While running it from xterm as root, it still couldn't create the folder, but pressing de-activate didn't make the device unresponsive and the menu was restored.
__________________
ford

Last edited by pantera1989; 2010-06-22 at 19:14.
 
Nathraiben's Avatar
Posts: 267 | Thanked: 408 times | Joined on May 2010 @ Austria
#9
Originally Posted by albertozerox View Post
As I still work with version 0.9 to 2 and from the install icon but I think it opens a folder, select its icon and pulse Create / Edit Folder get the message as if it had been created, go to Add Apps tab , Selects an application any and pulse Update Folder, would only be entering the tab (De-) Activate and activate, as I do and the only thing that happens is that I arrange icons in alphabetical order of the menu.

You know what happens?
That sounds strange, not sure what could trigger that behaviour.

Did you get the "ApMeFo has been activated!" message after pressing the Activate button?

And do you have any other applications installed that modify the application menu (like Catorise and MyMenu)? While they modify a DIFFERENT hildon.menu, they still seem to have some sort of strange effect on ApMeFo.
 
Nathraiben's Avatar
Posts: 267 | Thanked: 408 times | Joined on May 2010 @ Austria
#10
Originally Posted by DaSilva View Post
Is it safe to install it while Catorise is already installed (could we use ApMeFo to edit the structure from Catorise)?
Short update: Installed Catorise and while it does modify hildon.menu, it uses the system-wide instead of the one in your home folder.

So, IN THEORY one could at least safely switch between both applications (deactivate ApMeFo to use Catorise, activate it to use ApMeFo). Sadly, for some strange reason some of the applications will still be displayed in the main menu despite being put in custom folders. Not sure why this happens, as the user hildon.menu should completely overrule the system-wide one.

Well, at least neither one of the two is harming the other (once I removed Catorise, ApMeFo was back to it's normal behaviour).

Oh, and it seems Catorise DOES use the system described by lemmyslender, so once it is included you could at least get similar results to Catorise. Just by far less comfortably so...
 

The Following 2 Users Say Thank You to Nathraiben For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 14:31.