A menudo escribo las mismas palabras en varias aplicaciones:
- Editor (emacs, vi)
- Navegador web
- Conchas
Sería genial tener un autocompletado de las palabras que escribí durante la última semana disponibles en todas las aplicaciones anteriores.
Cada uno de ellos tiene una forma de mejorar la velocidad de escritura. Pero algo a nivel de escritorio sería lo mejor.
Ejemplo: "Integración continua". Quiero una forma rápida de escribir esta palabra sin cambiar el programa que recibe la entrada.
¿Ya hay algo como esto?
desktop-environments
usability
guettli
fuente
fuente
Respuestas:
La solución a su solicitud es el Método de entrada.
Lo que ha descrito es algo familiar para la mayoría de los usuarios del lenguaje CJK. Repasemos cómo funciona el método de entrada en los sistemas Linux actuales.
El sistema de método de entrada
Aquí hay una arquitectura simple para un sistema de método de entrada común:
NOTA: Yo Snapshot esta imagen de la entrada X Protocolo Método . Algunas de las flechas son irrelevantes para la siguiente discusión.
Históricamente, XIM (el protocolo X Input Method) fue el único protocolo. Es demasiado complejo y carece de algunas características deseadas. Por lo tanto, está mayormente abandonado, aunque los kits de herramientas populares como GTK, Qt todavía proporcionan compatibilidad.
Un sistema moderno de método de entrada contiene varias partes:
Soporte de biblioteca del lado del cliente
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/
)¿Cómo encajan estas partes?
Un usuario escribe una clave. El servidor X recibe el evento de hardware desde la interfaz evdev, compone un XEvent y lo envía a la aplicación bajo el foco del teclado. El módulo de método de entrada del kit de herramientas de aplicación (GTK, Qt) intercepta el evento y pasa la información al servidor del método de entrada. El servidor del método de entrada calcula lo que el usuario puede desear y pasa parte del texto al módulo de MI.
Ahora, hablemos sobre la arquitectura del servidor de mensajería instantánea.
Un servidor de mensajería instantánea generalmente consta de dos partes:
Con todo, lo que hace un IM es transformar lo que escribe en algo diferente y, opcionalmente, proporcionar predicciones.
Un ejemplo
Usamos
ibus-pinyin
aquí para escribir algunos caracteres chinos.La romanización de 汉语拼音 es
han yu pin yin
. Primero, debe escribir todas estas letras para obtener los cuatro caracteres chinos. Pero después de algunas veces, solo necesita escribir los cuatro caracteres inicialesh y p y
para obtener el carácter chino.En el
ibus-pinyin
caso,han yu pin yin
se acorta ah y p y
.Los motores de mensajería instantánea más avanzados utilizan técnicas de aprendizaje estadístico para proporcionar una mejor predicción. Nada puede impedirle escribir un motor de método de entrada en inglés para proporcionar un impulso de escritura.
Como beneficio adicional, todos los kits de herramientas tienen soporte para métodos de entrada, excepto algunos programas X antiguos. Entonces esta es una solución bastante universal.
Gracias a Anders FU Kiær. Características / Typing-Booster | Fedora Project Wiki debería ser la respuesta
fuente
Echa un vistazo a mi script, TextSuggest .
En acción:
Instalación:
Instale los siguientes paquetes:
xdotool
xclip
suckless-tools
(paradmenu
)Luego asigne 2 atajos de teclado:
python3 /path/to/TextSuggest.py
El primero simplemente proporcionará una lista de búsqueda de todas las palabras. Use el segundo cuando tenga texto seleccionado y desee obtener sugerencias / finalizaciones para él.
Las sugerencias aceptadas se almacenan como historial (y luego se sugieren primero) en el archivo
~/.textsuggest_history.txt
.Puede definir palabras personalizadas y expansiones / alias en
~/.Custom_Words.txt
.fuente
Echa un vistazo a Autokey . Puede ajustarse a tus necesidades. C / P de su sitio:
fuente