neomikr0n / ianny

Desktop utility that helps preventing repetitive strain injuries by keeping track of usage patterns and periodically informing the user to take breaks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ianny | عَيْنِي

release

Simple, light-weight, easy to use, and effective Linux Wayland desktop utility helps preventing repetitive strain injuries by keeping track of usage patterns and periodically informing user to take breaks.

Features

  • ⚙ Simple config to tweak it's behavior.
  • 🚀 Auto start it with your desktop environment.
  • 🚫 X11 is not supported.
  • 🚫 Microsoft Windows is definitely not supported.

Requirements

Installation

Download Binary From Github

For every new release a Github workflow will build a binary in Github servers and will upload it as a release asset in Github releases.

You can find the latest Github release here or the releases page here.

Build

Note You need to have cargo, meson and libdbus-1-dev installed in you system.

git clone https://github.com/zer0-x/ianny.git

cd ianny

# Checkout to a release tag e.g. v1.0.1
git checkout vx.x.x

meson build
meson compile -C build

You will find the binary in ./build/src/ianny

To install:

meson install -C build

Usage

You just need to execute the binary eather direcrly or by enabling it to auto-start with your desktop environment's settings, since it provides a .desktop file for auto-start.

Config

The defaults might not fit your needs, so you can change them via a config file.

The config file is $XDG_CONFIG_HOME/io.github.zer0_x.ianny/config.toml or by default ~/.config/io.github.zer0_x.ianny/config.toml. Just create it and specify the options you need with the toml format:

idle_timeout = 7
short_break_timeout = 20
long_break_tiemout = 64
short_break_duration = 2
long_break_duration = 7

Note Time specified in minutes

Q&A

Q: What does Ianny mean?

  • It is an Arabic word عَيْنِي that could be translated to My Eye in english.

Inspired by

About

Desktop utility that helps preventing repetitive strain injuries by keeping track of usage patterns and periodically informing the user to take breaks.

License:GNU General Public License v3.0


Languages

Language:Rust 85.3%Language:Meson 13.3%Language:Makefile 1.3%