Go to file
Linuxer パスカリス スポシト b5d61a3e3c Update README.md 2020-02-08 14:27:31 +00:00
LICENSE Add LICENSE FPC modified LGPL Version 2 2020-01-23 10:59:19 +00:00
Logs.frm Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00
Logs.pas Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00
README.md Update README.md 2020-02-08 14:27:31 +00:00
Reboot.frm Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00
Reboot.pas Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00
about.frm Replace about.frm 2020-02-08 13:22:02 +00:00
about.pas Replace about.pas 2020-02-08 13:21:11 +00:00
main.frm Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00
main.pas Final Development Stage of the Basic Project 2020-02-08 12:30:59 +02:00

README.md

Camera & Microphone Control Switches for Linux on Tray

A small utility to switch your webcam on/off, microphone mute/unmute for Linux Desktops (Gtk2, Qt5, Gtk3 maybe 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,

  • Provide Blacklist/Whitelist Functions, more or less aka this, in order to change permanently your settings,

  • Always remember that, nobody forces you to use it, if you do not want it. Linux is freedom of choices.

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

  • 4th of Feb,2020, Closed milestone #4

  • 5th of Feb, 2020, new Release 1.1, was created and considering around the next step, to add Permanent Actions Menu Options:

  • 7th of Feb, 2020, Finished basic Development. Qt5 and some other functions have been added, check below, or at #5

  • 8th of Feb, 2020, Confirmed Qt5 Build, Gnome 3 Running OK - Next releases, as from 1.2 will be only Qt5 builds

  • Screnshot

Screenshots:

(Leftside of images is the System Blacklist/Whitelist added functions, Camera / Microphone Shield status tray icon, Microphone Staus Icon and the last is the Camera Control tray icon):

  • Microphone Unmuted, Camera On:

    Screenshot

  • Switch Camera to Off:

    Screenshot

  • Camera is Off for the User and Applications using the Webcam driver, are stopped-frozen (Not killed yet, still searching the way(?), if achieved) #5:

    Screenshot

    YouTube link

  • 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

  • Shield event (for both microphone and camera):

    Screenshot

  • Shield event status (Microphone was hacked, switched status to Unmuted):

    Screenshot

  • Events Log menu:

    Screenshot

  • External Events (hacked) Log List:

    Screenshot

  • Logs cleared, Shield Status Icon, changed:

    Screenshot

  • System Menu (Blaclist/Whitelist Camera and/or Microphone), About and Exit functions:

    Screenshot

  • Reboot Window:

    Sreenshot

  • Note that before reboot, all Blacklist/Whitelist functions are being reverted (Undone), if Cancel button is pressed.

  • About:

    Screenshot

    (click on the links to open)


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
  • Added System Blacklist/Whitelist Kernel Modules Functions, new menus, etc.

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 (on 1st stage of Development) better than camera monitor) 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

  • Latest Development memory footprint with all Menus, Forms and Icons, 78.4 + 2.9 = 80.9 MB (Really good):

    Screenshot

    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 Demos:

  • Camera Control (1st Stage of Development)

https://youtu.be/pUuoOgVzXNU

  • (2nd Stage of Development)

https://youtu.be/MiGO4id309g

https://youtu.be/1B0s8MFfnTg

Latest Video is being prepared. Stay tuned...

Prerequisites

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

  • qt5pas (Arch, AUR),
  • libqt5pas-dev, libqt5pas1 (Debian/Ubuntu),
  • libQt5Pas-devel, libQt5Pas from ecsos repository, (OpenSuse Leap / Tumbleweed)

For Desktops not based on Qt, but on GTK i.e. Gnome, LxDE, XFCE etc, it may be neccessary to be installed, for proper appearance of icons, menus e.t.c., the following packages:

  • qt5ct (All Distributions)
  • qt5-style-plugins (All Distributions, but OpenSuse)
  • libqt5-qtstyleplugins-platformtheme-gtk2 (OpenSuSe)

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