Skip to main content

Posture monitoring tool for Linux — webcam slouch detection with screen overlay

Project description

dorso-linux

Posture monitoring for Linux. Uses your webcam to detect slouching and overlays a progressive red glow on your screen as a reminder to sit straight.

Calibration Settings Analytics

Installation

pip install dorso-linux

System dependencies

GTK4 and PyGObject are required:

# Fedora / RHEL
sudo dnf install gtk4-devel python3-gobject

# Ubuntu / Debian
sudo apt install libgtk-4-dev python3-gi gir1.2-gtk-4.0

Usage

dorso

On first launch, sit in your best posture and click Calibrate. Monitoring starts automatically.

When you slouch, a red glow appears on your screen edges. Sit straight and it fades away.

Features

  • Real-time posture detection via webcam (MediaPipe PoseLandmarker)
  • Progressive screen overlay — glow, border, or solid color, with adjustable intensity
  • Click-through — keyboard and mouse work normally through the overlay
  • System tray with posture status and quick controls
  • Analytics dashboard — daily score, 7-day chart, slouch stats
  • Auto-pause on screen lock
  • Dark/light theme support
  • Works on GNOME Wayland, X11, Sway, and Hyprland

Configuration

Settings UI is accessible from the tray icon. Config stored in ~/.config/dorso/config.toml:

warning_mode = "glow"         # glow, border, solid, none
detection_mode = "responsive" # responsive (~10fps), balanced (~4fps), performance (~2fps)
intensity = 1.0               # 0.5 = gentle, 2.0 = harsh
slouch_sensitivity = 0.03     # lower = more sensitive
warning_onset_delay = 0.0     # seconds before warning appears
camera_id = 0                 # camera device index

How it works

  1. OpenCV captures webcam frames at adaptive rates
  2. MediaPipe PoseLandmarker extracts nose position and face width
  3. Slouch detection compares nose Y to your calibrated baseline (5-frame smoothing)
  4. A pure-function posture engine applies hysteresis to avoid flicker
  5. The overlay renders via GNOME Shell extension, Layer Shell, or transparent GTK4 window

Requirements

  • Python 3.11+
  • Linux with GTK4
  • Webcam

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dorso_linux-0.1.2.tar.gz (70.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dorso_linux-0.1.2-py3-none-any.whl (82.5 kB view details)

Uploaded Python 3

File details

Details for the file dorso_linux-0.1.2.tar.gz.

File metadata

  • Download URL: dorso_linux-0.1.2.tar.gz
  • Upload date:
  • Size: 70.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dorso_linux-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ec8205b9a762c6e4b7e786674be7050c9390211e9de8a55f90416ace76b30cc2
MD5 13eced705f56374209aece65a4802b04
BLAKE2b-256 a41412226b84905c5a4599be32b2611e75e7bffc86d4e9def10a8e2da4a61d58

See more details on using hashes here.

Provenance

The following attestation bundles were made for dorso_linux-0.1.2.tar.gz:

Publisher: publish.yml on Gheop/dorso-linux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dorso_linux-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: dorso_linux-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 82.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dorso_linux-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 40d77815baebaa2434f225d290f74ca3c963bb594b1b1112491021711acb1ab6
MD5 717194f8e3f2506254ec092f92eaa097
BLAKE2b-256 35f6d3a13b5e4bbf3bc978dbfe6b78db57b7904f96d65c4dbacb2ad8f41457a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for dorso_linux-0.1.2-py3-none-any.whl:

Publisher: publish.yml on Gheop/dorso-linux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page