Tejne

Cómo cambiar el fondo de pantalla en IceWM

Archivo prefoverride sobrescribe configuraciones del tema. Ubicación de prefoverride:

$ICEWM_PRIVCFG/prefoverride
$XDG_CONFIG_HOME/icewm/prefoverride
$HOME/.icewm/prefoverride
/etc/icewm/prefoverride
/usr/share/icewm/prefoverride

La ruta a la imagen debe especificarse como el valor de la variable DesktopBackgroundImage. Ejemplo de contenido del archivo prefoverride en /home/usuario/.icewm/prefoverride: DesktopBackgroundImage="$HOME/Imágenes/fondo.png"

Fuente:

Extra. Fondos: https://www.elotrolado.net/hilo_wallpapers-wallpapers_2332916

Total de páginas en documentos PDF de un directorio

Cuenta el total de páginas de los documentos PDF en el directorio actual.


for F in `ls *.pdf`; do RESULTADO=$(($RESULTADO+`pdfinfo $F | grep "Pages:" | awk '{print $2}'`)); done; echo $RESULTADO

Alerta de recuperación de conexión a internet

Un script muy simple que lanza una notificación cuando se consigue establecer conexión con un servidor remoto. Para quienes tenemos un ISP que frecuentemente nos deja a pata, sin conexión a internet.

#!/bin/bash
#avisame_cuando_vuelva_internet.sh
while ! ping -c 1 google.com > /dev/null; do continue; done
zenity --info --text "¡Volvió Internet!"

Palabras con consonante única

Expresión regular para listar palabras con una única consonante y un número cualquiera de vocales.

cat /etc/dictionaries-common/words | egrep "^([b]*[aáeéiíoóuú]*)+$" [b] toma el valor de la consonante.

Palabras con vocal única

Expresión regular para listar palabras con una única vocal y un número cualquiera de consonantes en sílabas simples o compuestas.

cat /etc/dictionaries-common/words | egrep "^([^aáeéiíoóuú]*[aá]*)+$" [aá] puede tomar los valores [aá], [eé], [ií], [oó] o [uú]

Triggers en SQLite

Referencia en documentación oficial: https://www.sqlite.org/lang_createtrigger.html

¿Qué son los triggers?

Los triggers (disparadores) son operaciones que se realizan automáticamente ante un evento específico de la base de datos. Pueden desencadenarse por una operación DELETE, INSERT o UPDATE de una tabla, o por la operación UPDATE sobre una o más columnas específicas.

Referencias a columnas dentro de un trigger

Las acciones del trigger y la cláusula WHEN pueden acceder a los elementos de la fila afectada mediante referencias del tipo "NEW.nombre-columna" y "OLD.nombre-columna". OLD y NEW son referencias relevantes en los siguientes casos:

  • NEW en INSERT o UPDATE
  • OLD en UPDATE o DELETE

AFTER Y BEFORE

Las palabras clave BEFORE y AFTER, que pueden anteceder al tipo de evento para el cual el trigger se define, determinan cuándo se ejecutará el trigger en relación a la inserción, modificación o eliminación de la fila.

Es necesario tener esto en cuenta, por ejemplo, en un trigger cuyas acciones involucren un campo autoincremental, que tomará su valor recién después de la ejecución de un INSERT.

Ejemplo de trigger UPDATE

Ejemplo tomado de la documentación de CREATE TRIGGER.

Asumiendo que los registros de cliente son almacenados en la tabla "customers", y las órdenes de los clientes en la tabla "orders", el siguiente trigger UPDATE se asegura que todas las ordenes asociadas sean redirigidas cuando un cliente cambia su dirección postal.

CREATE TRIGGER update_customer_address UPDATE OF address ON customers 
    BEGIN
        UPDATE orders SET address = new.address WHERE customer_name = old.name;
    END;

Entonces, cuando se ejecuta la sentencia

UPDATE customers SET address = '1 Main St.' WHERE name = 'Jack Jones';

se dispara la siguiente acción

UPDATE orders SET address = '1 Main St.' WHERE customer_name = 'Jack Jones';

create-trigger-stmt

Copyleft © 2017-2020 — @Sjlvanq

Lingonberry by Anders NorenPorted by Hakim ZulkufliUp ↑