Metadata-Version: 2.4
Name: postured
Version: 1.2.0
Summary: A Linux app that dims your screen when you slouch
Project-URL: Homepage, https://github.com/vadi2/postured
Project-URL: Repository, https://github.com/vadi2/postured
Author: Vadim Peretokin
License: MIT
License-File: LICENSE
Keywords: ergonomics,health,posture,webcam
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Desktop Environment
Requires-Python: >=3.11
Requires-Dist: mediapipe>=0.10.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: pyqt6>=6.6.0
Description-Content-Type: text/markdown

# <img src="postured/resources/icons/postured.svg" alt="" width="32"> postured

A Linux app that dims your screen when you slouch. Optionally locks your screen when you step away.

(join our community) [![Matrix](https://img.shields.io/badge/Matrix-%23postured-000000?logo=matrix&logoColor=white)](https://matrix.to/#/#postured:matrix.org)

Uses your webcam and MediaPipe pose detection to monitor your posture. When slouching is detected, the screen dims as a reminder to sit up straight. Runs locally with minimal CPU usage - no accounts needed.

<img src="screenshot.png" alt="postured showing good posture and slouching states" width="500">

## Install

```bash
uv pip install postured
pip install postured
```

AppImages [also available](https://github.com/vadi2/postured/releases).

Requires [notifications support](https://extensions.gnome.org/extension/615/appindicator-support/) on Gnome Shell.

## Settings

Right-click the tray icon to access:

- Sensitivity - affects detection threshold and dim intensity; higher values trigger on smaller posture deviations and dim the screen more
- Lock when away - lock screen when you step away from the camera

## D-Bus Interface

Control postured via D-Bus for pause/resume and status queries.

<details>
<summary>Show commands</summary>

```bash
# Pause/Resume
busctl --user call io.github.vadi2.postured /io/github/vadi2/postured io.github.vadi2.postured.Postured1 Pause
busctl --user call io.github.vadi2.postured /io/github/vadi2/postured io.github.vadi2.postured.Postured1 Resume

# Get status
busctl --user call io.github.vadi2.postured /io/github/vadi2/postured io.github.vadi2.postured.Postured1 GetStatus
```

</details>

## Requirements

- Python 3.11+
- Linux
- Webcam

## Credits

Inspired by [posturr](https://github.com/tldev/posturr) - check it out if you're on macOS.

## License

MIT
