<chapter id="tdevelop-scripting">

<chapterinfo>
  <authorgroup>
    <author><firstname>Ian</firstname><surname>Geiser</surname></author>
    <!-- ROLES_OF_TRANSLATORS -->
  </authorgroup>
</chapterinfo>

<title>Uso de guiones en KDevelop</title>

<sect1 id="running-scripts">
<title>Ejecución de guiones</title>
<para>Para acceder a un guión que esté disponible para &tdevelop;, utilice el menú <menuchoice><guimenu>Herramientas</guimenu><guimenuitem>Guiones</guimenuitem></menuchoice>. Si no existiera dicha opción es porque no se dispone de guiones para KDevelop. </para>
</sect1>

<sect1 id="adding-scripts">
<title>Añadir guiones</title>
<para>Una vez que haya añadido el soporte KScript a su aplicación anfitriona, añadir guiones es bastante fácil. Los guiones se componen de dos partes: un archivo de escritorio que contiene metadatos sobre el guión, y el propio guión. Se usa esta aproximación por seguridad y por simplicidad. El archivo de escritorio proporciona metainformación para los menús y para el tipo de datos de guiones. Esto evita que la aplicación anfitriona tenga que inspeccionar la carga de cada guión. A continuación veremos un ejemplo de este tipo de archivo: </para>
<para>El ejemplo anterior muestra las partes principales que buscará KScript. El primer elemento («Name») es el nombre que se mostrará al usuario en la aplicación anfitriona, y el «Comment» se ofrecerá probablemente a modo de ayuda emergente. «Type» es el elemento más importante. Se usa para seleccionar el motor de guiones adecuado para ejecutar el guión. Actualmente, los únicos disponibles para KDE son «ShellScript/bash» y «JavaScript/kjs». El siguiente paso consiste en crear el verdadero guión. Para el ejemplo anterior, el «Type» de guión que se ha usado es «ShellScript/bash». El motor de guiones proporciona varias cosas al desarrollador. El primer elemento es el ID de la aplicación anfitriona para DCOP, que se pasa al guión como primer argumento. Esto significa que en cualquier parte del guión el valor «$1» devolverá el identificador DCOP del anfitrión. Un ejemplo de guión del intérprete de comandos se muestra a continuación: </para>

<para>Este guión es bastante simple: solo ejecuta un comando y hace que la salida de «ls -l» se tome como el primer documento de texto.</para>

<para>Una de las herramientas más útiles para el desarrollo de guiones para aplicaciones consiste en usar la aplicación KDCOP.</para>
<figure id="screenshot-kdcop" float="1">
  <title>KDCOP examinando interfaces de DCOP en &tdevelop;</title>
  <mediaobject>
    <imageobject><imagedata fileref="kdcop_browsing.png"/></imageobject>
  </mediaobject>
</figure>

<para>La herramienta KDCOP permite a los desarrolladores de guiones navegar y depurar las interfaces actuales de la aplicación anfitriona. KDCOP también proporciona la elegante característica de permitir que los usuarios seleccionen un método y arrastren y suelten el código actual a su editor de textos. Esto simplifica su uso por parte de personas que no están acostumbradas a los métodos del lenguaje anfitrión de DCOP. En la actualidad, KDCOP soporta métodos KJSEmbed, Python y del intérprete de comandos de UNIX para acceder a DCOP.</para>

<para>Una vez que el guión se ha completado, está listo para ser instalado. Los desarrolladores de aplicaciones deben documentar la ubicación donde se encuentran los guiones. En el caso del ejemplo anterior para Kate, los guiones se encuentran en «$TDEDIRS/share/apps/kate/scripts».</para>

<figure id="screenshot-scripts" float="1">
  <title>Guiones de &tdevelop; sobre el sistema de archivos</title>
  <mediaobject>
    <imageobject><imagedata fileref="script_location.png"/></imageobject>
  </mediaobject>
</figure>

<para>El archivo de escritorio para el guión y su guión asociado deben residir en la misma carpeta. También se recomienda a los desarrolladores de guiones que el resto de los recursos que use el guión residan también en misma carpeta que el guión. En el ejemplo anterior, el guión aparecerá bajo el menú «Herramientas->Guiones de KDE». Una cosa importante a tener en cuenta por los desarrolladores de guiones es que no se deben realizar operaciones que puedan bloquear el sistema durante un largo periodo de tiempo, o que provoquen un bucle sin fin. Esto se debe a que la implementación actual de la interfaz de guiones está concebida para tareas automáticas que se ejecutan hasta su final. Este problema será solucionado en KDE 4. </para>

</sect1>


</chapter>
