lunes, 3 de junio de 2024

conky (implementando bash para las estaciones)

Implementación en Conky para Calcular la Estación Actual y Días Restantes para la Siguiente

En esta entrada, te presentamos una nueva actualización para Conky, una herramienta de monitoreo de sistema, que te permite calcular la estación actual y los días restantes para la siguiente estación, en función de tu ubicación actual. Esta implementación se encuentra en el script scripts/GetStation.sh. A continuación, enumeramos los pasos que realiza este script bash como parte de esta actualización:

Descripción del Script

  1. Obtener la latitud: El script utiliza el servicio ipinfo.io para obtener la latitud de la ubicación actual del usuario.
  2. Determinar el hemisferio: Basado en la latitud obtenida, el script determina si el usuario se encuentra en el hemisferio norte o sur.
  3. Obtener la fecha actual: El script obtiene la fecha actual en el formato YYYY-MM-DD.
  4. Establecer fechas de inicio de las estaciones:
    • Para el hemisferio norte:
      • Primavera: 21 de marzo
      • Verano: 21 de junio
      • Otoño: 21 de septiembre
      • Invierno: 21 de diciembre
    • Para el hemisferio sur:
      • Primavera: 21 de septiembre
      • Verano: 21 de diciembre
      • Otoño: 21 de marzo
      • Invierno: 20 de junio
  5. Calcular la estación actual y la próxima estación: El script compara la fecha actual con las fechas de inicio de las estaciones para determinar cuál es la estación actual y cuál será la próxima estación.
  6. Calcular los días restantes para la próxima estación: El script calcula el número de días que faltan para el inicio de la próxima estación.
  7. Determinar el texto de los días restantes: Dependiendo del número de días restantes, el script genera un texto apropiado (por ejemplo, "un día para" o "X días para").
  8. Copiar los iconos de las estaciones: El script copia los iconos correspondientes a la estación actual y la próxima estación en el directorio temporal del usuario.
  9. Mostrar resultados: Finalmente, el script muestra la estación actual, el icono de la estación actual, la próxima estación, el icono de la próxima estación y el texto de los días restantes.
 
#!/bin/bash

# GetStation.sh
# Este script calcula la estación actual y los días restantes para la siguiente estación en función de la ubicación actual.

# Obtener la latitud usando ipinfo.io
latitude=$(curl -s https://ipinfo.io/ | jq -r '.loc' | cut -d ',' -f 1)

# Determinar el hemisferio basado en la latitud
if (( $(echo "$latitude > 0" | bc -l) )); then
    hemisphere="norte"
else
    hemisphere="sur"
fi

# Obtener la fecha actual
current_date=$(date +%Y-%m-%d)

# Establecer las fechas de inicio de las estaciones según el hemisferio
if [[ "$hemisphere" == "norte" ]]; then
    spring_start=$(date -d "$(date +%Y)-03-21" +%Y-%m-%d)
    summer_start=$(date -d "$(date +%Y)-06-21" +%Y-%m-%d)
    autumn_start=$(date -d "$(date +%Y)-09-21" +%Y-%m-%d)
    winter_start=$(date -d "$(date +%Y)-12-21" +%Y-%m-%d)
    next_year_spring_start=$(date -d "$(( $(date +%Y) + 1 ))-03-21" +%Y-%m-%d)
else
    spring_start=$(date -d "$(date +%Y)-09-21" +%Y-%m-%d)
    summer_start=$(date -d "$(date +%Y)-12-21" +%Y-%m-%d)
    autumn_start=$(date -d "$(date +%Y)-03-21" +%Y-%m-%d)
    winter_start=$(date -d "$(date +%Y)-06-20" +%Y-%m-%d)
    next_year_autumn_start=$(date -d "$(( $(date +%Y) + 1 ))-03-21" +%Y-%m-%d)
fi

# Calcular la estación actual y la próxima estación
if [[ "$hemisphere" == "norte" ]]; then
    if [[ "$current_date" > "$winter_start" ]] || [[ "$current_date" < "$spring_start" ]]; then
        current_season="Invierno"
        next_season="Primavera"
        next_season_date=$spring_start
        current_icon="winter"
        next_icon="spring"
    elif [[ "$current_date" < "$summer_start" ]]; then
        current_season="Primavera"
        next_season="Verano"
        next_season_date=$summer_start
        current_icon="spring"
        next_icon="summer"
    elif [[ "$current_date" < "$autumn_start" ]]; then
        current_season="Verano"
        next_season="Otoño"
        next_season_date=$autumn_start
        current_icon="summer"
        next_icon="autumn"
    else
        current_season="Otoño"
        next_season="Invierno"
        next_season_date=$winter_start
        current_icon="autumn"
        next_icon="winter"
    fi
else
    if [[ "$current_date" > "$summer_start" ]] || [[ "$current_date" < "$autumn_start" ]]; then
        current_season="Verano"
        next_season="Otoño"
        next_season_date=$autumn_start
        current_icon="summer"
        next_icon="autumn"
    elif [[ "$current_date" < "$winter_start" ]]; then
        current_season="Otoño"
        next_season="Invierno"
        next_season_date=$winter_start
        current_icon="autumn"
        next_icon="winter"
    elif [[ "$current_date" < "$spring_start" ]]; then
        current_season="Invierno"
        next_season="Primavera"
        next_season_date=$spring_start
        current_icon="winter"
        next_icon="spring"
    else
        current_season="Primavera"
        next_season="Verano"
        next_season_date=$summer_start
        current_icon="spring"
        next_icon="summer"
    fi
fi

# Calcular los días restantes para la próxima estación
current_date_sec=$(date -d "$current_date" +%s)
next_season_date_sec=$(date -d "$next_season_date" +%s)
days_until_next_season=$(( (next_season_date_sec - current_date_sec) / 86400 ))

# Determinar el texto de los días restantes
if [ "$days_until_next_season" -eq 1 ]; then
    days_text="un día para"
else
    days_text="$days_until_next_season días para"
fi

# Copiar la estación actual y la próxima en el directorio temporal del usuario.
cp -r ~/.config/conky/icons/${current_icon}.png ~/.cache/current_station.png
cp -r ~/.config/conky/icons/${next_icon}.png ~/.cache/next_station.png

# Mostrar la estación actual, el icono y los días restantes para la próxima estación
echo "$current_season;$current_icon;$next_season;$next_icon;$days_text"


Esta actualización para Conky es útil para quienes desean tener información actualizada sobre las estaciones del año y los días restantes para el cambio de estación, basándose en su ubicación geográfica. Con esta implementación, Conky puede mostrar dinámicamente la estación del año actual y los días restantes hasta la próxima estación directamente en tu escritorio.





La actualización se puede descargar desde mi repositorio en GitHub.


Ahora también estoy en GitHub

¿Qué es GitHub?

GitHub es una plataforma en línea que permite a las personas y equipos trabajar juntos en proyectos de programación y otros tipos de documentos de manera colaborativa. Imagina que es una especie de "Google Drive" para programadores, donde pueden almacenar, compartir y colaborar en código.

Características principales:

  • Almacenamiento de Código: GitHub es un lugar donde los programadores guardan su código. Cada proyecto se guarda en un "repositorio" (o "repo"), que es como una carpeta que contiene todos los archivos y el historial de cambios.
  • Colaboración: Permite que múltiples personas trabajen en el mismo proyecto al mismo tiempo sin sobrescribir el trabajo de los demás. Cada uno puede hacer cambios, y luego combinar esos cambios con el trabajo de otros.
  • Control de Versiones: GitHub usa una herramienta llamada Git que rastrea todos los cambios realizados en los archivos del proyecto. Esto significa que puedes ver el historial de cada archivo y revertir cambios si es necesario.
  • Comunicación: Los usuarios pueden discutir cambios y sugerir mejoras a través de "issues" (problemas) y "pull requests" (solicitudes de cambios). Esto facilita la comunicación y la colaboración entre los equipos.
  • Código Abierto y Privado: Los repositorios pueden ser públicos (cualquiera puede verlos y usarlos) o privados (solo accesibles para personas específicas).

En resumen, GitHub es una herramienta esencial para los programadores y desarrolladores de software, ya que facilita la colaboración, el control de versiones y la gestión de proyectos de manera organizada y eficiente.


https://github.com/DrCalambre


GitHub

viernes, 31 de mayo de 2024

Como crear una Marca de Agua con GIMP

Antes de continuar, una breve descripción: 

¿Que son los canales alfa?

Imagínate que estás coloreando un dibujo en una hoja de papel. Tienes los colores y los usas para pintar las partes del dibujo que quieras. Ahora, imagina que tienes una hoja especial que no solo te permite colorear, sino que también te permite decidir qué partes del dibujo serán visibles y qué partes serán transparentes, como si pudieras hacer "agujeros" en la hoja para ver a través de ellos.

En GIMP, esta hoja especial se llama "canal alfa". El canal alfa es una especie de capa extra que cada imagen puede tener, y su función principal es controlar la transparencia de la imagen.

Colores y Transparencia: 

En una imagen normal, cada píxel tiene colores (rojo, verde y azul). Con el canal alfa, cada píxel también tiene una información adicional que dice cuán transparente es ese píxel. Esta transparencia puede ir desde completamente opaco (no puedes ver a través) hasta completamente transparente (puedes ver lo que está detrás).

Ejemplo Práctico: 

Imagina que tienes una foto de una manzana y quieres ponerla en un fondo diferente. Usando el canal alfa, puedes borrar el fondo alrededor de la manzana, haciendo que solo la manzana sea visible. Cuando pones esta imagen en otro fondo, solo verás la manzana, y el fondo original será transparente, dejando ver el nuevo fondo.

En resumen, el canal alfa es como una capa mágica que te permite controlar la transparencia de cada parte de tu imagen, permitiendo crear efectos de superposición y mezclas que serían imposibles con imágenes opacas

Paso 1: Preparar el Texto de la Marca de Agua

1. Abrir GIMP: Inicia GIMP en tu ordenador.

Gimp















2. Crear un Nuevo Documento:

  • Ve a Archivo > Nuevo....
  • Elige las dimensiones deseadas para tu marca de agua. Por ejemplo, 800x300 píxeles.

Crear imágen nueva















3. Añadir Texto:

Selecciona la herramienta de texto (la letra "A" en la caja de herramientas).

Herramienta de texto















Haz clic en el área de trabajo y escribe el texto de tu marca de agua.

Escribe el texto


Ajusta el tamaño, fuente y color del texto según tus preferencias.






Paso 2: Hacer Transparente el Fondo del Texto

Agregar una Capa Alfa:


En la ventana de Capas, haz clic derecho en la capa de fondo y selecciona Añadir Canal Alfa.

Añadir canal alfa















Añadir canal alfa




Eliminar el Fondo:


Selecciona la herramienta de selección por color (el icono de la varita mágica).

Varita mágica





Haz clic en el fondo blanco para seleccionarlo.

clic en el fondo blanco






Presiona Supr o Delete para eliminar el fondo, haciendo que sea transparente.

Suprimir el fondo





Paso 3: Ajustar la Opacidad


Bajar la Opacidad del Texto:

En la ventana de Capas, ajusta la opacidad de la capa de texto a alrededor del 30-50%, para que la marca de agua no sea demasiado intrusiva.

Ajustar opacidad 50%


Ajustar opacidad 50%







Paso 4: Exportar la Marca de Agua


Guardar la Imagen:

Ve a Archivo > Exportar Como....

Selecciona el formato PNG para preservar la transparencia (por ejemplo, marca_agua.png).

Haz clic en Exportar y ajusta las configuraciones según sea necesario.


Exportar Como...


Formato png


Exportar


























Les dejo algunas fuentes (fonts) que utilice del texto que se pueden instalar y son adecuadas para estas marcas de agua:

Great Vibes:
Es una fuente cursiva elegante y fluida, que transmite una sensación de sofisticación y personalización, ideal para firmas y marcas personales.






Playfair Display:
Esta fuente serif tiene un aire clásico y profesional, manteniendo una elegancia que puede complementar muy bien las fotografías naturales y paisajes.









Cinzel
:
Inspirada en las inscripciones romanas, Cinzel es una fuente serif que da una sensación de atemporalidad y formalidad, adecuada para la majestuosidad de las montañas.









Raleway
:
Una fuente sans-serif moderna y elegante que es muy versátil y puede dar un toque contemporáneo sin perder la profesionalidad.







Montserrat
:
Esta es una fuente sans-serif geométrica que es moderna y clara, lo que la hace ideal para marcas limpias y profesionales.







Dancing Script:
Es una fuente manuscrita que tiene un aspecto casual y amigable, perfecta si quieres darle un toque más personal y artístico.







Puedes descargar mas fuentes desde sitios confiable como Google Fonts o dafont.com.

para instalarlas puedes usar un gestor tipografico

Gestor tipográfico de antiX (font-manager)