Skip to content

GGTY81/NoIdle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real input-based inactivity detection for Linux and Wayland.






🧠 What is NoIdle?

NoIdle is a lightweight CLI tool for Linux that prevents session timeout by simulating minimal mouse activity — only when real inactivity is detected.

Unlike traditional “mouse jigglers”, NoIdle:

  • ✅ Detects real mouse inactivity using libinput
  • ✅ Works properly under Wayland
  • ✅ Avoids constant fake movement
  • ✅ Keeps your session active without interfering with your workflow

🎯 Why NoIdle?

Most existing tools:

  • ❌ Move the mouse constantly
  • ❌ Break under Wayland
  • ❌ Cause unwanted UI interactions
  • ❌ Are unreliable in modern Linux environments

NoIdle does it right:

It only acts when your mouse is truly idle.


⚙️ How It Works

  1. Monitors mouse activity using:
libinput debug-events
  1. Tracks the last real user interaction timestamp

  2. When inactivity exceeds the defined interval:

  • triggers a minimal movement using:
evemu-event
  1. Resets the inactivity timer

📦 Requirements

Install dependencies:

sudo apt update
sudo apt install evemu-tools libinput-tools

🔧 Dependency Breakdown

Package Purpose
libinput-tools Detects real mouse activity
evemu-tools Simulates precise mouse movement

🚀 Installation

Option 1 — Quick Install

git clone https://github.com/GGTY81/noidle.git
cd noidle
chmod +x install.sh
./install.sh

Option 2 — Manual Install

chmod +x noidle.sh
sudo cp noidle.sh /usr/local/bin/noidle

▶️ Usage

Run in foreground (debug mode)

noidle run --interval 5 --distance 100 -v

Run in background

sudo -v
noidle start --interval 60 --distance 1

Toggle (recommended)

noidle toggle --interval 60 --distance 1

Stop

noidle stop

Status

noidle status

List mouse devices

noidle list-devices

🧪 Example

noidle run -i 10 -d 2 -v

This will:

  • wait 10 seconds of inactivity
  • move the mouse by 2 pixels
  • print debug logs

⚠️ Notes

  • Requires sudo for:

    • evemu-event
    • libinput debug-events
  • To avoid password prompts during execution:

sudo -v

🔒 Wayland Compatibility

NoIdle is designed specifically for Wayland environments, where traditional tools fail.

It avoids:

  • X11 dependencies
  • Fake cursor injection
  • Broken hacks

💡 Use Cases

  • Generating long reports
  • Preventing session timeout
  • Remote support tasks
  • Automation workflows
  • IT environments

🧠 Philosophy

Don't fake activity — detect it.


👨‍💻 Author

Giovanni Grimaldi Torelly
GitHub: https://github.com/GGTY81


📄 License

This project is licensed under the GNU GPL v3 License.

See the LICENSE file for details.

About

NoIdle is a Linux CLI tool that prevents session idle by simulating minimal mouse movement only when real inactivity is detected — fully compatible with Wayland environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages