Go to file
Linuxer パスカリス スポシト f518636168 Update README.md
2020-02-04 07:52:26 +00:00
about.lfm Upload New File 2020-01-28 18:51:13 +00:00
about.pas Replace about.pas 2020-01-28 18:52:41 +00:00
LICENSE Add LICENSE FPC modified LGPL Version 2 2020-01-23 10:59:19 +00:00
Logs.frm Upload New File For Release 2020-02-02 18:54:33 +00:00
Logs.pas Upload New File for Release 2020-02-02 18:55:11 +00:00
main.lfm Replace main.lfm for Release 2020-02-02 18:53:40 +00:00
main.pas Update main.pas 2020-02-02 18:52:14 +00:00
README.md Update README.md 2020-02-04 07:52:26 +00:00

Camera & Microphone Control Switches for Linux on Tray

A small utility to switch your webcam on/off, microphone mute/unmute for Linux Desktops (Gtk2, Gtk3 in the future)

This project replaces the (camera monitor), for having the full webcam status on tray and provides for both camera and microphone switch functions aditionally.

Please note that sudo password must be providen, otherwise it will not work.


Background:

  • Camera monitor indicates the status of the camera, but it not enough to control the on/off status.

  • Microphone mute/unmute status, has no visual indicator and is difficult to remember the switch position in the Volume Icon.

  • User can not be all the time in front of the monitor, in order to check the webcam status.

  • Such solutions, as below or by plugging in and out the usb cable, are considered funny (not to say rediculous) and unacceptable on any environment (home or business)

    Screenshot

  • v4l2-ctl does not provide a direct way to switch Camera, either On, or Off [Important!, ref to the Solution] section below

    Screenshot


Solution (Why so?):

  • Provide an additional, or standalone, webcam & microphone switch which loads and unloads the uvc driver, in order to be on the safe side, as much as possible, instead of doing this

News - 2nd of Feb, 2020, final Development Stage for Release:

  • Closed Project's Target Issue #1, External Events (hacking) Warnings and Logs, please read it for further details


Screenshots (Leftside of images is the Camera Monitor tray icon / Right side is the Camera Control tray icon):

  • Camera on, Microphone Unmuted:

    Screenshot

  • Switch Camera to Off:

    Screenshot

  • Switch Microphone to Mute:

    Screenshot

  • Camera Off, Microphone Muted:

    Screenshot

  • Sudo password input, normally entered once per application session, or if Password Reset has been executed:

    Screenshot

  • About:

    Screenshot


Project History

  • Created at 23th of January 2020, from scratch with Free Pascal, please ref. to the below, why
  • Redesigned and further Developed at 28th of January 2020, in order to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
  • Added feeling of Malware or unwanted functions, i.e. if Camera switches On, when is Off, the tray icon will change state accordingly. Tha same is valid for the microphone mute/unmute

Why on Free (Object) Pascal and not Python3 or any other?

Some of the main reasons are:

  • Easier code maintenance, really important in the long term

  • Nice memory footprint... 29.4 MB with much more Graphical User Interface (two icon trays, one About Form and one Main Form), versus 23.2 MB of Camera Monitor Python3 (one trayicon, no Graphical User Interface). For Desktop PCs is not a big deal, but Linux does not run only on Desktops PCs.

    Screenshot

  • Faster startup, menus, etc.

  • Robust tested Programming Language, over 30 years of Development

  • Nice Gui touch (Contemporary Looking Components)

  • Very big support community, fast responding

  • Others

GitLab bug, shows PKGBUILD as Visual Basic part, which is incorrect

  • Screenshot

Video Demo (click on it, or click on the link below, to open the Youtube page)

  • Camera Control (1st Stage of Development)

https://youtu.be/pUuoOgVzXNU

  • (2nd Stage of Development)

https://youtu.be/MiGO4id309g

Notes

For Desktops not based on Gtk, but on Qt i.e. KDE, LxQt etc, it is neccessary to be installed, for proper appearance of icons, menus e.t.c., the following package:

  • qt5gtk2 (Arch),
  • qt5-gtk-platformtheme (Debian/Ubuntu),
  • libqt5-qtstyleplugins-platformtheme-gtk2 (OpenSuSe)

Select the name from the above list, by the name of your Distribution (either major or derived from), accordingly.