Application Icon/es

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) 日本語 (ja) português (pt)

El icono de aplicación es el que se muestra en la ventana principal donde tenemos la aplicación (si creamos un acceso directo se obtiene por defecto el mismo icono con la flecha de acceso directo), y puede controlarse mediante los parámetros de Application.ico.

Para cambiar el icono del ejecutable es necesario utilizar una técnica que varía según la plataforma que estemos utilizando. En Lazarus 0.9.27 - 0.9.28.2 ... se ha añadido soporte para el mismo con el diálogo de Opciones de Proyecto, pero normalmente no funciona con Linux porque requiere llamar a una aplicación para establecer el icono.

Soporte IDE para el icono de la aplicación

Simplemente establece el icono a utilizar el el diálogo de opciones de proyecto, accesible desde el menú proyecto. Funciona para Windows y Mac OS X.

Técnicas específicas de cada plataforma

Windows

1. Crear un nuevo fichero llamado "project.rc (por ejemplo) conteniendo:

  MAINICON ICON "editor.ico" 

Por ejemplo en la versión 0.9.28.2 el fichero para project1.rc viene así:

project1.rc


#define RT_MANIFEST  24
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2 
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "project1.manifest2
MAINICON ICON "project1.ico"

2. Incluye en el fichero de proyecto proyecto *.lpr la siguiente instrucción:

  {$R project.rc} 

Funciona con la versión 0.9.24 y siguientes.

Nota: en el caso de que una vez compilado el proyecto con el icono por defecto y queramos cambiarlo, lo que podemos hacer es copiar al directorio de proyecto nuestro nuevo icono, renombrar o borrar el anterior y dar a nuestro nuevo icono el nombre del que tenía por defecto (por ejemplo project1.ico). Me he encontrado que por más que editaba el fichero para especificar otro nombre, al compilar de nuevo me generaba otra vez el fichero .rc con el nombre de "project1.ico". Haciendo esto una vez recompilado el proyecto vemos el nuevo icono ya lo toma la aplicación, que es lo que nos interesa. En el formulario podemos añadir un componente TrayIcon (lo encontramos en la solapa Additional y especificar este mismo icono para que dicha ventana también figure acorde al de la aplicación principal (lo podemos cambiar facilmente en Icon (en el inspector de objetos).

Estableciendo el icono de aplicación en Mac OS X

Bajo Mac OS X es necesario establecer un icono para el paquete de aplicación. Esto se realiza añadiendo un campo al fichero Info.plist, como lo siguiente:

  <key>CFBundleIconFile</key>
  <string>iconfile.icns</string>

Donde iconfile.icns se ubica dentro de MyBundle.app/Contents/Resources

Se pueden encontrar instrucciones para crear el fichero icns aquí.

Linux

Bajo Linux los iconos de aplicaciones se ubican en directorios especiales que son diferentes para gestor de ventanas (KDE, GNOME, .....). La estructura que presenta dicho directorio, como siempre, está estandarizada y descrita en Icon Theme Specification

Entorno de escritorio (KDE = K Desktop Environment)

Se puede encontrar el directorio de iconos de aplicación (para un usuario o para todos) mediante el uso del siguiente mandato:

kde-config --path icon

Esto debería mostrar en pantalla un listado de las trayectorias separadas por comas hacia stdout.

GNOME

Se puede encontrar el directorio que contiene los iconos para aplicaciones (para su uso por cada usuario y para todos los usuarios) utilizando el mandato:

gnome-config --datadir

Esto debería imprimir en pantalla la trayectoria a stdout, dentro de la cual se encuentra un directorio llamado pixmaps que atiende a la especificación de los temas de iconos.