GithubHelp home page GithubHelp logo

pirate / macos-global-autocomplete Goto Github PK

View Code? Open in Web Editor NEW
40.0 5.0 4.0 16 KB

:page_with_curl: System-wide autocompleting that learns what you type and works in any app! (also slightly scary maybe don't use this...)

License: MIT License

Python 18.39% Shell 4.15% Makefile 4.81% C 72.65%
macos macos-app autocomplete pypy redis productivity-tools bitbar-plugin bitbar

macos-global-autocomplete's Introduction

System-Wide Autocomplete for macOS

An autocomplete prompt app for macOS that learns what as you type and works in all text fields system-wide!

The idea was to have a small, global popup in your menubar or as a transparent dropdown, where autocomplete suggestions are provided based on all words ever typed on the computer.

Unfortunately this just has too many downsides. You're essentially continually keylogging yourself for minor convenience, and it has the potential to reveal passwords or embarrassing information in your typing history to anyone who can see your screen.

However, if you don't type anything embarrasing and have eschewed typing passwords in favor of a password manager, hack away, the code is free for all to use.

See the alternatives section at the bottom for some other potential approaches.

Install

WARNING: INSTALLING THIS PACKAGE IS DANGEROUS, IT'S EFFECTIVELY A KEYLOGGER THAT WRITES EVERYTHING YOU TYPE IN PLAIN TEXT TO /var/log/keystroke.log. DO NOT INSTALL THIS UNLESS YOU ARE OK WITH COMPLETELY PWN'ING EVERYTHING YOU DO ON YOUR COMPUTER FOR THE SAKE OF MILD PRODUCTIVITY GAINS

1. Install BitBar: https://getbitbar.com/

2. Install Dependencies

brew install redis pypy
brew services start redis
pypy -m "pip" install --upgrade pykeyboard redis

git clone https://github.com/pirate/macOS-global-autocomplete.git
cd macOS-global-autocomplete

3. Set up macOS-global-autocomplete

Edit bitbar-autocomplete.1s.sh to point to the correct path of the git repo you just cloned.

/usr/local/bin/pypy /path/to/macOS-global-autocomplete/autocomplete.py

Then copy it into your plugins folder to enable it in BitBar:

cp bitbar-autocomplete.1s.sh /path/to/bitbar/plugins/folder

4. Verify that it's working

tail -f /var/log/keystroke.log

And start typing to see if things show up...

TODO:

  1. add helper script to train redis trie on /usr/share/dict/words, python standard library, etc.
  2. add config file to set insertion key commands
  3. finish insert code using pyuserinput
  4. add code to rotate /var/log/keystroke.log
  5. add hashing blacklist functionality to exclude obsenties, sensitive words, passwords, etc.

Alternatives

macos-global-autocomplete's People

Contributors

pirate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.