From Polyphasic Sleep Wiki

StayAwake[1] is advanced, cross-platform activity alarm system written using PyQt5. Currently, it has support for Linux and Windows, and support for macOS is planned for the future. It tracks your activity by detecting your mouse clicks and keyboard presses. If a custom defined period is reached without a user event  it will sound an alarm. It also supports other features such as automatically turning off the alarm system during your predefined sleep period and suspending operation temporarily.

StayAwake v0.5 on Ubuntu


  • Play alarms after to predefined period of inactivity
  • Auto-adjust volume for playing alarms
  • Log each inactivity (to STDOUT, log file is planned for the future)
  • Count microsleeps
  • Schedule dashboard
  • Monitor suspend
  • Move sleep times
  • Automatically suspends during defined sleep times


Go to the Releases and download the most recent release. On Linux it requires mpg123 to work properly.

To Arch Linux Users: It is available as AUR package stayawake-bin

Alarm Sounds

Collect many alarm sounds from whatever source you prefer. The program randomly plays a file from the folder. Using many different files is preferred to avoid building tolerance too quickly. Choose shorter alarms over longer ones.

Safety Warning

Please note that I am in NO WAY responsible over ANY damage caused to you through the use of this tool. You are recommended to do something other than using a computer if you still fall asleep after several alarms. Repeated use of sound alarms might cause hearing damage and/or tolerance to alarms. YOU HAVE BEEN WARNED.


  • May not work on Wayland: This program depends on pynput to detect input activity, which does not include full wayland support yet. This might change in the future.
  • Xlib.error.DisplayConnectionError: Can't connect to display ":0": b'Invalid MIT-MAGIC-COOKIE-1 key' This appears to be a pynput bug. For the time being, use xhost + command to circumvent this.
  • On macOS pynput seems to be unable to monitor both mouse and keyboard at the same time. This is also an upstream bug, and cannot be resolved before pynput is fixed.
  • For further help with the software, you may ask zandimna either on the main or wiki Discord server.