10

This questions was already asked here 7 months, but had no correct answer. So I would like to ask again: Is there an alternative to AutoKey, which executes text expansions, when specific abbreviations are typed? My problem is that AutoKey skips randomly letters when I use this function in Thunderbird, while it always works fine in a text editor. This problem occurs since Ubuntu 13.10.

muru
  • 207,228
rapstacke
  • 357

2 Answers2

7

Snippy seems to work for me quite nicely. No GUI, but quite functional. Glad I finally found a replacement.

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

The link also mentions another choice in the comments.

Snippy itself is available via a tinyurl and installation is as follows:

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

Alternatively, there appears to be an enhanced version located here in github

Installation works the same.

opennomad
  • 254
0

Snippy actually proved to be a very good idea, now I have a menu of scripts on the desktop.

A restructuring proved necessary, though, as xdotool doesn't work so well these days with window names ( and I tried every possible solution -my OS is Ubuntu 22.04 w/XFCE ).

I kept only 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

This update comes after many years, but it's proved helpful.

Giorgos Saridakis
  • 768
  • 1
  • 5
  • 13