Skip to content

Commit 76dab3e

Browse files
Merge pull request slgobinath#785 from slgobinath/master
Release v3.0.1
2 parents d64b830 + c8060fb commit 76dab3e

File tree

22 files changed

+1112
-395
lines changed

22 files changed

+1112
-395
lines changed

.github/workflows/lint.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ jobs:
1313
# this runs `ruff check`
1414
- run: ruff format --check
1515
# this runs `ruff format --check`, additionally
16+
lint-appstream:
17+
runs-on: ubuntu-latest
18+
name: appstream
19+
steps:
20+
- name: Check out source repository
21+
uses: actions/checkout@v3
22+
- run: appstreamcli validate safeeyes/platform/io.github.slgobinath.SafeEyes.metainfo.xml

.github/workflows/mypy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ jobs:
3333
- run: |
3434
sudo apt-get update
3535
sudo apt-get install -y libwayland-dev libcairo2-dev libgirepository-2.0-dev
36-
- run: uv pip install -r pyproject.toml
36+
- run: uv pip install -r pyproject.toml --extra wayland --extra x11
3737
- run: uv pip install --group types
3838
- run: mypy safeeyes

README.md

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,24 @@ Visit the official site: https://slgobinath.github.io/SafeEyes/ for more details
1717
## Safe Eyes command-line arguments
1818

1919
```text
20-
usage: safeeyes [-h] [-a | -d | -e | -q | -s | -t] [--debug] [--version]
21-
22-
Safe Eyes protects your eyes from eye strain (asthenopia) by reminding you to
23-
take breaks while you're working long hours at the computer.
24-
25-
optional arguments:
26-
-h, --help show this help message and exit
27-
-a, --about show the about dialog
28-
-d, --disable disable the currently running safeeyes instance
29-
-e, --enable enable the currently running safeeyes instance
30-
-q, --quit quit the running safeeyes instance and exit
31-
-s, --settings show the settings dialog
32-
-t, --take-break take a break now
33-
--debug start safeeyes in debug mode
34-
--status print the status of running safeeyes instance and exit
35-
--version show program's version number and exit
20+
Usage:
21+
safeeyes [OPTION…]
22+
23+
Help Options:
24+
-h, --help Show help options
25+
--help-all Show all help options
26+
--help-gapplication Show GApplication options
27+
28+
Application Options:
29+
-a, --about show the about dialog
30+
-s, --settings show the settings dialog
31+
-t, --take-break take a break now
32+
-d, --disable disable the currently running safeeyes instance
33+
-e, --enable enable the currently running safeeyes instance
34+
-q, --quit quit the running safeeyes instance and exit
35+
--status print the status of running safeeyes instance and exit
36+
--debug start safeeyes in debug mode
37+
--version show program's version number and exit
3638
```
3739

3840
## Installation guide
@@ -117,17 +119,16 @@ flatpak install flathub io.github.slgobinath.SafeEyes
117119

118120
Ensure to meet the following dependencies:
119121

120-
- gir1.2-notify-0.7
121-
- gir1.2-gtk-4.0
122-
- python3-babel
123-
- python3-croniter
124-
- python3-gi
125-
- python3-packaging
126-
- python3-xlib
127-
- python3-pywayland (optional for KDE/other wayland)
128-
- xprintidle (optional for X11)
129-
- wlrctl (optional for wayland/wlroots)
130-
- Python 3.10+
122+
- `gir1.2-notify-0.7`
123+
- `gir1.2-gtk-4.0`
124+
- `ffmpeg` or `pipewire` (any of them works)
125+
- `python3` (>= 3.10.0)
126+
- `python3-gi`
127+
- `python3-babel`
128+
- `python3-croniter`
129+
- `python3-packaging`
130+
- `python3-xlib` (required on x11)
131+
- **Optional**: Either `python3-pywayland` (provides smartpause in Wayland) or `xprintidle` (provides smartpause in x11).
131132

132133
**To install Safe Eyes from PyPI:**
133134

@@ -152,7 +153,7 @@ Note that on Wayland, this may still not be enough to get window icons working p
152153

153154
### Install in a virtual environment
154155

155-
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.
156+
Some Linux systems like CentOS do not have matching dependencies available in their repository (of course you can use the flatpak there). In such systems, you can install and use Safe Eyes in a Python virtual environment.
156157

157158
1. Install the necessary dependencies for CentOS 7
158159

@@ -221,12 +222,13 @@ The available dependency groups can be found in the `pyproject.toml` file.
221222
0. Run `update-po.sh` to generate new translation files (which will be eventually updated by translators). Commit and push the changes to the master branch.
222223
1. Checkout the latest commits from the `master` branch
223224
2. Run `python3 -m safeeyes` to make sure nothing is broken
224-
3. Update the Safe Eyes version in the following places (Open the project in VSCode and search for the current version):
225+
3. Update the Safe Eyes version. Run `./update-version.sh "version.number.number" "New version with shiny new feature"`.
226+
To manually change the version number, update the following places (Open the project in VSCode and search for the current version):
225227
- [pyproject.toml](https://github.com/slgobinath/SafeEyes/blob/master/pyproject.toml#L4)
226228
- [pyproject.toml](https://github.com/slgobinath/SafeEyes/blob/master/pyproject.toml#L35)
227229
- [io.github.slgobinath.SafeEyes.metainfo.xml](https://github.com/slgobinath/SafeEyes/blob/master/safeeyes/platform/io.github.slgobinath.SafeEyes.metainfo.xml#L56)
228230
- [about_dialog.glade](https://github.com/slgobinath/SafeEyes/blob/master/safeeyes/glade/about_dialog.glade#L74)
229-
4. Update the [changelog](https://github.com/slgobinath/SafeEyes/blob/master/debian/changelog) (for Ubuntu PPA release)
231+
4. Update the [changelog](https://github.com/slgobinath/SafeEyes/blob/master/debian/changelog) (for Ubuntu PPA release). *This is automated* if you use the `./update-version.sh` script mentioned above, but you may want to manually add more lines to describe what's new in this release.
230232
5. Commit the changes to `master`
231233
6. Create a pull-request from `master` to `release`
232234
7. Merge the PR to release **with merge commit** (Important to merge with merge commit)

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
safeeyes (3.0.1) noble; urgency=medium
2+
3+
* bugfix release
4+
5+
-- Archisman Panigrahi <[email protected]> Thu, 11 Sep 2025 22:17:07 +0000
6+
17
safeeyes (3.0.0) noble; urgency=medium
28

39
* Internal fixes for flatpak.

debian/control

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,18 @@ Package: safeeyes
1111
Architecture: all
1212
Depends: ${misc:Depends}, ${python3:Depends},
1313
python3 (>= 3.10.0),
14-
python3-xlib,
14+
python3-gi,
1515
python3-babel,
16-
x11-utils,
17-
xprintidle,
18-
alsa-utils,
1916
python3-croniter,
2017
python3-packaging,
2118
gir1.2-notify-0.7,
22-
gir1.2-gtk-4.0
19+
gir1.2-gtk-4.0,
20+
ffmpeg | pipewire
21+
Recommends:
22+
python3-xlib,
23+
python3-pywayland
24+
Suggests:
25+
xprintidle
2326
Description: Prevent eye strain with Safe Eyes – an essential screen break reminder.
2427
Safe Eyes is a simple tool to remind you to take periodic breaks for your eyes. This is essential for anyone spending more time on the computer to avoid eye strain and other physical problems.
2528
.

pyproject.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
[project]
22
name = "safeeyes"
3-
version = "3.0.0"
3+
version = "3.0.1"
44
description = "Protect your eyes from eye strain using this continuous breaks reminder."
5+
license = "GPL-3.0-or-later"
56
keywords = ["linux utility health eye-strain safe-eyes"]
67
readme = "README.md"
78
authors = [
@@ -12,7 +13,6 @@ classifiers = [
1213
"Environment :: X11 Applications :: GTK",
1314
"Environment :: Other Environment",
1415
"Intended Audience :: End Users/Desktop",
15-
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
1616
"Operating System :: POSIX :: Linux",
1717
"Programming Language :: Python :: 3",
1818
"Programming Language :: Python :: 3.10",
@@ -21,23 +21,23 @@ classifiers = [
2121
"Topic :: Utilities",
2222
]
2323
dependencies = [
24-
"pywayland",
2524
"PyGObject",
2625
"babel",
2726
"packaging",
28-
"python-xlib",
2927
]
3028
requires-python = ">=3.10"
3129

3230
[project.urls]
3331
Homepage = "https://github.com/slgobinath/SafeEyes"
34-
Downloads = "https://github.com/slgobinath/SafeEyes/archive/v3.0.0.tar.gz"
32+
Downloads = "https://github.com/slgobinath/SafeEyes/archive/v3.0.1.tar.gz"
3533

3634
[project.scripts]
3735
safeeyes = "safeeyes.__main__:main"
3836

3937
[project.optional-dependencies]
4038
healthstats = ["croniter"]
39+
wayland = ["pywayland"]
40+
x11 = ["python-xlib"]
4141

4242
[build-system]
4343
requires = ["setuptools"]

0 commit comments

Comments
 (0)