Gimp scripts python: Donde instalarlos

Una de las preguntas mas frecuentes al usar scripts python en gimp es donde guardar los documentos .py, solo hay que ver en las preferencias de gimp los directorios asignados para ello o asignar uno nuevo:gimp-python-script-install Desde el menú Edit seleccionamos la opción Preferences que nos abre el cuadro de diálogo de preferencias, en el listado de la derecha desplegamos Folders y buscamos Plugins, podemos guardar los ficheros en cualquiera de los directorios listados dentro de esa entrada o asignar un directorio nuevo.
Para poder ver los scripts añadidos en el menú de Gimp es necesario reiniciar Gimp.

gimp script Follow path 4: añadida vista previa

La nueva versión de Follow path hace uso de lo añadido a gimpfu3, tabs para hacer mas clara la interfaz (objeto PF_TABS) y un DrawingArea (PF_DRAW) para previsualizar los cambios antes de ejecutar el script. También se ha corregido un error que afectaba al escalado aleatorio en el eje x.

Descarga/Download

follow-path4

Gimp script: gimpfu3.py

Esta nueva versión de gimpfu añade tres objetos nuevos y varias opciones extra para ayudar con el diseño de la interfaz.

Nuevos objetos

  • PF_TAB: gimpfu3 PF_TAB Este componente añade un objeto Notebook a la interfaz, el quinto valor que le pasamos al crearlo es una lista de los títulos de las páginas, el notebook tendrá tantas páginas como valores pasemos a esa lista. Por ejemplo:
    (
       PF_TAB, # 1er valor: tipo de objeto
       "ptab",  # 2o valor: nombre de la variable
       "tabs",  # 3er valor: sin uso
       0,       # 4o valor: página seleccionada
       # 5º valor lista de titulos de las páginas
       (_('Position, rotation & scale'),_('Opacity, blur & color'))
    ),
    
    Para añadir objetos a una página concreta usaremos la opción extra: tab, en este ejemplo añadimos un PF_SPINNER a la 2ª página:
    (
        PF_SPINNER, "lightERnd", _("To:"), 0, (-100, +100, 1),
        {'newLine':1,'tab':1} # página del notebook, si se omite se
                              # añade en la 0 (1ª página)
    ),
    
  • PF_TITLE: gimpfu3 PF_TITLE Añade un Label a la interfaz, el cuarto valor es una lista de dos números decimales de 0.0 a 1.0, donde el primero es la alineación horizontal (0.0 alineado a la izquierda, 0.5 centrado, 0.1 alineado a la derecha) y el segundo la vertical (0.0 alineado arriba, 0,5 centrado, 1.0 abajo). Ejemplo de uso:
    (PF_TITLE, "anchorTit", _("Anchor: (Center for layer transforms)"), (0.0,0.0),None,{'cols':8,'iniCol':3,'newLine':1}),
    
  • PF_DRAW: gimpfu3 PF_DRAW Añade un DrawingArea a la interfaz en la que podremos usar las funciones de dibujo de gtk, el 5 valor que le pasamos es una lista con el ancho y alto:
    (
        PF_DRAW,
        "preview",
        _("P\nR\nE\nV\nI\nE\nW"),
        0,
        (300,300) # ancho y alto del DrawingArea
    ),

Nuevas opciones extra

A todos los objetos podemos añadirle un array con valores extra que afectan a su posición, tamaño, página en el notebook en la que se añaden o vincularlo a una función (def), estas opciones extra se añaden como un sexto valor en la función, por ejemplo para añadirle indicar a un PF_TITLE que queremos que aparezca en la segunda página del notebook:
(PF_TITLE, "blurTit", _("Blur:")),
Como un PF_TITLE solo necesita 3 valores añadimos dos nulos para que el sexto valor que le pasamos sea el array de opciones extra:
(PF_TITLE, "blurTit", _("Blur:"), None, None,{'tab':1}),
Estas opciones extra son:
  • newLine: Por defecto al añadir objetos a la interfaz cada uno se añade en una nueva fila, para poder tener varios objetos en la misma fila le pasaremos el valor 0 a esta opción.
    (
       PF_SPINNER,"oparndP",_("Random from "), 0, (0, +100, 1),
       {
         'newLine':'0', # el siguiente objeto estará en la misma línea
         'tab':1
       }
    ),
  • cols: cols Establece la cantidad de columnas que ocupará un objeto, teniendo en cuenta que cada objeto que crea gimpfu ocupa dos columnas, una para la etiqueta y otra para el objeto editable, si establecemos este valor a 2 el objeto en total ocupará 3 columnas
  • iniCol Establece en que columna añadimos el objeto, si no establecemos el valor se añadiría en la primera columna.
  • rows Cantidad de filas para el objeto
  • tab Determina en que página del notebook queremos añadir el objeto
  • connect Conecta una acción al objeto actual, necesita dos parámetros, la señal a la que se vincula y una función, por ejemplo para que se ejecute función testFn al cambiar nuestro objeto usaríamos este código:
    (
       PF_SPINNER,"scIniX","X from:", 100, (1, +200,    1),
       {
         'newLine':'0',
         'iniCol':2,
         'connect':{'signal':'changed','function':testFn}
       }
    ),
    
    El valor para ‘signal’ dependerá del objeto al que se lo asignamos

Download/Descarga

gimpfu3

Gimp python script: Console2 actualizado, nuevo botón para guardar sólo código fuente

Añadido nuevo botón a Python console extended para guardar del texto en la consola solo el código fuente python, todo el texto resultado de la ejecución del código y los prefijos (‘>>> ‘,’… ‘) son eliminados del texto a guardar. Esta versión también corrije un error al pulsar el botón Clear que borraba todo el código y no añadía el prefijo ‘>>> ‘ a la primera línea, lo que producía un error al ejecutar esa primera línea.

Descarga/Download

console2c