Skip to main content

Bluetooth proximity automation

Project description

Overview

BlueDo - Bluetooth proximity automation

Logo

Lock your desktop, mute music or run any other command when leaving your PC. There are dozens of apps like this. This one just aims to make it beautiful, modern and easy.

Maturity

Beta

Requirements

sudo apt install python-gi-dev python3-pip python3-dev libgirepository1.0-dev gcc libcairo2-dev pkg-config gir1.2-gtk-3.0 playerctl pip3 install -r requirements.txt --user

Use these system commands:

  • bluetoothctl
  • amixer
  • loginctl
  • playerctl

Only tested on Ubuntu 20.04 with GNOME.

Command line options

  • -e / --enable to start service on app start.
  • -m / --minimize to start minimized

Screenshots

v3_2 v3

System changes

Note that this app will make these changes to your power management:

  • Enable screen lock: org.gnome.desktop.screensaver lock-enabled true
  • Set delay from screen blacking to locking to zero: org.gnome.desktop.screensaver lock-delay 0
  • Set screen saver timeout to 10 seconds when device is away, 5 minutes when device is present: org.gnome.desktop.session idle-delay 600

TODO

  • Check for dependencies on startup
  • Check for bluetooth, disable controls if missing
  • Stop device scanning when minimized
  • Minimize to systray
  • Unit tests

Development docs

  • scan for devices: bluetoothctl devices

  • rssi for device: hcitool rssi ff:ff:ff:ff:ff:ff (unstable)

  • hard locking: lock when no signal

  • soft locking: set screensaver timeout to 1 minute when no signal

Inspiration

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

bluedo-0.36.tar.gz (108.8 kB view hashes)

Uploaded Source

Supported by

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