Je tape souvent les mêmes mots dans plusieurs applications:
- Éditeur (emacs, vi)
- Navigateur Web
- Coquilles
Ce serait formidable d'avoir une saisie semi-automatique des mots que j'ai tapés au cours de la dernière semaine disponible dans toutes les applications ci-dessus.
Chacun d'eux a un moyen d'améliorer la vitesse de frappe. Mais quelque chose au niveau du bureau serait le meilleur.
Exemple: "Intégration continue". Je veux un moyen rapide de taper ce mot sans changer le programme qui reçoit l'entrée.
Y a-t-il déjà quelque chose comme ça?
desktop-environments
usability
guettli
la source
la source
Réponses:
La solution à votre demande est la méthode de saisie.
Ce que vous avez décrit est quelque chose de familier à la plupart des utilisateurs du langage CJK. Passons en revue le fonctionnement de la méthode d'entrée dans les systèmes Linux actuels.
Le système de méthode d'entrée
Voici une architecture simple pour un système de méthode d'entrée commun:
NOTE: Je SNaPshot cette image du Protocole de méthode d' entrée X . Certaines flèches ne sont pas pertinentes pour la suite de la discussion.
Historiquement, XIM (le protocole X Input Method) était le seul protocole. Il est trop complexe et manque de certaines fonctionnalités souhaitées. Il est donc principalement abandonné, bien que la compatibilité soit toujours fournie par des boîtes à outils populaires comme GTK, Qt.
Un système de méthode d'entrée moderne comprend plusieurs parties:
Prise en charge de la bibliothèque côté client
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules/
)Comment ces pièces s'assemblent-elles?
Un utilisateur tape une clé. Le serveur X reçoit l'événement matériel de l'interface evdev, compose un XEvent et l'envoie à l'application sous le focus clavier. Le module de méthode d'entrée de la boîte à outils d'application (GTK, Qt) intercepte l'événement et transmet les informations au serveur de méthode d'entrée. Le serveur de méthode d'entrée détermine ce que l'utilisateur peut souhaiter et transmet du texte au module de messagerie instantanée.
Parlons maintenant de l'architecture du serveur de messagerie instantanée.
Un serveur de messagerie instantanée se compose généralement de deux parties:
Dans l'ensemble, ce qu'un MI fait est de transformer ce que vous tapez en quelque chose de différent et de fournir éventuellement des prédictions.
Un exemple
Nous utilisons
ibus-pinyin
ici pour taper quelques caractères chinois.La romanisation de 汉语拼音 est
han yu pin yin
. Au début, vous devez taper toutes ces lettres pour obtenir les quatre caractères chinois. Mais après quelques fois, il vous suffit de taper les quatre caractères initiauxh y p y
pour obtenir le caractère chinois.Dans le
ibus-pinyin
cas,han yu pin yin
est raccourci àh y p y
.Des moteurs de messagerie instantanée plus avancés utilisent des techniques d'apprentissage statistique pour fournir une meilleure prédiction. Rien ne peut vous empêcher d'écrire un moteur de méthode de saisie en anglais pour vous donner un coup de fouet.
En prime, tous les kits d'outils prennent en charge les méthodes de saisie, à l'exception de certains anciens programmes X simples. C'est donc une solution assez universelle.
Merci à Anders FU Kiær. Fonctionnalités / Typing-Booster | Fedora Project Wiki devrait être la réponse
la source
Jetez un oeil à mon script, TextSuggest .
En action:
Installation:
Installez les packages suivants:
xdotool
xclip
suckless-tools
(pourdmenu
)Attribuez ensuite 2 raccourcis clavier:
python3 /path/to/TextSuggest.py
Le premier fournira simplement une liste consultable de tous les mots. Utilisez le second lorsque vous avez du texte sélectionné et que vous souhaitez obtenir des suggestions / compléments pour celui-ci.
Les suggestions acceptées sont enregistrées en tant qu'historique (et sont ensuite suggérées en premier) dans le fichier
~/.textsuggest_history.txt
.Vous pouvez définir des mots et des extensions / alias personnalisés sur
~/.Custom_Words.txt
.la source
Jetez un oeil à Autokey . Cela pourrait répondre à vos besoins. C / P de leur site:
la source