/usr/share/help/es/integration-guide/index.docbook is in gnome-devel-docs 3.8.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index" lang="es">
<bookinfo>
<title>Integrar software existente con GNOME</title>
<subtitle>Guía para fabricantes de software independientes</subtitle>
<abstract role="description"><para>Guía para fabricantes de software independientes</para></abstract>
<authorgroup>
<author><firstname>Rosanna</firstname> <surname>Yuen</surname> <affiliation> <address> <email>zana@gnome.org</email> </address> </affiliation></author>
<author role="maintainer"><firstname>Federico</firstname> <surname>Mena-Quintero</surname> <affiliation> <address> <email>federico@gnu.org</email> </address> </affiliation></author>
<author><firstname>Mike</firstname> <surname>Hearn</surname> <affiliation> <address> <email>mike@navi.cx</email> </address> </affiliation></author>
</authorgroup>
<copyright><year>2005, 2006</year> <holder>Rosanna Yuen, Federico Mena-Quintero, Mike Hearn</holder></copyright>
<revhistory>
<revision><revnumber>0.6</revnumber> <date>19 de septiembre de 2006</date> <revdescription>
<para>Extensión de las guías de iconos.</para>
</revdescription></revision>
<revision><revnumber>0.5</revnumber> <date>18 de septiembre de 2006</date> <revdescription>
<para>Integración del contenido del primer artículo de Rosanna Yuen acerca de los estándares de freedesktop.org</para>
</revdescription></revision>
<revision><revnumber>0.0</revnumber> <date>junio de 2005</date> <revdescription>
<para>Versión inicial de este documento.</para>
</revdescription></revision>
</revhistory>
<!-- Added with permission of federico -->
<legalnotice id="legalnotice">
<para>Se concede autorización para copiar, distribuir o modificar este documento según los términos de la GFDL (GNU Free Documentation License), Versión 1.1, o cualquier otra versión posterior publicada por Free Software Foundation sin secciones invariables, textos de portada ni textos de contraportada. Podrá encontrar una copia de la GFDL en este <ulink url="ghelp:fdl">enlace</ulink> o en el archivo COPYING-DOCS distribuido con este manual.</para>
<para>Este manual es parte de una colección de manuales de GNOME distribuido bajo la GFDL. Si quiere distribuir este manual por separado de la colección, puede hacerlo añadiendo una copia de la licencia al manual, tal como se describe en la sección 6 de la licencia.</para>
<para>Muchos de los nombres utilizados por las empresas para distinguir sus productos y servicios se consideran marcas comerciales. Cuando estos nombres aparezcan en la documentación de GNOME, y siempre que se haya informado a los miembros del Proyecto de documentación de GNOME de dichas marcas comerciales, los nombres aparecerán en mayúsculas o con las iniciales en mayúsculas.</para>
<para>EL DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO SE PROPORCIONAN CON SUJECIÓN A LOS TÉRMINOS DE LA GFDL, QUEDANDO BIEN ENTENDIDO, ADEMÁS, QUE: <orderedlist>
<listitem>
<para>EL DOCUMENTO SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, NI EXPLÍCITA NI IMPLÍCITA INCLUYENDO, SIN LIMITACIÓN, GARANTÍA DE QUE EL DOCUMENTO O VERSIÓN MODIFICADA DE ÉSTE CAREZCA DE DEFECTOS COMERCIALES, SEA ADECUADO A UN FIN CONCRETO O INCUMPLA ALGUNA NORMATIVA. TODO EL RIESGO RELATIVO A LA CALIDAD, PRECISIÓN Y UTILIDAD DEL DOCUMENTO O SU VERSIÓN MODIFICADA RECAE EN USTED. SI CUALQUIER DOCUMENTO O VERSIÓN MODIFICADA DE AQUÉL RESULTARA DEFECTUOSO EN CUALQUIER ASPECTO, USTED (Y NO EL REDACTOR INICIAL, AUTOR O CONTRIBUYENTE) ASUMIRÁ LOS COSTES DE TODA REPARACIÓN, MANTENIMIENTO O CORRECCIÓN NECESARIOS. ESTA RENUNCIA DE GARANTÍA ES UNA PARTE ESENCIAL DE ESTA LICENCIA. NO SE AUTORIZA EL USO DE NINGÚN DOCUMENTO NI VERSIÓN MODIFICADA DE ÉSTE POR EL PRESENTE, SALVO DENTRO DEL CUMPLIMIENTO DE LA RENUNCIA;Y</para>
</listitem>
<listitem>
<para>EN NINGUNA CIRCUNSTANCIA NI SEGÚN NINGÚN ARGUMENTO LEGAL, SEA POR MOTIVOS CULPOSOS (INCLUIDA LA NEGLIGENCIA), CONTRACTUALES O DE OTRO TIPO, NI EL AUTOR, NI EL REDACTOR INICIAL, NI CUALQUIER COLABORADOR, NI CUALQUIER DISTRIBUIDOR DEL DOCUMENTO O VERSIÓN MODIFICADA DEL MISMO, NI CUALQUIER PROVEEDOR DE CUALQUIERA DE DICHAS PARTES, SERÁN RESPONSABLES, ANTE NINGÚN TERCERO, DE NINGÚN DAÑO O PERJUICIO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL O CONSIGUIENTE DE NINGÚN TIPO, INCLUIDOS, SIN LIMITACIÓN, LOS DAÑOS POR PÉRDIDA DE FONDO DE COMERCIO, INTERRUPCIÓN DEL TRABAJO, FALLO O MAL FUNCIONAMIENTO INFORMÁTICO, NI CUALQUIER OTRO DAÑO O PÉRDIDA DERIVADOS DEL USO DEL DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO, O RELACIONADO CON ELLO, INCLUSO SI SE HABÍA COMUNICADO A AQUELLA PARTE LA POSIBILIDAD DE TALES DAÑOS.</para>
</listitem>
</orderedlist></para>
</legalnotice>
<othercredit class="translator">
<personname>
<firstname>Daniel Mustieles</firstname>
</personname>
<email>daniel.mustieles@gmail.com</email>
</othercredit>
<copyright>
<year>2012</year>
<holder>Daniel Mustieles</holder>
</copyright>
<othercredit class="translator">
<personname>
<firstname>Jorge González</firstname>
</personname>
<email>jorgegonz@svn.gnome.org</email>
</othercredit>
<copyright>
<year>2008</year>
<holder>Jorge González</holder>
</copyright>
</bookinfo>
<preface id="preface">
<title>Prefacio</title>
<para>GNOME es un proyecto para construir un escritorio completo y una plataforma de desarrollo completamente basada en software libre. Muchas empresas, gobiernos, escuelas, instituciones y personas han instalado el Escritorio GNOME en sus sistemas. Si es un desarrollador de software de una tercera parte («Fabricante de software independiente» o <acronym>ISV</acronym>, o «Desarrollador de software independiente» (<acronym>ISD</acronym>) si no lo hace comercialmente), quizá quiera asegurarse de que su software se ejecuta correctamente en GNOME. Esta guía explica cómo integrar software existente con GNOME sin tener que reescribir el software para usar explicitamente las bibliotecas y herramientas de desarrollo de GNOME.</para>
<para>Esta guía es útil en las siguientes circunstancias:</para>
<itemizedlist>
<listitem>
<para>Si es un desarrollador de software o distribuidor que tiene una aplicación que no está diseñada específicamente para trabajar con GNOME, pero quiere asegurarse de que se ejecuta correctamente en un Escritorio GNOME.</para>
</listitem>
<listitem>
<para>Si es un administrador de sistemas de una institución que ha instalado Escritorios GNOME a sus usuarios. También tiene aplicaciones obsoletas o caseras y quiere que sus usuarios de GNOME puedan acceder a ellas correctamente.</para>
</listitem>
<listitem>
<para>Está escribiendo una aplicación para GNOME y necesita una lista de cosas básicas para asegurar que su aplicación se integra correctamente con el resto del Escritorio GNOME.</para>
</listitem>
</itemizedlist>
<para>En general esta guía es acerca de integrar software existente en un Escritorio GNOME. .Por otra parte, si está considerando escribir software nuevo, le recomendamos que lo desarrolle con GNOME como su plataforma objetivo; consulte el <ulink url="http://developer.gnome.org">sitio del desarrollador de GNOME</ulink> para obtener más información.</para>
<para>Una de las principales preocupaciones de GNOME es la experiencia del usuario. Los usuarios deberían tener un entorno de computación confortable: esto significa tener un escritorio completo y un conjunto de aplicaciones que operan conjuntamente de forma consistente. Con poco trabajo, las aplicaciones que no están escritas explícitamente para GNOME pueden ejecutarse de una forma confortable en un escritorio GNOME.</para>
<section id="structure">
<title>Estructura de esta guía</title>
<para>Esta guía está estructurada como una lista de tareas que debe realizar para integrar software existente en GNOME. La guía presenta estas tareas en orden de importancia. Por ejemplo, la tarea de añadir su aplicación a los menús del Escritorio GNOME aparece antes que la tarea de añadir soporte de arrastrar y soltar. Además, esta guía tiene un <link linkend="apx-integration-checklist">apéndice con una lista de comprobación para la integración</link> que le ayudará a evaluar su trabajo de integración.</para>
</section>
<section id="standards">
<title>Estándares y freedesktop.org</title>
<para>Muchas de las tareas de integración de esta guía dependen de estándares que son importantes más allá de GNOME. Otros proyectos de escritorios como el <ulink url="http://www.kde.org">Entorno de Escritorio K</ulink> (KDE) también usa estos estándares: si quiere integrar su aplicación con GNOME, tendrá que realzar un pequeño trabajo adicional, o ninguno, para hacer que se ejecute también en esos escritorios.</para>
<para>Crear una aplicación perfecta es un sentimiento maravilloso. Independientemente de si es grande o pequeña, querrá que el escritorio reconozca su aplicación para que ellos puedan interactuar con ella apropiadamente. Con la cantidad de escritorios disponible actualmente, lo mejor es que su aplicación sea capaz de integrarse en tantos como sea posible. Aunque no existan reglas oficiales, hay unas especificaciones disponibles en <emphasis>freedesktop.org</emphasis>.</para>
<para>Aunque no sean unos estándares formales, freedesktop.org mantiene un conjunto de guías informales pero generalmente aceptadas. Al seguirlas, estas guías permiten que las aplicaciones se integren en los escritorios que siguen el estándar.</para>
</section>
</preface>
<chapter id="basic-integration">
<title>Integración básica</title>
<para>Este capítulo le enseña los pasos básicos que debe realizar para integrar un programa en el Escritorio GNOME. Estos pasos incluyen lo siguiente:</para>
<itemizedlist>
<listitem>
<para>Permitir que el usuario lance su aplicación haciendo que aparezca en los menús del panel del escritorio, o cualquier otro mecanismo de lanzamiento en el escritorio.</para>
</listitem>
<listitem>
<para>Permitir que el escritorio sepa qué tipo de archivos creados por el usuario requiere su aplicación para poderse lanzar.</para>
</listitem>
<listitem>
<para>Permitir que el escritorio sepa cómo mostrar los iconos apropiados para su programa y los archivos que su programa crea.</para>
</listitem>
</itemizedlist>
<section id="desktop-files">
<title>Archivos de escritorio: poner su aplicación en los menús del escritorio</title>
<para>Para ejecutar aplicaciones desde GNOME, los usuarios pulsan en iconos de sus escritorios o seleccionan las aplicaciones que quieren ejecutar de un menú. Por ello, el primer paso para integrar un programa existente con GNOME es <firstterm>registrarlo</firstterm> con el conjunto de aplicaciones que los usuarios pueden ejecutar.</para>
<para>A diferencia de Windows o Mac OS, en GNOME los menús de usuario se construyen automáticamente desde la lista de aplicaciones registradas. Cada aplicación publicada especifica un conjunto de categorías alas que pertenece, y la configuración del menú del sistema las ordena y gestiona. Este mecanismo sigue los estándares de escritorio y de menú de freedesktop.org</para>
<note><para>Aunque es común en otros escritorios, no se recomienda crear su propio submenú específico para su aplicación. En su lugar, proporcione un elemento de menú para cada aplicación que empaquete. Los elementos adicionales como los archivos de ayuda, los ficheros LÉEME, o enlaces a su página web se pueden empotrar en la aplicación web en si.</para></note>
<para>En GNOME y algunos otros escritorios que cumplen el estándar de freedesktop.org una aplicación se registra en los menús del escritorio a través de un <firstterm>archivo de escritorio</firstterm> que es un archivo de texto con la extensión <filename>.desktop</filename>. Este archivo de escritorio contiene una lista de la configuración de la aplicación. El escritorio obtiene la información del archivo y lo usa para:</para>
<itemizedlist>
<listitem>
<para>poner la aplicación en el <guimenu>Menú principal</guimenu>. Para ver una lista de las categorías válidas, consulte la <ulink href="http://standards.freedesktop.org/menu-spec/latest/">especificación del menú del escritorio</ulink> de FreeDesktop.org.</para>
</listitem>
<listitem>
<para>liste la aplicación en el diálogo <application>Ejecutar aplicación...</application>.</para>
</listitem>
<listitem>
<para>cree los lanzadores apropiados en el menú o en el escritorio.</para>
</listitem>
<listitem>
<para>asocie el nombre y la descripción de la aplicación.</para>
</listitem>
<listitem>
<para>use el icono apropiado.</para>
</listitem>
<listitem>
<para>reconozca el tipo MIME que soporta para abrir archivos.</para>
</listitem>
</itemizedlist>
<para>Para añadir una entrada de menú para su aplicación cree un archivo de escritorio. Debería tener un nombre de archivo único y no existen límites de longitud para evitar abreviaciones y así se sienta libre para incluir nombres de marcas. No obstante no ponga espacios o caracteres internacionales en el nombre de archivo. Por ejemplo «empresafoo-graficos-pro.escritorio» sería un buen nombre de archivo pero «efgp.desktop» sería un mal nombre, así como «Empresa Foo Gráficos Pro.desktop». El archivo debería estar codificado en UTF-8, y parecerse a la siguiente plantilla:</para>
<programlisting>
[Desktop Entry]
Name=FooCorp Painter Pro
Exec=foocorp-painter-pro
Icon=foocorp-painter-pro
Type=Application
Categories=GTK;GNOME;Utility;
</programlisting>
<para>Estos archivos .desktop contienen metadatos acerca de su aplicación y juegan un rol central en la integración del programa con GNOME y otros escritorios que cumplen con los estándares. La plantilla que aquí se presenta es la más básica posible. El archivo se puede traducir lingüísticamente de tal forma que el nombre de su aplicación pueda aparecer en el idioma nativo del usuario.</para>
<para>Ponga este archivo en la carpeta <literal>/usr/share/applications</literal> para que sea accesible por todo el mundo, o en <literal>~/.local/share/applications</literal> si quiere que sólo sea accesible para un usuario. Esto se usa dependiendo de si su aplicación se instaló en el sistema o bien en la carpeta de un usuario. GNOME monitoriza esas carpetas, así que simplemente copiar el archivo a la ubicación correcta es suficiente para registrarlo en el escritorio. <footnote>
<para>Note que la ubicación <literal>~/.local/share/applications</literal> no está monitorizada por las versiones de GNOME anteriores a 2.10 o en las versiones anteriores a la 2.8 en Fedora Core Linux. Estas versiones de GNOME siguen el estándar obsoleto vfolder, y por ello los archivos de escritorio se deben instalar en <literal>~/.gnome2/vfolders/applications</literal>. Esta ubicación no está soportada por GNOME 2.8 en Fedora Core ni en GNOME 2.10, así que para una máxima compatibilidad entre escritorios, ponga el archivo en ambas ubicaciones.</para>
<para>Note que el Escritorio KDE requiere una ejecución de <command>kbuildsycoca</command> para forzar el refresco de los menús.</para>
<!-- MH: Actually I think some distros merge the old vfolders
directory in so placing items in both locations will cause
duplicate menu entries. Autopackage seems to have a program
called "vfolder-magic" which modifies the vfolder
definition in the users home directory. The comment at the
top says:
* Program that adds or removes a desktop entry in
* ~/.gnome2/vfolders/applications.vfolder-info. This seems to be
* necessary with gnome 2.8, at least.
-->
</footnote></para>
<para>Cada archivo de escritorio debe seguir el mismo formato. Se muestra un ejemplo básico de un archivo de escritorio en la <xref linkend="ex-sample-desktop-file"/>. El archivo está dividido en dos secciones, cada una de ellas comienza con la sección de descripción entre corchetes. En este ejemplo sólo se muestra una sección como la esencial para integrar su aplicación en el escritorio. Entre cada sección, la parte de cada línea antes del signo igual es la <firstterm>clave</firstterm>, mientras que la segunda es el <firstterm>valor</firstterm>. Se muestra una explicación de cada línea en la <xref linkend="tb-desktop-file"/>.</para>
<note>
<para>A parte de la primera línea que identifica el archivo de escritorio, el orden de las líneas no es importante En la <xref linkend="ex-sample-desktop-file"/> la línea <command>Type=Application</command> podría estar en la segunda fila, la quina o la última y el resultado sería el mismo.</para>
<para>No obstante, las claves distinguen entre mayúsculas y minúsculas. <command>Type=Application</command> no es lo mismo que <command>type=Application</command> o <command>TYPE=Application</command>.</para>
</note>
<example id="ex-sample-desktop-file">
<title>Archivo de escritorio de ejemplo</title>
<screen>
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Nombre de ejemplo
Comment=Una aplicación de ejemplo
Exec=aplicacion
Icon=aplicación.png
Terminal=false
</screen>
</example>
<table id="tb-desktop-file">
<title>Explicación línea a línea</title>
<tgroup cols="2">
<colspec colnum="1" colname="line" colwidth="1"/>
<colspec colnum="2" colname="desc" colwidth="1"/>
<thead>
<row>
<entry>Línea</entry>
<entry>Descripción</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>[Desktop Entry]</command></entry>
<entry>La primera línea de todo archivo de escritorio y la sección de cabecera para identificar el bloque de los pares de claves asociados con el escritorio. Necesario para que el escritorio reconozca el archivo correctamente.</entry>
</row>
<row>
<entry><command>Type=Application</command></entry>
<entry>Le dice al escritorio que este archivo de escritorio pertenece a una aplicación. Otros valores válidos para esta clave son <command>Link</command> y <command>Directory</command>.</entry>
</row>
<row>
<entry><command>Encoding=UTF-8</command></entry>
<entry>Describe la codificación de las entradas en este archivo de escritorio.</entry>
</row>
<row>
<entry><command>Name=Nombre de ejemplo de una aplicación</command></entry>
<entry>Da el nombre a su aplicación para el menú principal y cualquier lanzador.</entry>
</row>
<row>
<entry><command>Comment=Una aplicación de ejemplo</command></entry>
<entry>Describe la aplicación. Usado como consejo.</entry>
</row>
<row>
<entry><command>Exec=application</command></entry>
<entry>El comando que inicia la aplicación desde una consola. Puede tener argumentos.</entry>
</row>
<row>
<entry><command>Icon=application.png</command></entry>
<entry>El nombre del icono asociado con esta aplicación.</entry>
</row>
<row>
<entry><command>Terminal=false</command></entry>
<entry>Describe si la aplicación se debería ejecutar en un terminal.</entry>
</row>
</tbody>
</tgroup>
</table>
<section id="commandline">
<title>Iniciar su aplicación</title>
<para>Si su aplicación puede llevar argumentos de la línea de comandos, puede detallarlo usando los campos mostrados en la <xref linkend="tb-exec-params"/>.</para>
<table id="tb-exec-params">
<title>Variables de ejecución</title>
<tgroup cols="2">
<colspec colnum="1" colname="line" colwidth="1"/>
<colspec colnum="2" colname="desc" colwidth="1"/>
<thead>
<row>
<entry>Añadir…</entry>
<entry>Acepta...</entry>
</row>
</thead>
<tbody>
<row>
<entry><command>%f</command></entry>
<entry>un sólo nombre de archivo.</entry>
</row>
<row>
<entry><command>%F</command></entry>
<entry>múltiples nombres de archivo.</entry>
</row>
<row>
<entry><command>%u</command></entry>
<entry>un sólo URL.</entry>
</row>
<row>
<entry><command>%U</command></entry>
<entry>múltiples URL.</entry>
</row>
<row>
<entry><command>%d</command></entry>
<entry>una sola carpeta. Usado junto con <command>%f</command> para ubicar un archivo.</entry>
</row>
<row>
<entry><command>%D</command></entry>
<entry>múltiples carpetas. Usado junto con <command>%F</command> para ubicar archivos.</entry>
</row>
<row>
<entry><command>%n</command></entry>
<entry>un sólo nombre de archivo sin ruta.</entry>
</row>
<row>
<entry><command>%N</command></entry>
<entry>múltiples archivos sin rutas.</entry>
</row>
<row>
<entry><command>%k</command></entry>
<entry>un URI o nombre de archivo local para la localización del archivo de escritorio.</entry>
</row>
<row>
<entry><command>%v</command></entry>
<entry>el nombre del dispositivo de entrada.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section id="internationalization">
<title>Idiomas extranjeros</title>
<para>Para crear nombres y comentarios localizados se deben añadir líneas adicionales para cada local necesaria. Por ejemplo, para añadir la versión en español del comentario, añada la siguiente línea:</para>
<para><command>Comment[es]=Ejemplolnombredelprograma</command></para>
<para>No existen límites en el número de traducciones para el archivo.</para>
<tip>
<para>Ya que mantener una larga lista de traducciones en un archivo es muy ineficaz, una mejor forma de crear estas traducciones es usar el paquete <application>intltook</application>. Para obtener más información consulte las páginas del manual de <application>intltool-extract</application> y <application>intltool-merge</application>.</para>
</tip>
</section>
<section id="desktop-references">
<title>Referencias</title>
<para><ulink url="http://standards.freedesktop.org/desktop-entry-spec/latest/index.html">Especificación de entradas de escritorio</ulink>; Especificaciones para crear un archivo de escritorio.</para>
</section>
</section>
<section id="icons">
<title>Instalar iconos</title>
<para>En la <xref linkend="ex-sample-desktop-file"/> se ha especificado el icono para este archivo como <filename><replaceable>aplicacion.png</replaceable></filename>. Para que esto funcione, necesita poner ese archivo de icono en la carpeta correcto.</para>
<para>El escritorio busca iconos en ela carpeta de temas seleccionado <filename>/usr/share/icons/</filename>. Los iconos de las aplicaciones deberían estar disponibles, al menos, en una resolución de 48x48 píxeles. Ubique el icono en <filename>/usr/share/icons/hicolor/48x48/apps/</filename>. Éste es la carpeta en el que el escritorio busca en caso de que no haya un icono para su aplicación en el tema seleccionado. Si tiene iconos para temas, póngalos en las carpetas apropiados.</para>
<para>Para mejorar la integración visual con el escritorio GNOME, a la vez que mantiene la apariencia nativa de su aplicación al ejecutarse en KDE, Windows XP o Mac OS X, siga las <ulink url="http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines">guías de estilo de Tango</ulink> al crear arte para su aplicación. El documento explica varios aspectos del diseño de iconos, incluyendo los colores, iluminación y tamaño. También se proporciona el típico flujo de trabajo y tutoriales de vídeo.</para>
<section id="icons-references">
<title>Referencias</title>
<para><ulink url="http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html">Especificación de temas de iconos</ulink>: Describe cómo instalar y buscar iconos en forma de temas.</para>
<para><ulink url="http://standards.freedesktop.org/icon-naming-spec/latest/">Especificación de nombres de iconos</ulink>: Proporciona un esquema canónico de nombres para los archivos de iconos.</para>
<para><ulink url="http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines">Guías de estilo de Tango</ulink>: Proporciona una descripción acerca de cómo diseñar arte de iconos limpio y «multiplataforma».</para>
</section>
</section>
<section id="mime">
<title>Añadir tipos MIME</title>
<para>Si su aplicación puede abrir tipos MIME específicos debe hacérselo saber al escritorio en el archivo de escritorio. Por ejemplo, si su aplicación puede aceptar archivos <filename>PNG</filename>, añada la siguiente línea en su archivo de escritorio:</para>
<para>
<screen>MimeType=image/png</screen>
</para>
<para>Se pueden añadir tipos MIME adicionales separando los diferentes tipos con puntos y comas.</para>
<para>El sistema ya conoce un gran número de tipos MIME. No obstante, si está creando uno propio, debe registrar su tipo MIME en la base de datos MIME. En la carpeta <filename>/usr/share/mime/packages/</filename> cree un archivo <filename>XML</filename> con el formato mostrado en la <xref linkend="ex-mime-xml"/>.</para>
<example id="ex-mime-xml">
<title>Archivo de ejemplo para registrar un tipo MIME nuevo</title>
<screen>
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-<replaceable>example</replaceable>">
<comment>Ejemplo de tipo de archivo </comment>
<magic priority="50">
<match value="<replaceable>cadena_de_búsqueda</replaceable>" type="string" offset="10:140"/>
</magic>
<glob pattern="*.<replaceable>extensión_nueva</replaceable>"/>
</mime-type>
</mime-info>
</screen>
</example>
<para>En este ejemplo, reemplace el tipo MIME de ejemplo con el nombre de su tipo MIME. La sección <firstterm>magic</firstterm> busca archivos para la identificación de cadena. La línea <firstterm>glob</firstterm> usa el sufijo de los nombres de archivo para identificarlos.</para>
<tip>
<para>Debido a que el comando <command>magic</command> fuerza al equipo a abrir los archivos para buscar la cadena, se prefiere el comando <command>glob</command>.</para>
</tip>
<para>Una vez que su nuevo tipo MIME está correctamente descrito en el archivo, ejecute lo siguiente en una consola:</para>
<para>
<screen>update-mime-database /usr/share/mime</screen>
</para>
<tip>
<para>Para obtener más información acerca de elegir una buena extensión MIME y registrar su tipo MIME, vaya a la página web de la <ulink url="http://www.iana.org/cgi-bin/mediatypes.pl">IANA</ulink>.</para>
</tip>
<section id="mime-references">
<title>Referencias</title>
<para><ulink url="http://standards.freedesktop.org/shared-mime-info-spec/latest/">Especificación de información de tipos MIME</ulink>: Describe el sistema de registro de tipos MIME en detalle.</para>
</section>
</section>
</chapter>
<chapter id="deeper-integration">
<title>Integración más profunda con el Escritorio</title>
<para>Este capítulo contiene una lista de cosas que puede hacer para que su aplicación se integre mejor en GNOME. Por ejemplo, GNOME es capaz de mostrar comentarios al lanzar la aplicación: puede ver cómo activar estos comentarios en la <xref linkend="startup-notification"/>. Además, si su software crea documentos u otros datos imprimibles puede instar una utilidad de gestión de miniaturas para permitir al gestor de archivos de GNOME crear imágenes en miniatura específicas para su programa.</para>
<section id="startup-notification">
<title>Notificación de inicio</title>
<para>Aunque los campos mostrados en la <xref linkend="desktop-files"/> proporcionan suficiente información para que el escritorio reconozca su aplicación, existen otros campos que pueden ser útiles para su caso particular. Uno de estos campos es <firstterm>startup notificacion</firstterm>.</para>
<para>Cuando la notificación de inicio está activada, el panel y el cursor notifican al usuario que la aplicación se ha iniciado. Cunado la aplicación aparece en la pantalla, el panel y el cursor vuelven a su estado normal.</para>
<para>Para permitir que el lanzador sepa que su aplicación soporta la notificación de inicio, añada la siguiente línea a su archivo de escritorio:</para>
<para><command> StartupNotify=true </command></para>
<para>Este comando en el archivo de escritorio hace que el escritorio use cualquier notificación de inicio incluida ya sea en su aplicación o en su conjunto de herramientas (toolkit). La mayoría de los conjuntos de herramientas modernos funcionan de forma transparente con las notificaciones de inicio del sistema. Si no usa un conjunto de herramientas moderno, la <ulink url="http://freedesktop.org/wiki/Standards_2fstartup_2dnotification_2dspec">especificación de notificaciones de inicio</ulink> contiene detalles que debe implementar usted mismo.</para>
<tip>
<para>Independientemente del conjunto de herramientas, existe un tipo de aplicación donde deberá gestionar los comentarios manualmente. Las aplicaciones con capacidades remotas (donde le dice a un proceso existente que abra una ventana nueva en lugar de iniciar un proceso nuevo) no pueden usar este mecanismo incluido. Su aplicación debe pasar el valor del entorno DESKTOP_LAUNCH_ID y debe notificar al sistema de lanzamientos de su nueva ventana. Si está usando <application>GTK+</application>, la documentación para <function>gdk_notify_startup_complete()</function> tiene algo más de información.</para>
</tip>
<section id="startup-notification-references">
<title>Referencias</title>
<para><ulink url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt">Protocolo de notificación de inicio</ulink>: Describe los detalles de bajo nivel de cómo se implementa la notificación de inicio en el Sistema X Window.</para>
</section>
</section>
<section id="thumbnailer">
<title>Instalar un programa generador de miniaturas</title>
<para>El gestor de archivos de GNOME, Nautilus, puede mostrar pequeñas miniaturas recortadas para cada uno de los archivos en lugar de iconos genéricos, en su lista de archivos. Por ejemplo, un documento de un procesador de textos puede aparecer como una pequeña versión de la primera página del documento. Esto es útil ya que los usuarios pueden ver una pequeña representación de los datos visibles en sus archivos, lo que puede ayudar a saber lo que están buscando. Puede hacer que su aplicación cree esas miniaturas con unos simples pasos.</para>
<!-- FIXME: screenshot of Nautilus showing thumbnails -->
<para>Un <firstterm>thumbnailer</firstterm> (generador de miniaturas) es un programa sin interfaz de usuario que toma como entrada un archivo y un tamaño de píxel y escribe una miniatura para ese archivo, GNOME determina qué generador de miniaturas usar basándose en el tipo MIME del archivo para el que se debe generar la miniatura. El mapeado entre tipos MIME y los programas generadores de miniaturas se almacena como series de claves de GConf.</para>
<para>Para cada tipo MIME que quera manejar, tendrá que crear un par de claves de GConf:</para>
<variablelist>
<varlistentry>
<term><literal>/desktop/gnome/thumbnailers/<replaceable>application@x-foo</replaceable>/enable</literal></term>
<listitem>
<para>Type: boolean. Determina si este generador de miniaturas se ejecutará. Puede activar o desactivar individualmente cada generador de miniaturas. Cuando instale un generador de miniaturas nuevo deberá cambiar el valor de esta clave a <symbol>true</symbol>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>/desktop/gnome/thumbnailers/<replaceable>application@x-foo</replaceable>/command</literal></term>
<listitem>
<para>Type: string. La línea de comando que GNOME usará cuando necesite generar una miniatura para un tipo de archivo <replaceable>aplicacion@x-foo</replaceable>. Por ejemplo, el valor podría ser «<literal>application-x-foo-thumbnailer %i %o %s</literal>». Consulte más abajo para obtener una explicación de los signos con porcentajes.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Esto es, cada tipo MIME necesita dos claves de GConf (<literal>enable</literal> y <literal>command</literal>) bajo la misma ruta. El nombre de la ruta puede derivarse del nombre del tipo MIME sustituyendo un «<literal>/</literal>» con «<literal>@</literal>». Por ejemplo, un generador de miniaturas para <literal>image/x-mi-formato</literal> necesitaría dos claves: <literal>/desktop/gnome/thumbnailers/image@x-mi-formato/enable</literal> y <literal>/desktop/gnome/thumbnailers/image@x-mi-formato/comando</literal>.</para>
<para>Dentro de la clave <literal>command</literal> GNOME buscará secuencias de porcentajes y los sustituirá con valores actuales:</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody valign="top">
<row>
<entry><literal>%i</literal></entry>
<entry>Nombre del archivo de entrada. Este es el archivo que su generador de miniaturas debe leer.</entry>
</row>
<row>
<entry><literal>%u</literal></entry>
<entry>URI de entrada. Si su generador de miniaturas puede gestionar URI en lugar de archivos de nombre planos, use <literal>%u</literal> en lugar de <literal>%i</literal>.</entry>
</row>
<row>
<entry><literal>%o</literal></entry>
<entry>Nombre de archivo de salida. Esto es donde su generador de miniaturas debe escribir la imagen en miniatura en formato PNG.</entry>
</row>
<row>
<entry><literal>%s</literal></entry>
<entry>Tamaño de la miniatura como un solo entero. Por ejemplo, si esto se sustituye con <literal>128</literal> significa que su generador de miniaturas debería generar una imagen de salida inferior a 128x128 píxeles.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Tanto <literal>%i</literal> como <literal>%u</literal> deben aparecer en su línea de comandos, y <literal>%o</literal> también es obligatoria. La sustitución <literal>%s</literal> es opcional, pero se recomienda que su generador de miniaturas la tenga en cuenta.</para>
<section>
<title>Información adicional</title>
<para>Como un parámetro de configuración adicional puede activar la clave booleana <literal>/desktop/gnome/thumbnailers/disable_all</literal> para desactivar toda la generación de miniaturas.</para>
</section>
<!-- FIXME: we mentioned the GConf keys, but not how to set them
globally. Do we need to describe how to install
schemas/defaults? -->
</section>
</chapter>
<appendix id="apx-integration-checklist">
<title>Lista de comprobación de la integración</title>
<para>Este apéndice proporciona una lista de comprobación de las diversas tareas presentes a lo largo de esta guía. Puede usar la lista de comprobación para verificar que su software está integrado en GNOME al menos de una forma básica, así como un recurso para planificar futuros trabajos de integración.</para>
<orderedlist>
<listitem>
<para>¿Aparece su aplicación en los menús del panel de GNOME?</para>
</listitem>
<listitem>
<para>¿Tiene su aplicación un icono para los menús del panel o para el escritorio? Si así es, ¿tiene tamaños múltiples y prerenderizados y una versión <acronym>SVG</acronym>?</para>
</listitem>
<listitem>
<para>Si su aplicación puede cargar o guardar archivos, ¿registra los tipos MIME que puede manejar?</para>
</listitem>
<listitem>
<para>¿Proporciona su aplicación iconos MIME para el gestor de archivos?</para>
</listitem>
<listitem>
<para>¿Su aplicación soporta notificación de inicio, de tal forma que GNOME pueda mostrarle comentarios al usuario mientras que su aplicación se está lanzando?</para>
</listitem>
<listitem>
<para>Si su aplicación crea documentos «imprimibles», ¿instala un creador de miniaturas para que lo use el gestor de archivos?</para>
</listitem>
</orderedlist>
</appendix>
<appendix id="apx-acknowledgments">
<title>Agradecimientos</title>
<para>Muchas gracias a Jakub Steiner por proporcionar una hoja de estilo bonita para la versión HTML de esta guía.</para>
</appendix>
</book>
|