A menudo copio pequeños fragmentos de texto separados y los pego en otro lugar. Después de eso, siempre necesito editar el resultado pegado de una manera bien definida, que se puede describir a través de un reemplazo de expresión regular similar a, por ejemplo. sed
‘s s/PATTERN/REPLACEMENT/
comando.
Me gustaría automatizar la parte de edición de esta tarea haciendo que un script procese automáticamente el contenido del búfer de mi portapapeles en algún momento entre copiar y pegar y modificarlo aplicando un reemplazo de expresión regular configurado.
El patrón real de expresión regular y el reemplazo deben ser ingresados por el usuario cuando se inicia el script y también debería indicar de alguna manera que se está ejecutando, p. dejando una pequeña ventana de diálogo abierta y enviando una notificación de escritorio cada vez que se haya realizado una modificación.
Respuesta aceptada:
Introducción
La forma en que se publica la pregunta requiere más que solo tener un script simple, sino también una interfaz GUI para habilitar/deshabilitar el script. Descubrí que sería más fácil lograrlo a través de un indicador de aplicación al que se podría acceder desde el panel superior de Ubuntu. Esta respuesta presenta exactamente eso como una solución.
El clipboard-autoedit-indicator
, que he escrito específicamente para esta pregunta, permite la edición automática del contenido del portapapeles en función de una expresión regular (elección de sed
o re
de python estilo ). Utiliza el módulo portapapeles de Gtk y dependencias mínimas, por lo que no es necesario instalar herramientas adicionales como xclip
o xsel
.
Instalación
Ejecute los siguientes comandos en la terminal:
sudo add-apt-repository ppa:1047481448-2/sergkolo
sudo apt-get update
sudo apt-get install clipboard-autoedit-indicator
Uso
El indicador se puede iniciar escribiendo en Unity Dash Clipboard Autoedit
o llamando a /usr/bin/clipboard-autoedit-indicator
desde la línea de comandos. Hay dos iconos indicadores (icono de portapapeles en color y atenuado) para mostrar cuando la edición dinámica del portapapeles está habilitada o deshabilitada. Cuando se produce la edición, se envía una notificación al usuario.
El elemento del menú "Establecer patrón de expresiones regulares" llama a zenity
diálogo de formularios. Cuando el usuario edita la regla de expresiones regulares, se recuerda y almacena en ~/.clipboard-autoedit-config.json
expediente. La edición dinámica se habilitará automáticamente cuando el usuario haga clic en Aceptar botón, pero los usuarios pueden deshabilitarlo a través del elemento de menú de verificación "Reemplazo habilitado". El tipo de expresión regular por defecto es re
de python módulo.
Código fuente
El código fuente está disponible bajo la licencia MIT en GitHub. El desarrollo adicional y las versiones más nuevas estarán allí, y si tiene una solicitud de función y / o un informe de error, envíelos en GitHub.
Relacionado:¿Qué son los juegos Steam Gems Steam?