summaryrefslogtreecommitdiff
path: root/README.md
blob: b10c9ddfb73ca291396a54a589771464c5054c1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# VolSV

Volume Setter V

#### What is it?

Volsv is a POSIX-compliant shell script I wrote in 2020, and have been modifying since. Presently, it supports:

- Increasing volume
- Decreasing volume
- Toggling the output mute
- Toggling the microphone mute
- Getting the volume
- Getting the mute state
- Getting both volume and mute state

in pipewire, pulseaudio, sndio, and alsa. Once I get FreeBSD up and running, I will add those sound options too.

It depends on:

- pactl (pulseaudio/pipewire)
- amixer (alsa)
- mixerd (sndio)
- pgrep (with the -x command, standard in BSD and Linux systems)

#### But *why* though?

I made volsv so that I could use it with keybindings to control the volume,
regardless of whether or not I was running pulseaudio, since I dislike
pulseaudio and tend to avoid it when possible. This means I can have a
consistent keybinding, whether or not I'm using it. Additionally, it has
provided a fun learning experience as I learn to write scripts.

#### Flags/Commands

- increase volume: `-i`
- decrease volume: `-d`
- toggle system mute: `-t`
- toggle microphone mute: `-m`
- get volume level: `-v`
- get mute state: `-g`
- get volume and mute: `-a`
- help message: `-h`