Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder
GPL-3.0 License
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.
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
Safe Eyes is available on the official repositories of many popular the distributions.
It is also available in Ubuntu PPA, Arch AUR and Python PyPI. You can choose any installation source and install on any Linux system with Python 3.
The Official PPA for Safe Eyes hosts the latest version of safeeyes for Ubuntu 22.04 and above.
sudo add-apt-repository ppa:safeeyes-team/safeeyes
sudo apt update
sudo apt install safeeyes
On older versions of Ubuntu, an older version of Safe Eyes is available on the official repositories.
sudo apt install safeeyes
yay -S safeeyes
sudo emerge -av x11-misc/safeeyes
sudo apt-get install safeeyes
If you want to use Smart Pause plugin, install the latest xprintidle from: alonid/xprintidle
sudo dnf install python3-psutil python3-packaging cairo-devel python3-devel gobject-introspection-devel cairo-gobject-devel
sudo pip3 install safeeyes
sudo gtk-update-icon-cache /usr/share/icons/hicolor
We are looking for an official package maintainer for Fedora. Please contact us if you are interested.
sudo zypper refresh
sudo zypper install safeeyes
sudo apk add safeeyes
Warning: Many plugins and features don't work well in the flatpak. We recommend that you use one of the native packages listed above. Flatpak-only bugs should be reported at https://github.com/flathub/io.github.slgobinath.SafeEyes.
flatpak install flathub io.github.slgobinath.SafeEyes
Ensure to meet the following dependencies:
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.
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 safeeyes
Start Safe Eyes from the terminal
cd ~/safeeyes & source venv/bin/activate
python3 -m safeeyes
For more details, please check the issue: #329
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.
When adding new translatable strings in the source code, make sure to run python validate_po.py --extract
to add them to the translation template. You will need to install python3-polib
for this.
Examples for translatable strings are _("This is a string")
in Python code, or <property name="label" translatable="yes">This is a label</property>
in Glade/xml files.
To ensure the new strings are well-formed, you can use python validate_po.py --validate
.
update-po.sh
to generate new translation files (which will be eventually updated by translators). Commit and push the changes to the master branch.master
branchpython3 -m safeeyes
to make sure nothing is brokenmaster
master
to release
First check if translations for your language are already available on Weblate, which is the cloud based translation platform we use.
GNU General Public License v3