externalize config from script

This commit is contained in:
Alexander Bocken 2021-07-02 13:21:13 +02:00
parent 0e480a3e2d
commit cf12d60cd3
Signed by: Alexander
GPG Key ID: 1D237BE83F9B05E8
4 changed files with 27 additions and 22 deletions

View File

@ -1,23 +1,24 @@
# bthandler # bthandler
# See LICENSE file for copyright and license details. # See LICENSE file for copyright and license details.
# install this via `make install`, not with sudo
# paths # paths
DESTDIR = /usr/local/bin DESTDIR = /usr/local/bin
DATA_DIR = ~/.config/bt#if changed, needs adjustment in bt as well (defined in the beginning) DATA_DIR = ~/.config/bt#if changed, needs adjustment in bt as well (defined in the beginning)
SRC = bt SRC = bt
install: install:
mkdir -p $(DESTDIR) mkdir -p $(DESTDIR)
mkdir -p $(DATA_DIR) mkdir -p $(DATA_DIR)
cp -f bt $(DESTDIR)/bt sudo cp -f bt $(DESTDIR)/bt
chmod 755 $(DESTDIR)/bt sudo chmod 755 $(DESTDIR)/bt
touch $(DATA_DIR)/blacklist touch $(DATA_DIR)/blacklist
touch $(DATA_DIR)/paired touch $(DATA_DIR)/paired
touch $(DATA_DIR)/alias touch $(DATA_DIR)/alias
cp config $(DATA_DIR)/config
uninstall: uninstall:
rm -f $(DESTDIR)/bt sudo rm -f $(DESTDIR)/bt
rm -rf $(DATA_DIR) rm -rf $(DATA_DIR)
#clears manual paired devices list and blacklist #clears manual paired devices list and blacklist
@ -27,5 +28,6 @@ clear:
touch $(DATA_DIR)/paired touch $(DATA_DIR)/paired
touch $(DATA_DIR)/blacklist touch $(DATA_DIR)/blacklist
touch $(DATA_DIR)/alias touch $(DATA_DIR)/alias
cp config $(DATA_DIR)/config
.PHONY: install uninstall clear .PHONY: install uninstall clear

View File

@ -16,8 +16,9 @@ all via dmenu. Should be easily extendable by editing the `actions` string.
Edit the Makefile to reflect your preffered installation destination. Then, simply Edit the Makefile to reflect your preffered installation destination. Then, simply
```bash ```bash
sudo make install make install
``` ```
*Warning*: `sudo make install` will not install correctly. Will be fixed in the future.
Afterwards, invoking `bt` will start the menu. Afterwards, invoking `bt` will start the menu.

20
bt
View File

@ -1,20 +1,6 @@
#!/bin/sh #!/bin/sh
SCAN_PERIOD=5 #load config
AUTOTRUST=false #trust every newly paired device . "${XDG_CONFIG_HOME:-$HOME/.config}/bt/config"
AUTOSCAN=false #immediately start scanning when started to speed up pairing process
#If you want to update symbols in your statusbar add your details below:
bar="dwmblocks"
barsignal="4"
#locations of blacklist and hard coded list of paired devices (watch out, need to modify Makefile as well if you want to change these values and still use make install)
BLACKLIST=${XDG_CONFIG_HOMe:-$HOME/.config}/bt/blacklist
PAIRLIST=${XDG_CONFIG_HOME:-$HOME/.config}/bt/paired
ALIASLIST=${XDG_CONFIG_HOME:-$HOME/.config}/bt/alias
actions="$(printf 'pair\nunpair\n')"
#disconnect menu does not need to be displayed since just directly selecting the connected device will disconnect it
#set to anything non-empty to enable
include_disconnect_option=""
[ "$AUTOTRUST" = false ] && actions="$(printf '%s\ntrust\n' "$actions")" [ "$AUTOTRUST" = false ] && actions="$(printf '%s\ntrust\n' "$actions")"
@ -272,7 +258,7 @@ case $choice in
notify-send "bt" "device not in paired-devices list, re-adding (device needs to be in pairing mode for this)" notify-send "bt" "device not in paired-devices list, re-adding (device needs to be in pairing mode for this)"
scan on scan on
echo "Scan on" echo "Scan on"
sleep 5 sleep $SCAN_PERIOD
echo Attempting to pair... echo Attempting to pair...
bluetoothctl pair "$dev_id" bluetoothctl pair "$dev_id"
scan off scan off

16
config Normal file
View File

@ -0,0 +1,16 @@
SCAN_PERIOD=5
AUTOTRUST=false #trust every newly paired device
AUTOSCAN=false #immediately start scanning when started to speed up pairing process
#If you want to update symbols in your statusbar add your details below:
bar="dwmblocks"
barsignal="4"
#locations of blacklist and hard coded list of paired devices (watch out, need to modify Makefile as well if you want to change these values and still use make install)
BLACKLIST=${XDG_CONFIG_HOME:-$HOME/.config}/bt/blacklist
PAIRLIST=${XDG_CONFIG_HOME:-$HOME/.config}/bt/paired
ALIASLIST=${XDG_CONFIG_HOME:-$HOME/.config}/bt/alias
actions="$(printf 'pair\nunpair\n')"
#disconnect menu does not need to be displayed since just directly selecting the connected device will disconnect it
#set to anything non-empty to enable
include_disconnect_option=""