PDA

Ver la versión completa : [TUTORIAL] Personaliza totalmente tu menu: editar el "menu.ml"



1X10N
20/11/2006, 08:10:01
Como sabreis el archivo menu.ml se encuentra en la carpeta FS/tpa/preset/system/menu/ de nuestro telefono, al cual accedemos mediante FAR Manager + SEFP, y es el encargado de manejar todo lo referente al menu y los submenus del movil. Abriendo este archivo con un editor de textos cualquiera, como puede ser el bloc de notas de windows, podreis editarlo para cambiar diferentes cosas de los menus, como se explica en los siguientes mensajes.

1X10N
20/11/2006, 08:10:32
1)Estructura del menu principal.
Nada mas abrirlo nos encontramos con esto al principio:
<?xml version="1.0" encoding ="UTF-8" standalone="yes"?>
<mml ver="1.0">
<menu id="Carola_Generic_Id">
<element id="MainMenu">
<menu id="MainMenu" layout="DesktopTopMenuGFX2">>
<accelerator>MapToKeypad</accelerator>Fijaos en lo que esta subrayado, ahi podemos poner varias cosas para cambiar la estructura del menu:
- SingleRow - 6 iconos en pantalla uno sobre otro, con las imagenes a la derecha o/y izquierda del nombre.
- TwoRowLarge - 3 iconos en pantalla uno sobre otro con las imagenes a la derecha o/y izquierda del nombre
- TwoRow - 3 iconos en pantalla uno sobre otro con las imagenes a la derecha o/y izquierda del nombre, pero con espacio entre cada icono y el siguiente. no admite imagenes tan grandes como el anterior.
- TwoRowHighlight - 5 iconos en pantalla uno sobre otro con las imagenes a la derecha o/y izquierda, el que este seleccionado ocupa el doble.
- TabMenu - es el del menu ajustes, con pestaƱas(con este me sale pantallazo blanco, haced pruebas vosotros)
- DesktopSmall - los 12 iconos en cuadricula.
- DesktopMedium - 9 iconos en pantalla en forma de cuadricula.
- DesktopFullScreen - un solo icono en pantalla, ocupando un area central de 160 x 135 (creo). Este es el que usan los menus que rulan por ahi que no son en cuadricula clasica.
- DesktopLarge - 4 iconos en pantalla en forma de cuadricula
- DesktopTopMenuGFX1 - este es el original, 12 iconos en cuadricula con el seleccionado "palpitando"

Esto no es solo para aplicarlo al menu principal, podemos hacerlo para cada submenu. Esta linea aparece para cada submenu:
<menu id="AAAAA" layout="BBBBB"> donde AAAAA es el submenu y BBBBB es el modo en el que se presenta, ponemos el que queramos de los citados arriba.
Muchas veces esa linea aparecera simplemente asi: <menu id="AAAAA"> podemos aƱadirle manualmente el "layout="BBBBB">" si queremos cambiar la estructura de ese submenu en concreto.

1X10N
20/11/2006, 08:11:05
2)Cambiar las imagenes de los iconos
A lo largo del archivo veremos varias veces esto: <!-- Desktop Element X -->, donde X va desde el 1 hasta el 12, y marca el comienzo de cada uno de los 12 iconos del menu principal. Un poco mas abajo de cada una de estas lineas veremos esto(siempre hablando del menu.ml original):
<icon pos="unselected" source="internal">AAAAA</icon>
<icon pos="selected" source="internal">BBBBB</icon>donde AAAAA y BBBBB son los nombres de los iconos de la memoria interna del movil, cuando el icono esta deseleccionado y seleccionado respectivamente. Podemos hacer que en lugar de utilizar los iconos internos del sistema utilice unas imagenes que previamente hayamos puesto en ese mismo directorio FS/tpa/preset/system/menu/ cambiando esas dos lineas por las siguientes:
<icon pos="unselected" source="file">Icon1unselected.png</icon>
<icon pos="selected" source="file">Icon1selected.png</icon>donde "icon1selected.png" y "icon1unselected.png" son las imagenes que hayamos puesto en ese direcorio y que le vayamos a poner al icono que estemos editando. Si estamos utilizando el modo "DesktopFullScreen" en el cual solo aparece un icono en pantalla, borramos la linea correspondiente al icono deseleccionado, dejando solo esta: <icon pos="selected" source="file">Icon1selected.png</icon>
El movil hasta donde yo se acepta como imagenes los formatos png, jpg y gif, pudiendo ser estos animados.
Esto es aplicable al menu y a todos los submenus, incluso podemos incluir una imagen pequeƱa al lado de cada opcion de cualqier submenu aƱadiendo esas lineas debajo del "label type" qedandonos algo asi:
<label type="name" textid="MENU_SELECT_PROFILES_TXT"/>
<icon pos="selected" source="file">selecPerfil.png</icon>
<icon pos="unselected" source="file">unselecPerfil.png</icon>
<link type="internal"/>en este caso he puesto una imagen peqeƱa al lado de "seleccionar perfil" en el menu ajustes.

1X10N
20/11/2006, 08:11:55
3)Cambiar el nombre de cada icono del menu/submenu
Tambien es posible cambiar el nombre que aparece para cada icono, pare ello buscamos el icono que queramos editar en el menu.ml, en este caso modificare el nombre del "walkman":
<!-- Desktop Element 6 -->
<element id="MediaPlayer">
<label type="name" textid="MENU_MEDIAPLAYER_TXT"/>
<icon pos="unselected" source="internal">MEDIAPLAYER_DESKTOP_ICN</icon>
<icon pos="selected" source="internal">MEDIAPLAYER_DESKTOP_SELECTED_ICN</icon>
<link type="internal"/>
</element>Fijaos en la linea subrayada, teneis que sustituirla por esta otra: <label type="name"><text>guarman</text></label> donde "guarman" es el nombre que querais ponerle a ese icono. Ahora me queda asi:
<!-- Desktop Element 6 -->
<element id="MediaPlayer">
<label type="name"><text>guarman</text></label>
<icon pos="selected" source="file">6.png</icon>
<link type="internal"/>
</element>Y en lugar de aparecerme el nombre "walkman" en el menu principal me aparece "guarman" :P. Lo podeis hacer con cada elemento del menu completo del movil, sustituyendo la linea del "label type=name". Por ejemplo, yo tengo instalado el parche blacklist, asi q tambien he editado el menu.ml de manera que ahora en ajustes->llamadas->gestionar llamadas, no me aparece "Aceptar llamadas" sino "lista negra".

1X10N
20/11/2006, 08:12:46
4)Redireccionar
Muchas veces veremos iconos que no usemos nunca, y otros que utilizamos mucho pero que no estan nada a mano. Por ejemplo, muy poca gente utiliza los dos primeros iconos del menu. Pues bien, cada icono tiene su identificador con el cual el movil sabe cual es su funcion, este identificador esta en esta linea: "<element id="CCCCC">", donde CCCCC es dicho identificador. Esta linea os la encontrareis para cada icono del menu y cada opcion del submenu, sin excepcion. Y es lo que tenemos que cambiar para redireccionar a donde queramos. Por ejemplo, voy a redireccionar el segundo icono del menu principal al calendario, para ello busco en el menu.ml cual es el identificador del calendario, y encuentro esto:
<element id="Menu_CalendarMain">
<label type="name" textid="MENU_CALE_CALENDAR_TXT"/>
<icon pos="left" source="internal">CALE_CALENDAR_MENU_ICN</icon>
<link type="internal"/>
</element>asi que el identificador del calendario es "Menu_CalendarMain". Lo sustituyo en el segundo icono del menu principal quedandome esto:
<!-- Desktop Element 2 using DESKTOP_HOOK_2 -->
<element id="Menu_CalendarMain">
<label type="name" textid="OLP_TITLE_TXT"/>
<icon pos="unselected" source="internal">DESKTOP_WAP_ICN</icon>
<icon pos="selected" source="internal">DESKTOP_WAP_SELECTED_ICN</icon>
<link type="internal"/>
</element>Ahora al acceder al segundo icono del menu principal entrare en el calendario.
Podeis hacer esto en cada elemento del menu y de todos los submenus.

Tambien podemos redireccionar directamente a una aplicacion java, para esto tenemos que abrir con un compresor en nuestro PC el archivo ".jar" de una aplicacion que tengamos instalada en el movil, una vez dentro veremos una carpeta llamada "META-INF" y dentro un archivo "MANIFEST.MF", el cual abrimos con cualquier editor de textos, nos saldra algo asi:
Manifest-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-Name: Opera Mini
MIDlet-Install-Notify: http://mini.opera.com/notify/1.1.2421/hifi_nordic_int
MIDlet-Info-URL: http://mini.opera.com/
Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
Ant-Version: Apache Ant 1.6.5
MIDlet-Vendor: Opera Software ASA
MIDlet-1: Opera Mini, /icon1616.png, com.opera.browser.Browser
MIDlet-Version: 1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-Description: Opera MiniSolo nos interesa lo que esta en negrita. Para este ejemplo he cogido la aplicacion "operamini.jar". Bien pues ahora nos vamos al icono que queramos redireccionar en el menu.ml y sustituimos esta linea:
<link type="internal"/>
por esta otra:
<link type="java" javasuitename="BBBBB" javasuitevendor="CCCCC" javasuitepoint="AAAAA"/>
donde BBBBB es lo que tenemos en negrita en el MANIFEST.MF junto a MIDlet-Name, CCCCC lo mismo pero junto a MIDlet-Vendor, y AAAAA igual pero junto a MIDlet-1. Para este caso nos quedaria asi:
<link type="java" javasuitename="Opera Mini" javasuitevendor="Opera Software ASA" javasuitepoint="com.opera.browser.Browser"/>, y listo, ya tenemos redireccionado el icono que hayamos querido directamente a la aplicacion "opera mini"

1X10N
20/11/2006, 08:13:21
5)Desbloquear submenus capados del movil
En el movil hay partes del menu que por lo que sea sony ericsson ha querido ocultarnos. Los simbolos "<!--" y "-->" le indican al movil que lo que este comprendido entre ellos no es codigo, asi que el movil lo ignora. Lo vemos cada vez que comienza un icono del menu principal por ejemplo (<!-- Desktop Element X -->), pero si utilizamos la opion buscar del editor de textos veremos que hay un par de veces que lo que esta comprendido esntre estos simbolos si q es codigo, solo que sony nos lo oculta en nustros telefonos. Una de estas veces esta en el menu "ajustes":
<!--
<element id="Settings_Sounds_SetRingSignal_Id">
<label type="name" textid="MENU_RING_SIGNALS_TXT"/>
<link type="internal"/>
</element>
-->Si eliminamos en este caso "<!--" y "-->" desbloquearemos la opcion de poner un tono diferente para cada pefil, ya que inexplicablemente se nos quitaba esta posibilidad. Esto vuelve a ocurrir solo una vez mas para desbloquear el menu 3G, pero al no ser nuestros telefonos 3G veremos esa opcion pero no nos servira de nada.

Si tienes alguna duda, o quieres realizar algun comentario acerca de este tutorial, por favor visita este tema: http://www.topsony.com/forum_es/showthread.php?t=670