as a non-root user, this would be fine.
but, i was setting up a docker container for development [1], and upon
running a login shell, the shortcuts script would get invoked,
and would remove /dev/null (and later re-create it), which changes its
type from a character device into a regular file, thus breaking the
system (e.g. apt update wouldn't work anymore).
[1] https://github.com/kiprasmel/infra/blob/master/local/devel-core-git/Dockerfile
The s/\\&/&/g operation only effect is to add "amp;" after any ampersand in the artist or song name. "&" displays just fine anyways, so there's no reason to include an operation to replace it.
The part
```
for open in $decrypted; do
[ "$uuid" = "$open" ] && break 1
done
```
exits with `0` if the variable `$decrypted` is empty, causing none of the encrypted devices to be put into the `$unopenedluks` variable. This commit fixes this problem.
* Added timeout to getforecast to prevent status bar breakage.
A 2 second timeout is used in the case that wttr.in is inaccessible when dwm is started; as otherwise it tries to curl wttr.in indefinitely, not allowing other status bar modules to be loaded.
* Update music status bar module on player state change
The previous pull request on LARBS turned out not to work, so make sure `arkenfox-auto-update` runs `arkenfox-update` as the user of the firefox profile. Otherwise it complains that it's running as root and stops.
The way of getting the username is safe, because it gets the username from the owner of the user.js file of that profile.
I found a much better way of doing this, without a potentially too short sleep. This script waits for an input to be added, and then waits for a usb device to be bound. The remaps script can be run as soon as the USB device is bound. These changes should improve the reliability of the script and maybe even decrease latency.