5c0884facb
As of Python 3.12 setuptools is no longer installed by default and if setuptools is not installed distutils is not found and SafeEyes fails to start. Furthermore distutils is deprecated and should thus not be used anymore. The packaging module provides a replacement for LooseVersion and it is also recommended by PEP 632 [1]. Also update required Python version for Debian to 3.12 or newer. [1] https://peps.python.org/pep-0632/#migration-advice |
||
---|---|---|
.github | ||
debian | ||
safeeyes | ||
.gitignore | ||
LICENSE | ||
MANIFEST.in | ||
README.md | ||
setup.py | ||
update-po.sh | ||
validate_po.py |
README.md
Safe Eyes
Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder.
Visit the official site: https://slgobinath.github.io/SafeEyes/ for more details.
Safe Eyes command-line arguments
usage: safeeyes [-h] [-a | -d | -e | -q | -s | -t] [--debug] [--version]
Safe Eyes protects your eyes from eye strain (asthenopia) by reminding you to
take breaks while you're working long hours at the computer.
optional arguments:
-h, --help show this help message and exit
-a, --about show the about dialog
-d, --disable disable the currently running safeeyes instance
-e, --enable enable the currently running safeeyes instance
-q, --quit quit the running safeeyes instance and exit
-s, --settings show the settings dialog
-t, --take-break take a break now
--debug start safeeyes in debug mode
--status print the status of running safeeyes instance and exit
--version show program's version number and exit
Installation guide
Safe Eyes is available in Ubuntu PPA, Arch AUR, Gentoo and Python PyPI. You can choose any installation source and install on any Linux system with Python 3.
Ubuntu, Linux Mint and other Ubuntu Derivatives
sudo add-apt-repository ppa:safeeyes-team/safeeyes
sudo apt update
sudo apt install safeeyes
Arch
yay -S safeeyes
Gentoo
sudo emerge -av x11-misc/safeeyes
Debian
sudo apt-get install safeeyes
Fedora
sudo dnf install libappindicator-gtk3 python3-psutil cairo-devel python3-devel gobject-introspection-devel cairo-gobject-devel
sudo pip3 install safeeyes
sudo gtk-update-icon-cache /usr/share/icons/hicolor
OpenSUSE Tumbleweed
sudo zypper refresh
sudo zypper install safeeyes
Alpine Linux
sudo apk add safeeyes
Flatpak
flatpak install flathub io.github.slgobinath.SafeEyes
Other Linux & Run from source
Ensure to meet the following dependencies:
- gir1.2-appindicator3-0.1 or gir1.2-ayatanaappindicator3-0.1
- gir1.2-notify-0.7
- libappindicator-gtk3
- python3-psutil
- xprintidle (optional)
- wlrctl (wayland optional)
To install Safe Eyes:
sudo pip3 install safeeyes
After installation, restart your system to update the icons,
To run from source:
git clone https://github.com/slgobinath/SafeEyes.git
cd SafeEyes
python3 -m safeeyes
Safe Eyes installers install the required icons to /usr/share/icons/hicolor
. When you run Safe Eyes from source without, some icons may not appear.
Install in a virtual environment
Some Linux systems like CentOS do not have matching dependencies available in their repository. In such systems, you can install and use Safe Eyes in a Python virtual environment.
-
Install the necessary dependencies for CentOS 7
sudo yum install python3-devel dbus dbus-devel cairo cairo-devel cairomm-devel libjpeg-turbo-devel pango pango-devel pangomm pangomm-devel gobject-introspection-devel cairo-gobject-devel
-
Create a virtual environment in your home folder
mkdir ~/safeeyes cd ~/safeeyes/ python3 -m venv venv source venv/bin/activate pip3 install dbus-python safeeyes
-
Start Safe Eyes from the terminal
cd ~/safeeyes & source venv/bin/activate python3 -m safeeyes
For more details, please check the issue: #329
Features
- Remind you to take breaks with exercises to reduce RSI
- Disable keyboard during breaks
- Notification before and after breaks
- Smart pause if system is idle
- Multi-screen support
- Customizable user interface
- RPC API to control externally
- Command-line arguments to control the running instance
- Customizable using plug-ins
Third-party Plugins
Thirdparty plugins are available at another GitHub repository: safeeyes-plugins. More details about how to write your own plugin and how to install third-party plugin are available there.
How to Release?
- Checkout the latest commits from the
master
branch - Run
python3 -m safeeyes
to make sure nothing is broken - Update the Safe Eyes version in the following places (Open the project in VSCode and search for the current version):
- Update the changelog (for Ubuntu release)
- Commit the changes to
master
- Create a pull-request from
master
torelease
- Merge the PR to release with merge commit (Important to merge with merge commit)
License
GNU General Public License v3