¿Existe una alternativa a AutoKey?

¿Existe una alternativa a AutoKey?

Esta pregunta ya fue hecha.aquí7 meses, pero no tuvo respuesta correcta. Entonces me gustaría preguntar nuevamente: ¿Existe una alternativa a AutoKey, que ejecuta expansiones de texto cuando se escriben abreviaturas específicas? Mi problema es que AutoKey omite letras aleatoriamente cuando uso esta función en Thunderbird, mientras que siempre funciona bien en un editor de texto. Este problema ocurre desde Ubuntu 13.10.

Respuesta1

Snippy parece funcionar bastante bien para mí. Sin GUI, pero bastante funcional. Me alegro de haber encontrado finalmente un reemplazo.

http://leon.vankammen.eu/tech/snippy-autocompletion-for-console-and-browser-window-manager-using-bash.html

El enlace también menciona otra opción en los comentarios.

Snippy en sí está disponible a través de una tinyurl y la instalación es la siguiente:

curl -L "http://tinyurl.com/o9d6ch5" > snippy.sh 
chmod 755 snippy.sh
./snippy.sh

Alternativamente, parece haber una versión mejorada ubicadaaquí en github

La instalación funciona igual.

Respuesta2

De hecho, Snippy demostró ser una muy buena idea; ahora tengo un menú de scripts en el escritorio.

Sin embargo, resultó necesaria una reestructuración, ya que xdotool no funciona tan bien hoy en día con nombres de ventanas (y probé todas las soluciones posibles: mi sistema operativo es Ubuntu 22.04 con XFCE).

Solo mantuve dmenu:

#!/bin/bash
# snippy re-engineered

DIR=${HOME}/.snippy
APPS="dmenu"
DMENU_ARGS="-b"
TERMINAL=tilix # change to your favorite

init(){
  for APP in $APPS; do 
    which $APP >/dev/null 2>&1 || {
      read -p "install the following required utils? : $APPS (y/n)" reply
      if [ "$reply" == "y" ]; then
       sudo apt install --assume-yes ${APPS}; 
      fi
    }
  done
  if [ ! -d "$DIR" ]; then
    echo -e "created $DIR\n";
    mkdir "$DIR"; 
    printf 'hi it is $(date)' > "$DIR""/test";
  fi
  return 0
}

run(){
  # Use the filenames in the snippy directory as menu entries.
  cd ${DIR} 
  # Get the menu selection from the user.
  FILE=`find -L .  -type f | grep -v '^\.$' | sed 's!\.\/!!' | sort | /usr/bin/dmenu ${DMENU_ARGS}`
  
  # open terminal and execute
  if [ -z "$FILE" ]; then
      exit
  else
      ${TERMINAL} --title=$FILE --command="$SHELL $DIR/$FILE"
  fi

}

init && run

Esta actualización llega después de muchos años, pero ha resultado útil.

información relacionada