[HN Gopher] Espanso Cross-Platform Text Expander
___________________________________________________________________
Espanso Cross-Platform Text Expander
Author : enbugger
Score : 93 points
Date : 2022-08-26 09:31 UTC (13 hours ago)
(HTM) web link (espanso.org)
(TXT) w3m dump (espanso.org)
| anyfactor wrote:
| I have been a long time user of Espanso. It is an absolute
| godsend.
|
| I used to work in social media management, I used to have bunch
| of `insert_generic_response` for birthdays to weddings to
| inquiries. I would have a random response generated with an
| Espanso hotkey for each purpose.
|
| Now, I store my token, curl commands, documentation, code
| snippets well.... being a DevRel I still use
| `insert_generic_response` but with more technical content!
| elesbao wrote:
| Looks like a neat idea but having any kind of keylogger installed
| in my machine gives me second thoughts(a keylogger has the same
| principle of intercepting typed words and tags but instead of
| replacing them according to a backend system it sends the text
| away or store so some other party can read)
| federicoterzi wrote:
| Author here :) This is definitely a good concern to have,
| though Espanso was built with security in mind, so the keys you
| press are not logged anywere. We keep the last N in memory
| (with N being usually between 5 to 30 chars) to do the
| matching, and discard them as soon as possible
| majkinetor wrote:
| Autohotkey has this, called hotstrings, and you can even bind
| functions and much more. Not cross platform tho.
| flarg wrote:
| AHK is probably the big boy in this field and it has saved me
| 100s of hours of typing.
| throwaway888abc wrote:
| Syncing across devices and Android, please. With love
| subpixel wrote:
| I share an Espanso package with my team of juniors and it is
| awesome.
| kretaceous wrote:
| Long time Espanso user (1+ year). It is one of those things I
| will lose my mind because my muscle memory is tuned to its
| shortcuts.
|
| I often type the same shortcuts in my Android device out of
| habit. So you can tell that I'm waiting for an Android version!
| I'm working around it by adding words to custom dictionary in
| Google Keyboard. But I'd love to be able to use the same .yaml
| file for my phone. I'm not necessarily talking about sync as I
| don't change the file often.
|
| One more thing about is the GUI search bar they have added. It
| has rough edges (doesn't react to my shortcut, etc.) but I'm sure
| it will get better.
|
| Love Espanso! Thanks and all the best to Federico, the creator
| and maintainer.
| federicoterzi wrote:
| Thanks for the kind words! We are working hard to improve the
| experience, hopefully on Android as well in the future :)
| jdoss wrote:
| Long time Espanso user and supporter of Federico's work. It is
| fantastic FOSS and it helps me get stuff done everyday. His
| project was the first one that I sponsored on GitHub which he
| recently discontinued using for donations. I have to figure out
| how to buy him a monthly coffee now.
|
| Also, here is a gist of my non-work specific Espanso snippets. I
| share (overshare??) what I am listening to on Spotify many times
| a day with my friends and coworkers, so the Spotify specific one
| gets used a lot!
|
| https://gist.github.com/jdoss/64c663e24cca2052842701e13db77d...
| federicoterzi wrote:
| Thanks Joe, I really appreciate the kind words :)
| riffic wrote:
| espanso is a lovely tool.
| smcn wrote:
| Ha, I wrote something like this previously which I called Rabbit.
| It was in scheme, and would essentially watch for text between
| two carets (hence Rabbit, because it ate carets) and then the
| first word would be the function to run, with each subsequent
| word its argument.
|
| It was cool to use and show off to colleagues but it was such a
| hacky piece of work as I used xev to grabs a windows input and
| worked off of that.
|
| This looks _much_ better!
| yewenjie wrote:
| What do people use Espanso for? I like the idea of the project
| but never really found a good use case for? The only thing I
| expand so far (using custom QMK setup on the keyboard itself) is
| my email.
|
| Also, is there any package that lets you cycle between your
| clipboard as you type anywhere?
| federicoterzi wrote:
| The Hub [1] is a good source of inspiration if you're curious
| :)
|
| [1]: https://hub.espanso.org/search
| kretaceous wrote:
| > cycle between your clipboard
|
| I'm not sure what you mean but if you want really nice
| clipboard management, with great UX, CLI and scripting
| capabilities, check out CopyQ[1]. Have been using it for a year
| and love it.
|
| 1: https://hluk.github.io/CopyQ/
| yewenjie wrote:
| I have previously enjoyed CopyQ. However, now I use a more
| minimal setup that uses rofi. By cycling through I meant this
| - I paste something from clipboard using a keybind, and then
| trigger keybind that erases the pasted thing and inserts the
| previous element from the clipboard and so on.
| st0le wrote:
| One of my most common workflow is I copy the name of a
| "resource" and have to type out some diagnostic queries.
|
| So I have espanso trigger on a shortcut and autofill queries
| with the clipboard being used as a placeholder.
| Rebelgecko wrote:
| I have a lot of long strings I type at work (like paths I cd to
| often, urls, etc). I've abbreviated most of them to 3-4 letters
| with Espanso. I've tried using some of the fancy form building
| stuff but it seemed a bit rough still (although I'm still on
| 0.7.3)
| sciuromorpha_ wrote:
| I'm forever surprised how much this has improved my day to day
| working life. Simple things like having to input test email
| addresses and passwords on our dev environment repeatedly, or
| typing out addresses, or scaffolding basic scripts and code, or
| massively speeding up note taking. Genuinely worth digging in to.
| koevet wrote:
| Do you mind expanding (!) on how you use expanso for note
| taking? Thanks!
| memorable wrote:
| Just tried this! Really awesome and cool!
| rabbitofdeath wrote:
| I absolutely ADORE Espanso - I use it for stupid stuff, but for
| note taking and formatting dates I love it. I just have simple
| expansions `:gp` does `git pull` `:dcd` does `docker-compose
| down` and for common tasks, you can do alot!
| blacksmith_tb wrote:
| That's interesting, I haven't been using it for things like
| that (which I usually just alias in my .zshrc), but I do go the
| other way and run shell commands in text input anywhere that
| isn't a terminal, it's super cool to be able to type ;extip (I
| like semicolon better than colon, since it doesn't trigger
| emojis in Slack etc.) and have Espanso curl ipinfo.io and pipe
| the return through jq to drop my current IP into anything,
| anywhere.
| adhesive_wombat wrote:
| This is a way better configuration system than AutoKey's (not
| AutoHotKey[1]) clunky GUI.
|
| [1]: also this is not easily confused with another similar
| program when searching like AK/AHK.
| albertzeyer wrote:
| I was wondering how this was done technically, i.e. how it gets
| the current text content, and how it would do the text
| replacement.
|
| From a quick glance, it looks like for getting the text, it
| listens to all the keyboard events globally. I can imagine many
| potential problems and shortcomings with this approach, but on
| the other side, this is probably the most simple and most generic
| solution, working for almost every application.
|
| For sending the text, it does sth similar, i.e. it just injects
| global key events. Probably first some key backspace events to
| delete the old text, and then the keys for the replacement text.
|
| https://github.com/espanso/espanso/blob/dev/espanso-inject/s...
|
| But maybe I understand the code wrong. I did not delve too deep
| into it.
| kamban wrote:
| I have seen its codebase, and even took some inspiration for my
| Elephas app. The founder is an expert I can say.
| federicoterzi wrote:
| Author here :) You're pretty close! Espanso currently uses a
| combination of key injection + clipboard to get the best
| results. There are still some edge cases, but we are trying to
| solve them with other approaches, such as using custom Input
| Methods (the same mechanism used for some languages like
| Chinese)
| SaulJLH wrote:
| Any plans for AHK support? v1, but esp. v2:
| https://www.autohotkey.com/
| veidr wrote:
| I think there is literally no other way to do this well.
|
| Maybe for some subset of applications and OS, it could work,
| but Espanso works with virtually _everything_ on Mac and Linux.
| (Windows too I think but I don't use it there.)
|
| It does require a high degree of trust, but otoh it is
| extremely useful.
|
| It is one of the most useful pieces of software I have ever
| used, so I'm willing to extend it a level of trust similar to
| my OS or password manager.
| n8henrie wrote:
| I'm a big fan of espanso! I use it on my MacBook, my Linux
| desktop, and on Windows at work. Works very well on all three. I
| use many plain / dumb snippets, a few forms and date-based ones,
| and a few shell and Powershell scripts.
|
| I also would feel bad if I didn't mention that the main developer
| seems _incredibly_ nice. I looked at this as a rust project to
| which I might be able to make minor contributions as a newb
| (which I still haven 't done unfortunately). Federico goes out of
| his way to respond (quickly) to GH issues or posts on the
| subreddit in the kindest way imaginable.
| federicoterzi wrote:
| Thanks for the kind words! Glad you found it useful :) Lately
| I've been less responsive due to some life circumstances, but
| I'm slowly getting up to speed again :)
| sanketpatrikar wrote:
| I love Espanso! I've been using it for inserting everything from
| email addresses to site:reddit.com
|
| I wish it was available for Android. For now, I use the text
| expansion feature built into Gboard, but it has a short text
| limit, which limits its usefulness.
| desireco42 wrote:
| I don't mind listening to my typing, I do get concerns... what I
| can't think of, is how I would use it, can you please share more
| examples of your day to day usage, as current day... I really
| don't need that as much.
|
| Thanks
| arabello wrote:
| My simple uses cases: - Write repetitive stuff
| across any application, eg. my email is pretty long, so I
| expand it with a short ':e' trigger) - Expand boring
| code, eg. functional programming functions to snap into
| pipelines - Drop emojis here and there
| (https://hub.espanso.org/all-emojis) - Write accented
| letters not available on the keyboard (I use a US keyboard, but
| I need to write Italian on a daily basis) - Drop lorem
| ipsum paragraphs
|
| With some setup, the config is synced between my personal and
| work Macbooks. I think I will also use it for email templating
| soon.
| kiike wrote:
| Re: accented letters
|
| I have been using the US international keyboard both at home
| and at work. It is a blessing so that I don't have to change
| keyboard layouts when changing languages, since it provides
| grave and acute accents (e.g. for French), the double s
| German letter and umlauts, euro symbol, etc. and also plays
| nice with programming languages and UNIX shell: for instance,
| quick access to slash, curly and square brackets with the
| same modifier key, backticks without modifier keys. Another
| advantage is that the layout is the same as the US keyboard
| you are already used to, just that some keys have new
| effects.
| federicoterzi wrote:
| The Espanso Hub is great if you need some inspiration :)
| https://hub.espanso.org/
___________________________________________________________________
(page generated 2022-08-26 23:01 UTC)