DEV Community

Cover image for Manteniendo el desktop limpio con Automator
Mariano Álvarez 🇨🇷
Mariano Álvarez 🇨🇷

Posted on • Updated on

Manteniendo el desktop limpio con Automator

Hoy quise escribir algo diferente, pero relacionado a tecnología. He tenido un problema por mucho tiempo y decidí que era tiempo de resolverlo.

Importante: Todos lo cambios que realicen son bajo su propio riesgo

🤬 Problema

Como todos, constantemente estoy tomando screenshots (capturas de pantalla) de comprobantes de pago, secciones en la aplicación o de cualquier cosa que necesite compartir. El problema es que mi desktop se empieza llenar de archivoooos y la realidad es que lo que siempre termino haciendo es moviendo todo a una carpeta. Algunas veces me tomo el tiempo en revisar las imágenes, renombrarlas y clasificarlas en carpetas, otras veces nada más borro todo y listo.

Pero decidí subirme la mangas y encontrar alguna manera de mantener el desktop limpio.

milhouse

💡Idea

Descubrí hace poco que Mac OSx tiene un app que se llama Automator (pensaba que era un virus). Creo que es obvio lo que hace 😂, ayuda automatizar tareas repetitivas (si, existe y desde hace mucho tiempo).

⚙️ Solución

Paso 1 Enviar las captura de pantalla a una nueva carpeta

Para mantener el desktop limpio, vamos a crear dos carpetas screenshots/.tmp y a cambiarla por defecto(el desktop).

Para ello, abre la terminal y corre el siguiente comando:

defaults write com.apple.screencapture location ~/Desktop/screenshots/.tmp

Luego este comando para que el cambio sea aplicado

killall SystemUIServer

Paso 2 Workflow

Abrir Automator, crea un nuevo workflow de tipo folder action y replica estas acciones:

worflow

¿Que es lo que está pasando?

  1. Se almacena la captura de pantalla
  2. Lanzamos un popup que nos permita ingresar el nuevo nombre
  3. ¿Ohhhh que es este código? ¿que clase de lenguaje es ese? bueno, les presento AppleScript, si un lenguaje de Apple, hecho para automatizar tareas. La documentación la pueden encontrar acá (honestamente no es la mejor) Este código nos permitirá poner un nombre por defecto en caso de que no pongamos ninguno.
on run {input, parameters}
    set d to short date string of (current date)
    set t to time string of (current date)

    if (input is {}) then
        return "Captura " & d & t as string
    end if

    return input as string
end run
Enter fullscreen mode Exit fullscreen mode
  1. Almacenamos el nombre en una variable que se llama newName

  2. Obtenemos la captura de pantalla almacenada en el punto 1

  3. Renombramos esa captura de pantalla usando el nuevo nombre

  4. Movemos el screenshot un nivel más arriba /screenshots

Importante

  • Tomen en cuenta las uniones que hay entre acciones, esto permite pasar el resultado de una a otr acción.

Paso 3 Activar workflow

  1. Busca la carpeta .tmp
  2. Click derecho, Folder Action Setup

blogpost 1

3.Marquen la opcion de Folder Actions y busque el nuevo workflow

blogpost 3

Funciona de maravilla, pero el único pequeño problema es que toma entre 1-3 secs en correr el workflow. Es cuestión de acostumbrase. Una manera de mejorarlo, podría ser correr manualmente el workflow, y que active automáticamente el herramienta para tomar screenshots, y luego las mismas tareas.

Este flujo no necesariamente se va adaptar a todas las necesidades, pero tienes toda una paleta de funcionalidades para resolver diferentes problemas.

¿Quieres invitarme a un cafecito?

0_qyvuaXnWMWm33Ea8

Discussion (0)