facetimehd_toggle

Crates.iofacetimehd_toggle
lib.rsfacetimehd_toggle
version0.1.1
created_at2025-08-18 17:59:55.906768+00
updated_at2025-08-18 17:59:55.906768+00
descriptionA FaceTimeHD toggle indicator for Macs running Linux
homepage
repositoryhttps://github.com/Chamal1120/facetimehd_toggle
max_upload_size
id1800840
size32,996
(Chamal1120)

documentation

README

Facetimehd Toggle

-- A little something I made to make me and other linux on mac users happy --

What is this?

Just a simple systray applet to toggle facetimehd camera in MacBooks running Linux as needed using modprobe.

Why this exists?

Because no one does it. Keeping the module loaded prevents few macs from going to sleep including mine and it is painful to enable and disable using terminal when I'm in a hurry to a meeting. I hope this will be helpful for someone out there.

Plus, this also increases the privacy

How to setup?

  1. First you need the facetimehd kernel module driver to be installed:
yay -S facetimehd-dkms # arch linux syntax
  1. Disable it from loading at startup:
sudo vim /etc/modprobe.d/blacklist-facetimehd.conf # this will open the file with vim

then add following line to it.

blacklist facetimehd
  1. Rebuild the initramfs and reboot the system:
mkinitcpio -P # arch linux syntax
reboot
  1. Install facetimehd toggle.

  2. You can now run the applet and check the functionality.

Make the systray auto start on boot

Using systemd

  1. Create systemd unit:
mkdir -p ~/.config/systemd/user
vim ~/.config/systemd/user/facetimehd-toggle.service

and add following,

[Unit]
Description=FaceTimeHD Toggle Tray
After=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/bin/facetimehd-toggle
Restart=on-failure

[Install]
WantedBy=default.target
  1. Enable and start the service:
systemctl --user enable facetimehd-toggle.service
systemctl --user start facetimehd-toggle.service
  1. Check status:
systemctl --user status facetimehd-toggle.service

Hyprland user?

  1. Make sure you have hyprpolkit or another polkit agent setup.

  2. Then just put below line into your hyprland config and you're done.

exec-once = env DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS <path/to/your/program>

Aur Package is coming soon...

License

This project is Licensed under MIT license.

Commit count: 0

cargo fmt