• Stars
    star
    254
  • Rank 155,002 (Top 4 %)
  • Language
    Go
  • License
    MIT License
  • Created about 5 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a minimalistic go library/app to keep your mac active and alive

Presenting the minimalistic Automatic-Mouse-Mover(AMM) app!

version Go Report Card godoc-badge codecov

Ever felt the need to keep your machine awake without actually having to move the mouse pointer manually at regular intervals? Well, not anymore!

Introducing the simplest app that has the sole purpose of moving your mouse pointer at regular intervals so that your machine is kept awake! And best of all, it works ONLY when you are not working, so be rest assured that the mouse won't start moving on its own without the machine actually being idle.

Table of contents

How it's different from other apps

The main difference between this app and other apps is that this app keeps your machine awake, whereas other apps keep your machine from going to sleep. Let me explain.

If you use a messaging app like Slack, they are programmed to automatically change your status to Away when you don't interact with your machine for a certain amount of time. Apps which keep your machine from going to sleep will not be able to stop that. This app will prevent that, since it is actively keeping your machine awake by moving the mouse pointer.

This comes very close to simulating an actual user using the machine, which the other apps cannot do.

So if you want something that will keep your mac awake as long as you don't manually put it to sleep, then this is for you!

How I use it

I always have this app working in the background for me whenever I work from home, so that I can take a break from work, strech my legs, go for a short walk, come back and still have my slack open and set to active! (not having to type in my password every time is awesome, for machines without fingerprint sensors anyway).

Also if I need to go out for longer, I just close the lid, and off goes my mac to sleep!

Work from home benefit

Since this app actively keeps your machine awake, your messaging app will never go on idle and put your status as Away.

Demo

You just click on Start, and AMM will take care of moving your mouse whenever it feels that the system has been left idle for a minute. It's as simple as this.

How to install

Install from binary

  1. Download the latest amm.app.zip from the releases page, unzip it, and copy the .app to your Applications folder like any other application.

  2. Since the application is not notarized, you will need to right click on the .app and choose Open.

  3. You will see a scary message that warns you about all the bad things that the app can do to your computer. If you are paranoid (fair enough, you don't really know me that well) then you can skip to the section which builds the app from source. That way you can see what exactly the app does (You can check that the application makes no connections to the internet whatsoever).

  4. In case you do trust me, once you click on Open, you might encounter an initial Access request which I've discussed in the next section.

Install from source

Make sure you have go installed. Once that is done, clone this repo and run Make, it should create the amm.app and open the folder where it was built for you. Copy the .app to your Applications folder like any other application.

Double click on the app, and the cute mouse should appear on your taskbar on top of your screen. Once you click on Start, you might encounter an initial Access request which I've discussed in the next section. If not, then you are all set!

Granting access for moving the mouse cursor

While starting the app, you might see a message like the one below or an error stating Mouse pointer cannot be moved.

Don't worry, it's nothing sinister, it's just that Mac doesn't allow apps to gain accessibility to the computer by default (even standard apps like Automator, Firefox etc. who might want to access some features need to go through the same process).

In order to resolve this error you need to:

Go to System Preferences -> Security & Privacy -> Privacy -> Accessibility and allow the amm app to gain access.

If you still see the error, try to quit and start the app again (the age-old way of fixing everything).

How it works

Every 60 seconds, AMM uses Activity tracker to track the various changes that happened in your system during that time, like cursor movement, mouse clicks, screen changes etc. Whenever AMM detects a change in the system, it knows that the system is busy and will not do anything. If not, it moves the mouse cursor ever so slightly, enough to keep your Mac awake for eternity.

All code is public and open-sourced so no worrying if there's nefarious intention involved in recording your activity or not.

Contributions welcome!

Please feel free to contribute and make this open source app even better! Adding more pluggable activities to Activity tracker will make sure that AMM works even better!

More Repositories

1

firewalld-rest

A rest application to update firewalld rules on a linux server
Go
336
star
2

mac-sleep-notifier

macOS Sleep/ Wake notifications in golang
Go
30
star
3

activity-tracker

A library to notify about any (pluggable) activity on your machine, and let you take action as needed
Go
26
star
4

lua-top-down-multiplayer

A simple top-down multiplayer game built using LÖVE
Lua
17
star
5

clipboard-manager

Clippy - A minimalistic clipboard manager in python
Python
16
star
6

go-clip

A minimalistic clipboard manager for Mac.
Go
12
star
7

snake-javascript

Learning sockets and javascript the fun way. This is the snake game using javascript and p5! Includes a leaderboard! (p5.js + socket.io + cookies + redis backend)
JavaScript
8
star
8

OpenWeatherMap

An app to query the OpenWeatherMap api and display the results on an HTML page. Uses Ajax, Express and Needle
HTML
2
star
9

python-air-hockey

An air hockey game in python using pyxel
Python
2
star
10

Ring-Message

An Android app which lets you save personalized messages for contacts, so when they call you or you call them, message pops up on screen reminding you what to ask or say!
Java
2
star
11

bulk-email-downloader

A bulk email downloader from an IMAP server written in go
Go
2
star
12

MyWebApplication

A simple web application which uses Servlets, JSP's, JSTL, Ajax and Hibernate
Java
2
star
13

vercel-js

JavaScript
1
star
14

go-design-patterns

go-design-patterns
Go
1
star
15

go-fantasy

A golang based fantasy premier league scraper!
Go
1
star
16

git-test

Testing git features
1
star
17

mozart

An orchestrator to control script execution - moved to URL below
1
star
18

Salt-Stack

An attempt to understand Salt Stack and it's use in configuration management
Shell
1
star
19

go_scraper

a web scraper in go
Go
1
star
20

semantic-release-golang

A repo to test automatic semantic releaser for golang
1
star
21

rock-paper-scissors

Playing rock, paper and scissors using Visual Recognition (with IBM Watson) using the webcam!
Python
1
star
22

go-fantasy-grpc

The gRPC implementation of my go-fantasy application. Purely for learning go-lang and grpc!
Go
1
star
23

go-chat

HTML
1
star
24

Coderbyte-challenges

Challenges completed for coderbyte.com
Java
1
star
25

REST-messenger

A messenger application using RESTful web services
Java
1
star
26

prashantgupta24

1
star
27

bash_backup

Shell
1
star
28

tic-tac-toe

the famous tic-tac-toe in javascript! Complete with AI or 2 player ! (minimax + socket.io)
JavaScript
1
star
29

python-web-scraper

A scraper in python for collecting car data from a website
Jupyter Notebook
1
star