![PRs](https://img.shields.io/badge/PRs-welcome-56cc14?style=flat-square) [![ci/cd](https://img.shields.io/github/workflow/status/JojiiOfficial/LiveBudsCli/Rust?style=flat-square)](https://github.com/JojiiOfficial/LiveBudsCli/actions?query=workflow%3ARust) [![crates](https://img.shields.io/crates/dv/earbuds?style=flat-square)](https://crates.io/crates/earbuds) [![earbuds](https://img.shields.io/aur/version/earbuds?style=flat-square&label=earbuds&logo=arch-linux)](https://aur.archlinux.org/packages/earbuds/) [![earbuds-git](https://img.shields.io/aur/version/earbuds-git?style=flat-square&label=earbuds-git&logo=arch-linux)](https://aur.archlinux.org/packages/earbuds-git/) # LiveBudsCli A free cli tool to control your [Galaxy buds live](https://www.samsung.com/us/mobile-audio/galaxy-buds-live), [Galaxy Buds+](https://www.samsung.com/us/mobile/audio/galaxy-buds-plus/) (and [Galaxy Buds Pro](https://www.samsung.com/us/mobile/audio/galaxy-buds-pro/) (Beta))

# Features - [x] Equalizer, touchpad-lock and anc/ambient sound control - [x] Basic Buds status (battery, anc/ambient sound, current equalizer setting, ...) - [x] Changing touchpad tap action - [x] Advanced status informations (battery voltage/current, temperature) - [x] Auto music play/pause on bud remove (via mpris) - [x] Automatic sink switch (pulseaudio) [feature: `pulse-sink`, used by default] - [x] Desktop notifications (for low battery) - [x] Bash completion (for every shell) - [x] Connect/Disconnect your earbuds easily with a subcommand - [x] Multiple device support - [x] Individual device configs - [x] Json output for scripts (via `jq`) - [x] Change config options from cli # Install ## Pacman repo You can get it precompiled from my [pacman repository](https://repo.jojii.de) ## AUR `yay -S earbuds` ## Compilation #### Requirements (make depends) Arch: bluez-libs libpulse dbus
Fedora: dbus-devel bluez-libs-devel
Run following command: ``` cargo install earbuds ``` # Polybar ![Polybar](.imgs/polybar.png)
You can display the status of your buds in your polybar with [this script](https://github.com/JojiiOfficial/LiveBudsCli/tree/master/scripts/polybar.sh)
To achieve this, you have to add following to your polybar config and move the script into your polybar script folder. Don't forget to add `buds` to the modules section. ``` [module/buds] type = custom/script interval = 8 label = %output% exec = ~/.config/polybar/scripts/polybar.sh click-middle = earbuds toggle anc click-right = earbuds toggle touchpadlock ``` # Usage To get most of the features listed above, you need to have a daemon instance running (`earbuds -d`). If you run one of the commands listed below, the daemon automatically gets started. Status informations: ``` earbuds status ``` Set equalizer to Bass boost ``` earbuds set equalizer bass ``` Enable ANC ``` earbuds enable anc ``` Change ambient sound ``` earbuds set ambientsound <0-4> # 0: off 4: highest ``` Toggle noise reduction or the touchpad lock ``` earbuds toggle anc/touchpad ``` Get status in json format ``` earbuds status -o json ``` Set the left touchpad tap command to spotify ``` earbuds set tap-action spotify left ``` Connect/disconnect: ``` earbuds connect/disconnect ``` To debug the daemon run: ``` earbuds -k -d --no-fork ``` This kills the currently running daemon, creates a new one and starts it in the foreground.