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

Installation

From pip

sudo apt install python3-pip libbluetooth-dev libappindicator3-dev playerctl
pip3 install --upgrade bluedo

From snap store

snap install bluedo
give permissions:
* "Use bluetooth device": "bluedo:service"
* "Login session control"
* "gsettings: allows access to any gsettings item of current user"

Requirements

Needs bluetoothctl ~5.50 or newer. Version above .55 needs Python 3.9.

Use these system commands:

  • bluetoothctl
  • loginctl
  • gsettings
  • amixer
  • playerctl

Only tested on Ubuntu 20.04-21.04 with GNOME.

Command line options

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

Configuration

There are lots more options in the config file. Feel free to tune.

Screenshots

v53 v49 v49_advanced 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

  • Default lock / unlock ON.
  • Keep two instances from running at the same time.
  • Minimize to tray, instead of having both minimize and minimize to tray.
  • Stop device scanning when minimized
  • Change to dynamic widget layout instead of fixed.
  • Change preferences button to proper burger menu.
  • Figure out what freezes app sometimes. Only happends when run from codium.
  • Move media files to some other dir?
  • Unit tests

For snap

  • /bin/sh: 1: loginctl: Permission denied
  • See if build config can be cut down
  • See if permissions can be cut down
  • Warn when permissions are missing (some need to be given manually), bluetooth, session control
  • Autostart when snap?

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 10 seconds 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.56.tar.gz (407.5 kB view details)

Uploaded Source

Built Distribution

bluedo-0.56-py3-none-any.whl (388.9 kB view details)

Uploaded Python 3

File details

Details for the file bluedo-0.56.tar.gz.

File metadata

  • Download URL: bluedo-0.56.tar.gz
  • Upload date:
  • Size: 407.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for bluedo-0.56.tar.gz
Algorithm Hash digest
SHA256 c38de82f4a06c186dd78b3cb7fa64c53ae38fc0ba38249aaacac014d8d0d125b
MD5 9756153f36977b57e15404e5ccba96d6
BLAKE2b-256 de788245b8ce88224f5bb40316b8fbcd641f203eb1fe9e0db1fc530066d2e6dc

See more details on using hashes here.

File details

Details for the file bluedo-0.56-py3-none-any.whl.

File metadata

  • Download URL: bluedo-0.56-py3-none-any.whl
  • Upload date:
  • Size: 388.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for bluedo-0.56-py3-none-any.whl
Algorithm Hash digest
SHA256 17430612d3c4b79a6ec4090732c29caa1ad4038b4b6783c949e0a44ac2c0d724
MD5 59524621a022a2a8524d2e5cf7c3455b
BLAKE2b-256 ab728c41e7aac4007b52d6db2f70906ae6f03428a89b05fb4b1d5c13269b9d4a

See more details on using hashes here.

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