A privacy-first module for your status bar.
Displays the status of your microphone, camera, and location with beautiful colored dots.

The backend script polls status information every 3 seconds by default.
It provides formatted text, tooltips, and styling classes, which waybar uses to render the colored dots as shown below.
Colors and polling interval are configurable.
| mic | cam | loc | inactive | interval |
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | 3 sec |
Make sure waybar is installed on your system, then follow these steps to set up the privacy dots module:
mkdir -p ~/.config/waybar/scripts
privacydots.sh script in the scripts folder:curl -o ~/.config/waybar/scripts/privacydots.sh https://raw.githubusercontent.com/alibaghernejad/waybar-privacy-dots/main/config/waybar/scripts/privacydots.sh
chmod +x ~/.config/waybar/scripts/privacydots.sh
privacydots module to your waybar configuration file (~/.config/waybar/config). Here's a sample configuration:{
"custom/privacydots": {
"exec": "~/.config/waybar/scripts/privacydots.sh",
"return-type": "json",
"interval": 3,
"format": "{text}",
"tooltip": true,
"escape": false,
"markup": "pango"
}
}
You can add this module to any section (modules-left, modules-center, or modules-right) according to your preference. For example, to add it to the center:
"modules-center": ["clock", "custom/privacydots"]
A complete example configuration might look like this sample configuration.
By default, colors are defined in the privacydots.sh script. However, you can customize the appearance of the dots by adding CSS styles.
Add these optional styles to your ~/.config/waybar/style.css:
A complete example styling file is available in the repository here.
Add these optional styles to your ~/.config/waybar/style.css:
#custom-privacydots {
padding: 0 6px;
/* size of the dots */
font-size: 9px;
/* space between dots */
letter-spacing: 1px;
/* dots colored ring */
/* comment/uncomment to enable/disable the colored ring. */
/* text-shadow:
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000,
1px 1px 0 #000000; */
}
17 commits
Shell
68.3%
CSS
31.7%
A privacy-first module for your status bar.
Displays the status of your microphone, camera, and location with beautiful colored dots.

The backend script polls status information every 3 seconds by default.
It provides formatted text, tooltips, and styling classes, which waybar uses to render the colored dots as shown below.
Colors and polling interval are configurable.
| mic | cam | loc | inactive | interval |
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | 3 sec |
Make sure waybar is installed on your system, then follow these steps to set up the privacy dots module:
mkdir -p ~/.config/waybar/scripts
privacydots.sh script in the scripts folder:curl -o ~/.config/waybar/scripts/privacydots.sh https://raw.githubusercontent.com/alibaghernejad/waybar-privacy-dots/main/config/waybar/scripts/privacydots.sh
chmod +x ~/.config/waybar/scripts/privacydots.sh
privacydots module to your waybar configuration file (~/.config/waybar/config). Here's a sample configuration:{
"custom/privacydots": {
"exec": "~/.config/waybar/scripts/privacydots.sh",
"return-type": "json",
"interval": 3,
"format": "{text}",
"tooltip": true,
"escape": false,
"markup": "pango"
}
}
You can add this module to any section (modules-left, modules-center, or modules-right) according to your preference. For example, to add it to the center:
"modules-center": ["clock", "custom/privacydots"]
A complete example configuration might look like this sample configuration.
By default, colors are defined in the privacydots.sh script. However, you can customize the appearance of the dots by adding CSS styles.
Add these optional styles to your ~/.config/waybar/style.css:
A complete example styling file is available in the repository here.
Add these optional styles to your ~/.config/waybar/style.css:
#custom-privacydots {
padding: 0 6px;
/* size of the dots */
font-size: 9px;
/* space between dots */
letter-spacing: 1px;
/* dots colored ring */
/* comment/uncomment to enable/disable the colored ring. */
/* text-shadow:
-1px -1px 0 #000000,
1px -1px 0 #000000,
-1px 1px 0 #000000,
1px 1px 0 #000000; */
}
17 commits
Shell
68.3%
CSS
31.7%