Home

Awesome

<div align = center> <h1>Ianny | عَيْنِي</h1>

release

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


<kbd><br><b>Install</b><br><br></kbd> <kbd><br><b>Contribute</b><br><br></kbd> <kbd><br><b>Packaging</b><br><br></kbd>


</div>

Features

Requirements

Installation

Packaging status

Arch Linux

All packages are available on AUR, you can:

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 your system.

git clone https://github.com/zefr0x/ianny.git

cd ianny

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

meson setup builddir -Dbuildtype=release
meson compile -C builddir

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

[!NOTE] For cross compilation you will need to set the rustc_target meson option, and create .cargo/config.toml file to set a linker to be used for your target.

To install:

meson install -C builddir

Usage

You just need to execute the binary eather directly 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.zefr0x.ianny/config.toml or by default ~/.config/io.github.zefr0x.ianny/config.toml. Just create it and specify the options you need with the toml format:

[timer]
# Timer will stop and reset when you are idle for this amount of seconds.
idle_timeout = 240
# Active duration that activates a break.
short_break_timeout = 1200
long_break_timeout = 3840
# Breaks duration.
short_break_duration = 120
long_break_duration = 240

[notification]
show_progress_bar = true
# Minimum delay of updating the progress bar (lower than 1s may return an error).
minimum_update_delay = 1

[!Note] Time specified in seconds

Q&A

Q: What does Ianny mean?

Inspired by