Cleaning up and release update
This commit is contained in:
parent
062b22555c
commit
d516e5d26a
File diff suppressed because it is too large
Load Diff
10
About.lrj
10
About.lrj
|
@ -1,10 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":4691652,"name":"tform2.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
|
||||
{"hash":86477809,"name":"tform2.label1.caption","sourcebytes":[76,97,98,101,108,49],"value":"Label1"},
|
||||
{"hash":86477810,"name":"tform2.label2.caption","sourcebytes":[76,97,98,101,108,50],"value":"Label2"},
|
||||
{"hash":162329314,"name":"tform2.plurllabel2.caption","sourcebytes":[104,116,116,112,58,47,47,98,105,116,46,100,111,47,108,105,110,117,120,101,114],"value":"http://bit.do/linuxer"},
|
||||
{"hash":112590572,"name":"tform2.plurllabel3.caption","sourcebytes":[104,116,116,112,115,58,47,47,119,105,107,105,46,102,114,101,101,112,97,115,99,97,108,46,111,114,103,47,70,80,67,95,109,111,100,105,102,105,101,100,95,76,71,80,76],"value":"https://wiki.freepascal.org/FPC_modified_LGPL"},
|
||||
{"hash":4863637,"name":"tform2.button2.caption","sourcebytes":[67,108,111,115,101],"value":"Close"},
|
||||
{"hash":86477811,"name":"tform2.label3.caption","sourcebytes":[76,97,98,101,108,51],"value":"Label3"},
|
||||
{"hash":123144082,"name":"tform2.plurllabel1.caption","sourcebytes":[104,116,116,112,115,58,47,47,103,105,116,108,97,98,46,99,111,109,47,112,115,112,111,115,105,116,111,47,99,97,109,101,114,97,45,99,111,110,116,114,111,108,45,119,101,98,99,97,109,45,115,119,105,116,99,104,45,105,110,100,105,99,97,116,111,114],"value":"https://gitlab.com/psposito/camera-control-webcam-switch-indicator"}
|
||||
]}
|
|
@ -4,20 +4,25 @@ unit About;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
||||
LCLIntf;
|
||||
|
@ -71,17 +76,17 @@ end;
|
|||
|
||||
procedure TForm2.StaticText1Click(Sender: TObject);
|
||||
begin
|
||||
OpenUrl('https://operatingsystemsandsoftware.wordpress.com/');
|
||||
OpenUrl('https://gitea.artixlinux.org/linuxer');
|
||||
end;
|
||||
|
||||
procedure TForm2.StaticText2Click(Sender: TObject);
|
||||
begin
|
||||
OpenUrl('https://gitlab.com/psposito/camera-control-webcam-switch-indicator');
|
||||
OpenUrl('https://wiki.freepascal.org/FPC_modified_LGPL');
|
||||
end;
|
||||
|
||||
procedure TForm2.StaticText3Click(Sender: TObject);
|
||||
begin
|
||||
OpenUrl('https://wiki.freepascal.org/FPC_modified_LGPL');
|
||||
OpenUrl('https://gitea.artixlinux.org/linuxer/camera-control-webcam-switch-indicator');
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -0,0 +1,428 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="12"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<Title Value="CameraControl"/>
|
||||
<Scaled Value="True"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<XPManifest>
|
||||
<DpiAware Value="True/PM_V2"/>
|
||||
<ExecutionLevel Value="highestAvailable"/>
|
||||
</XPManifest>
|
||||
<Icon Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<UseVersionInfo Value="True"/>
|
||||
<MajorVersionNr Value="2"/>
|
||||
<MinorVersionNr Value="1"/>
|
||||
</VersionInfo>
|
||||
<CustomData Count="15">
|
||||
<Item0 Name="CT-Packager/copyright" Value="2020 Linuxer パスカリス スポシト"/>
|
||||
<Item1 Name="CT-Packager/deb/ppa" Value="ppa:johndoe/use-your-own"/>
|
||||
<Item2 Name="CT-Packager/deb/series" Value="Buster"/>
|
||||
<Item3 Name="CT-Packager/deb/tpl_changelog" Value="?PACKAGE_NAME? (?FULLVERSION?) ?SERIES?; urgency=low
|
||||
|
||||
* Original version ?VERSION? packaged with lazdebian
|
||||
|
||||
-- ?MAINTAINER? <?MAINTAINER_EMAIL?> ?DATER?
|
||||
"/>
|
||||
<Item4 Name="CT-Packager/deb/tpl_control" Value="Source: cameracontrol
|
||||
Maintainer: Linuxer パスカリス スポシト <linuxer@artixlinux.com>
|
||||
Section: system
|
||||
Priority: optional
|
||||
Standards-Version: 2.1.0
|
||||
Build-Depends: fpc, Typhon, lcl, lcl-utils, debhelper (>= 10), libqt5pas-dev
|
||||
Package: cameracontrol
|
||||
Architecture: amd64
|
||||
Depends: libqt5pas1, libc
|
||||
Version: 2.0.1
|
||||
Description: Camera Control for Linux
|
||||
Camera Control Webcam Switch Indicator.
|
||||
It is a Desktop security application
|
||||
for locking, unlocking Cameras, Webcams and Microphone,
|
||||
for Video and Audio Capturing function.
|
||||
You can also Blacklist or Whitelist the Kernel modules,
|
||||
easily.
|
||||
"/>
|
||||
<Item5 Name="CT-Packager/deb/tpl_copyright" Value="Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
|
||||
Files: *
|
||||
Copyright: ?COPYRIGHT?
|
||||
License: <https://wiki.freepascal.org/FPC_modified_LGPL>
|
||||
|
||||
FPC modified LGPL Version 2
|
||||
FPC MODIFIED GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
"/>
|
||||
<Item6 Name="CT-Packager/deb/tpl_rules" Value="#!/usr/bin/make -f
|
||||
|
||||
ROOT = $(CURDIR)/debian/?PACKAGE_NAME?
|
||||
|
||||
override_dh_auto_clean:
|
||||
$(RM) -r lib
|
||||
$(RM) lib *.res ?EXECUTABLE?
|
||||
|
||||
override_dh_auto_build:
|
||||
typhoonbuild ?PROJECT?
|
||||
|
||||
override_dh_auto_install:
|
||||
install -d -m 755 $(ROOT)/usr/bin
|
||||
install -s -m 755 ?EXECUTABLE? $(ROOT)/usr/bin
|
||||
|
||||
%:
|
||||
dh $@
|
||||
"/>
|
||||
<Item7 Name="CT-Packager/description" Value="Camera Control for Linux"/>
|
||||
<Item8 Name="CT-Packager/description_long" Value="A small utility to switch your webcam on/off, microphone mute/unmute for Linux Desktops (Qt5, Gtk3 maybe in the future)
|
||||
This project replaces the (camera monitor), for having the full webcam status and control on tray, by providing for both
|
||||
camera and microphone switch functions aditionally.
|
||||
In additions it warns for possible Malware / Intrusions"/>
|
||||
<Item9 Name="CT-Packager/export_cmd" Value="?CP? *.ctpr ?TEMPFOLDER?/
|
||||
?CP? *.ppr ?TEMPFOLDER?/
|
||||
?CP? *.pas ?TEMPFOLDER?/
|
||||
?CP? *.frm ?TEMPFOLDER?/
|
||||
?CP? *.ico ?TEMPFOLDER?/
|
||||
"/>
|
||||
<Item10 Name="CT-Packager/maintainer" Value="linuxer"/>
|
||||
<Item11 Name="CT-Packager/maintainer_email" Value="linuxer@artixlinux.org"/>
|
||||
<Item12 Name="CT-Packager/package_name" Value="cameracontrol"/>
|
||||
<Item13 Name="CT-Packager/tpl_makefile" Value="PREFIX = /usr/bin
|
||||
|
||||
# debuild will set DESTDIR to the fakeroot path and
|
||||
# in the override rules we will change PREFIX to /usr
|
||||
BINDIR = $(DESTDIR)$(PREFIX)/bin
|
||||
|
||||
.PHONY : all
|
||||
all:
|
||||
typhoonbuild ?PROJECT?
|
||||
|
||||
.PHONY : clean
|
||||
clean:
|
||||
$(RM) -r lib
|
||||
$(RM) *.res
|
||||
$(RM) ?EXECUTABLE?
|
||||
|
||||
.PHONY : install
|
||||
install:
|
||||
mkdir -p $(BINDIR)
|
||||
install -s ?EXECUTABLE? $(BINDIR)/
|
||||
"/>
|
||||
<Item14 Name="CT-Packager/use_existing_makefile" Value="False"/>
|
||||
</CustomData>
|
||||
<MacroValues Count="1">
|
||||
<Macro1 Name="LCLWidgetType" Value="qt5"/>
|
||||
</MacroValues>
|
||||
<BuildModes>
|
||||
<Item Name="Default" Default="True"/>
|
||||
<SharedMatrixOptions Count="4">
|
||||
<Item1 ID="929861254421" Modes="Default" Type="IDEMacro" MacroName="LCLWidgetType" Value="qt5"/>
|
||||
<Item2 ID="818688490619" Type="IDEMacro" MacroName="LCLWidgetType" Value="qt"/>
|
||||
<Item3 ID="363546960373" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk2"/>
|
||||
<Item4 ID="940918836164" Type="IDEMacro" MacroName="LCLWidgetType" Value="gtk3"/>
|
||||
</SharedMatrixOptions>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<OpenInFileMan Value="True"/>
|
||||
<UseFileFilters Value="True"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
</RunParams>
|
||||
<RequiredPackages>
|
||||
<Item>
|
||||
<PackageName Value="bs_Utils"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="pl_visualplanit"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="pl_luicontrols"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="pl_eccontrols"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="pl_excontrols"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="adLCLBase"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="adLCL"/>
|
||||
</Item>
|
||||
</RequiredPackages>
|
||||
<Units>
|
||||
<Unit>
|
||||
<Filename Value="CameraControl.ppr"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="About.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form2"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="Logs.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form3"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="Reboot.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form4"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="RebootDialog.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form5"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="main.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Main"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="OutputForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form6"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="InputForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form7"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="MessageForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form8"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="PidsList.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form9"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="camera-web.png"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="cameracontrol.bin"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="CameraControl.sh"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="libnotify.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<Target>
|
||||
<Filename Value="../build/cameracontrol.bin"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<CodeGeneration>
|
||||
<TargetOS Value="linux"/>
|
||||
<Optimizations>
|
||||
<OptimizationLevel Value="3"/>
|
||||
</Optimizations>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CustomOptions Value="-vd"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions>
|
||||
<Item>
|
||||
<Name Value="EAbort"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
|
@ -0,0 +1,327 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectSession>
|
||||
<Version Value="12"/>
|
||||
<BuildModes Active="Default"/>
|
||||
<Units>
|
||||
<Unit>
|
||||
<Filename Value="CameraControl.ppr"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<CursorPos Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="About.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form2"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="Logs.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form3"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="Reboot.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form4"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="RebootDialog.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form5"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="main.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form1"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Main"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="20"/>
|
||||
<CursorPos Y="47"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="OutputForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form6"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="InputForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form7"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="MessageForm.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form8"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="279"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="PidsList.pas"/>
|
||||
<FRMtype Value="200"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="Form9"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<CursorPos X="127" Y="19"/>
|
||||
<UsageCount Value="247"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="camera-web.png"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<WindowIndex Value="-1"/>
|
||||
<TopLine Value="-1"/>
|
||||
<CursorPos X="-1" Y="-1"/>
|
||||
<UsageCount Value="226"/>
|
||||
<DefaultSyntaxHighlighter Value="None"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="cameracontrol.bin"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<WindowIndex Value="-1"/>
|
||||
<TopLine Value="-1"/>
|
||||
<CursorPos X="-1" Y="-1"/>
|
||||
<UsageCount Value="226"/>
|
||||
<DefaultSyntaxHighlighter Value="None"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="CameraControl.sh"/>
|
||||
<FRMtype Value="0"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<CursorPos X="26" Y="31"/>
|
||||
<UsageCount Value="224"/>
|
||||
<Loaded Value="True"/>
|
||||
<DefaultSyntaxHighlighter Value="Bash"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="libnotify.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<CursorPos Y="4"/>
|
||||
<UsageCount Value="35"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="/usr/local/codetyphon/typhon/components/pl_lclextensions/source/include/delphicompat_gtk3.inc"/>
|
||||
<FRMtype Value="0"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="13"/>
|
||||
<CursorPos X="2" Y="41"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="/usr/local/codetyphon/typhon/lcl/interfaces/gtk3/alllclintfunits.pas"/>
|
||||
<FRMtype Value="0"/>
|
||||
<UnitName Value="AllLCLIntfUnits"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<CursorPos X="3" Y="19"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="/usr/local/codetyphon/typhon/components/pl_LuiControls/source/luicontrols/presentationmanager.pas"/>
|
||||
<FRMtype Value="0"/>
|
||||
<UnitName Value="PresentationManager"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<CursorPos Y="6"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit>
|
||||
</Units>
|
||||
<JumpHistory HistoryIndex="29">
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="1762" Column="11" TopLine="1737"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="1769" Column="6" TopLine="1743"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="RebootDialog.pas"/>
|
||||
<Caret Line="12" Column="81" TopLine="8"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="2058" Column="39" TopLine="2015"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="279" Column="27" TopLine="205"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="288" Column="11" TopLine="275"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="25" Column="63" TopLine="16"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="23" Column="10" TopLine="17"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="2236" TopLine="2210"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="296" Column="19" TopLine="289"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="253" TopLine="212"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="227" TopLine="186"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="219" Column="7" TopLine="184"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="205" Column="5" TopLine="187"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="362" Column="111" TopLine="317"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="360" Column="34" TopLine="333"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="52" Column="33" TopLine="17"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="49" TopLine="23"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="225" TopLine="203"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="117" Column="24" TopLine="104"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="442" Column="20" TopLine="293"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="432" Column="141" TopLine="425"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="431" Column="125" TopLine="422"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="239" Column="7" TopLine="219"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="1868" Column="92" TopLine="1817"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="363" Column="114" TopLine="330"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="libnotify.pas"/>
|
||||
<Caret Line="25" Column="23"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="363" Column="114" TopLine="315"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="434" Column="15" TopLine="360"/>
|
||||
</Position>
|
||||
<Position>
|
||||
<Filename Value="main.pas"/>
|
||||
<Caret Line="7" Column="14"/>
|
||||
</Position>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
<Modes ActiveMode=""/>
|
||||
</RunParams>
|
||||
</ProjectSession>
|
||||
</CONFIG>
|
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
|
@ -1,22 +1,35 @@
|
|||
program CameraControl;
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020
|
||||
// Finalized, except traslations at 15th of February 2020
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
{$IFDEF FPC_CROSSCOMPILING}
|
||||
{$IFDEF CPUARM}
|
||||
{$linklib GLESv2}
|
||||
{$ENDIF}
|
||||
{$linklib libc_nonshared.a}
|
||||
{$ENDIF}
|
||||
{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, Logs, About, Reboot, RebootDialog, OutputForm, Main, MessageForm,
|
||||
InputForm, PidsList;
|
||||
|
@ -37,4 +50,4 @@ begin
|
|||
Application.CreateForm(TForm8, Form8);
|
||||
Application.CreateForm(TForm9, Form9);
|
||||
Application.Run;
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -1,22 +1,39 @@
|
|||
#!/usr/bin/bash
|
||||
export MYSECRET='mysecretkey'
|
||||
|
||||
export MYSECRET='sudopasswordtexxt'
|
||||
package_type=$(command -v pacman || command -v apt || command -v yum)
|
||||
|
||||
distropack=${package_type:9}
|
||||
|
||||
if [[ ${package_type:9} == "apt" ]];
|
||||
then
|
||||
distro='Debian'
|
||||
distro='Debian'
|
||||
elif [[ ${package_type:9} == "pacman" ]];
|
||||
then
|
||||
distro='Arch'
|
||||
else
|
||||
else
|
||||
distro='RPM'
|
||||
fi
|
||||
|
||||
#echo $distropack
|
||||
#echo $distro
|
||||
|
||||
/opt/CameraControl/cameracontrol.bin -$distro >/dev/null
|
||||
cd $HOME/FPC\ Projects/CameraControl/build
|
||||
|
||||
session_type=$XDG_SESSION_TYPE
|
||||
|
||||
#QT_QPA_PLATFORM selection for xcb / wayland
|
||||
|
||||
if [[ ${session_type} -eq "x11" ]]; then
|
||||
QT_QPA_PLATFORM=xcb /opt/CameraControl/cameracontrol.bin -$distro >/dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ ${session_type} -eq "wayland" ]]; then
|
||||
QT_QPA_PLATFORM=wayland /opt/CameraControl/cameracontrol.bin >/dev/null
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#qt_session=$QT_QPA_PLATFORM
|
||||
|
||||
# So use the line below for execution
|
||||
#QT_QPA_PLATFORM=xcb /opt/CameraControl/cameracontrol.bin -$distro >/dev/null
|
||||
|
|
8100
FilesList.frm
8100
FilesList.frm
File diff suppressed because it is too large
Load Diff
5829
FilesList.lfm
5829
FilesList.lfm
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":69717380,"name":"tform6.caption","sourcebytes":[79,108,100,32,76,111,103,115,32,70,105,108,101,115,32,76,105,115,116],"value":"Old Logs Files List"},
|
||||
{"hash":1371,"name":"tform6.button1.caption","sourcebytes":[79,107],"value":"Ok"}
|
||||
]}
|
File diff suppressed because it is too large
Load Diff
|
@ -4,20 +4,25 @@ unit InputForm;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TplLabelUnit,
|
||||
LCLIntf, ExtCtrls, MaskEdit, Logs, Unix;
|
||||
|
@ -70,4 +75,4 @@ begin
|
|||
Form7.Hide;
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
object Form3: TForm3
|
||||
Left = 468
|
||||
Height = 684
|
||||
Height = 438
|
||||
Top = 45
|
||||
Width = 1129
|
||||
Width = 722
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Events Logged'
|
||||
ClientHeight = 684
|
||||
ClientWidth = 1129
|
||||
DesignTimePPI = 150
|
||||
ClientHeight = 438
|
||||
ClientWidth = 722
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
|
@ -314,21 +313,22 @@ object Form3: TForm3
|
|||
3C46
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
LCLVersion = '7.2'
|
||||
object Button1: TButton
|
||||
Left = 0
|
||||
Height = 56
|
||||
Top = 624
|
||||
Width = 1129
|
||||
Height = 36
|
||||
Top = 399
|
||||
Width = 722
|
||||
Caption = 'Close'
|
||||
OnClick = Button1Click
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
end
|
||||
object StringGrid1: TStringGrid
|
||||
Left = 2
|
||||
Height = 600
|
||||
Top = 16
|
||||
Width = 1126
|
||||
Left = 1
|
||||
Height = 384
|
||||
Top = 10
|
||||
Width = 720
|
||||
AutoAdvance = aaDown
|
||||
Color = clDefault
|
||||
ColCount = 4
|
||||
|
@ -337,14 +337,14 @@ object Form3: TForm3
|
|||
RowCount = 1
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 1
|
||||
TitleFont.Height = -21
|
||||
TitleFont.Height = -13
|
||||
TitleFont.Name = 'Sans'
|
||||
TitleImageList = Form1.ImageListStatus
|
||||
ColWidths = (
|
||||
56
|
||||
273
|
||||
523
|
||||
255
|
||||
36
|
||||
175
|
||||
335
|
||||
163
|
||||
)
|
||||
Cells = (
|
||||
4
|
||||
|
|
363
Logs.lfm
363
Logs.lfm
|
@ -1,363 +0,0 @@
|
|||
object Form3: TForm3
|
||||
Left = 468
|
||||
Height = 684
|
||||
Top = 45
|
||||
Width = 1129
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Events Logged'
|
||||
ClientHeight = 684
|
||||
ClientWidth = 1129
|
||||
DesignTimePPI = 150
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
0004000000080000000B0000000D0000000F0000001100000012000000130000
|
||||
0013000000130000001300000012000000110000000F0000000D0000000B0000
|
||||
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
|
||||
0014000000170000001A0000001D000000200000002200000023000000240000
|
||||
002500000025000000240000002300000022000000200000001D0000001A0000
|
||||
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
|
||||
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
|
||||
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
|
||||
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
|
||||
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
|
||||
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
|
||||
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
|
||||
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0003000000090000000F000000150000001B000000212A28236D393832F65354
|
||||
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
|
||||
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
|
||||
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
|
||||
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
|
||||
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
|
||||
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
|
||||
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
|
||||
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
|
||||
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
|
||||
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
|
||||
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
|
||||
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
|
||||
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
|
||||
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
|
||||
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
|
||||
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
|
||||
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
|
||||
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
|
||||
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
|
||||
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
|
||||
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
|
||||
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
|
||||
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
|
||||
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
|
||||
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
|
||||
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
|
||||
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
|
||||
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
|
||||
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
|
||||
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
|
||||
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
|
||||
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
|
||||
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
|
||||
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
|
||||
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
|
||||
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
|
||||
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
|
||||
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
|
||||
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
|
||||
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
|
||||
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
|
||||
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
|
||||
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
|
||||
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
|
||||
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
|
||||
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
|
||||
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
|
||||
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
|
||||
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
|
||||
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
|
||||
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
|
||||
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
|
||||
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
|
||||
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
|
||||
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
|
||||
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
|
||||
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
|
||||
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
|
||||
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
|
||||
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
|
||||
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
|
||||
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
|
||||
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
|
||||
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
|
||||
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
|
||||
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
|
||||
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
|
||||
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
|
||||
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
|
||||
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
|
||||
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
|
||||
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
|
||||
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
|
||||
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
|
||||
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
|
||||
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
|
||||
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
|
||||
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
|
||||
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
|
||||
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
|
||||
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
|
||||
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
|
||||
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
|
||||
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
|
||||
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
|
||||
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
|
||||
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
|
||||
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
|
||||
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
|
||||
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
|
||||
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
|
||||
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
|
||||
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
|
||||
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
|
||||
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
|
||||
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
|
||||
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
|
||||
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
|
||||
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
|
||||
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
|
||||
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
|
||||
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
|
||||
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
|
||||
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
|
||||
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
|
||||
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
|
||||
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
|
||||
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
|
||||
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
|
||||
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
|
||||
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
|
||||
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
|
||||
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
|
||||
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
|
||||
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
|
||||
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
|
||||
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
|
||||
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
|
||||
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
|
||||
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
|
||||
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
|
||||
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
|
||||
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
|
||||
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
|
||||
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
|
||||
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
|
||||
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
|
||||
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
|
||||
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
|
||||
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
|
||||
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000000000202000000000000046690000000000002056000000000000
|
||||
6D61000000000000222F00000000000020200000000000006574000000000000
|
||||
22330000000000006C750000000000002220000000000000653D000000000000
|
||||
3E0A0000000000003C2F0000000000006F6E0000000000002020000000000000
|
||||
69740000000000000A20000000000000203C0000000000006D65000000000000
|
||||
3D22000000000000617300000000000020200000000000006172000000000000
|
||||
653D000000000000546F00000000000022350000000000002020000000000000
|
||||
506F00000000000032340000000000002020000000000000696F000000000000
|
||||
2020000000000000466900000000000020560000000000005265000000000000
|
||||
616C000000000000222F00000000000020200000000000006574000000000000
|
||||
22380000000000006D6E0000000000000A200000000000002F50000000000000
|
||||
6E32000000000000202000000000000074690000000000002020000000000000
|
||||
3C46
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
object Button1: TButton
|
||||
Left = 0
|
||||
Height = 56
|
||||
Top = 624
|
||||
Width = 1128
|
||||
Caption = 'Close'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 0
|
||||
end
|
||||
object StringGrid1: TStringGrid
|
||||
Left = 2
|
||||
Height = 600
|
||||
Top = 16
|
||||
Width = 1126
|
||||
Color = clDefault
|
||||
ColCount = 4
|
||||
ParentFont = False
|
||||
RowCount = 1
|
||||
ScrollBars = ssAutoVertical
|
||||
TabOrder = 1
|
||||
TitleFont.Height = -21
|
||||
TitleFont.Name = 'Sans'
|
||||
TitleImageList = Form1.ImageListStatus
|
||||
ColWidths = (
|
||||
56
|
||||
273
|
||||
523
|
||||
255
|
||||
)
|
||||
Cells = (
|
||||
4
|
||||
0
|
||||
0
|
||||
'No.'
|
||||
1
|
||||
0
|
||||
'DateTime Stamp'
|
||||
2
|
||||
0
|
||||
'Event Description'
|
||||
3
|
||||
0
|
||||
'Video Devices Number'
|
||||
)
|
||||
end
|
||||
end
|
4
Logs.lrj
4
Logs.lrj
|
@ -1,4 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":167347876,"name":"tform3.caption","sourcebytes":[69,118,101,110,116,115,32,76,111,103,103,101,100],"value":"Events Logged"},
|
||||
{"hash":4863637,"name":"tform3.button1.caption","sourcebytes":[67,108,111,115,101],"value":"Close"}
|
||||
]}
|
|
@ -4,20 +4,25 @@ unit Logs;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids, StdCtrls,
|
||||
VpClock;
|
||||
|
@ -50,4 +55,4 @@ begin
|
|||
Form3.Close;
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,20 +4,25 @@ unit MessageForm;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TplLabelUnit,
|
||||
LCLIntf, ExtCtrls, Logs, Unix;
|
||||
|
@ -57,4 +62,4 @@ begin
|
|||
//Form8.Hide;
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,21 +1,28 @@
|
|||
unit OutputForm;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TplLabelUnit,
|
||||
LCLIntf, ExtCtrls, Logs, Unix;
|
||||
|
@ -51,4 +58,4 @@ begin
|
|||
Form6.Hide;
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
object Form9: TForm9
|
||||
Left = 584
|
||||
Height = 320
|
||||
Height = 205
|
||||
Top = 48
|
||||
Width = 340
|
||||
Width = 218
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Camera Control - Killed Pids '
|
||||
ClientHeight = 320
|
||||
ClientWidth = 340
|
||||
DesignTimePPI = 150
|
||||
ClientHeight = 205
|
||||
ClientWidth = 218
|
||||
Font.Style = [fsBold]
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
LCLVersion = '7.2'
|
||||
object Button1: TButton
|
||||
Left = 0
|
||||
Height = 56
|
||||
Top = 256
|
||||
Width = 338
|
||||
Height = 36
|
||||
Top = 164
|
||||
Width = 216
|
||||
Caption = 'Οκ'
|
||||
Font.Style = [fsBold]
|
||||
OnClick = Button1Click
|
||||
|
@ -25,10 +24,8 @@ object Form9: TForm9
|
|||
object Image1: TImage
|
||||
Left = 0
|
||||
Height = 64
|
||||
Top = 16
|
||||
Top = 10
|
||||
Width = 64
|
||||
Constraints.MaxHeight = 64
|
||||
Constraints.MaxWidth = 64
|
||||
Picture.Data = {
|
||||
07544269746D61708A3F0000424D8A3F0000000000008A0000007C0000004000
|
||||
00003F0000000100200003000000003F0000130B0000130B0000000000000000
|
||||
|
@ -542,39 +539,39 @@ object Form9: TForm9
|
|||
}
|
||||
end
|
||||
object Label1: TLabel
|
||||
Left = 136
|
||||
Height = 26
|
||||
Top = 71
|
||||
Width = 58
|
||||
Left = 87
|
||||
Height = 20
|
||||
Top = 45
|
||||
Width = 34
|
||||
Caption = 'None'
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object ScrollBar1: TScrollBar
|
||||
Left = 319
|
||||
Height = 232
|
||||
Top = 16
|
||||
Left = 204
|
||||
Height = 148
|
||||
Top = 10
|
||||
Width = 13
|
||||
Kind = sbVertical
|
||||
PageSize = 0
|
||||
TabOrder = 1
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 104
|
||||
Height = 26
|
||||
Top = 16
|
||||
Width = 154
|
||||
Left = 67
|
||||
Height = 20
|
||||
Top = 10
|
||||
Width = 93
|
||||
Caption = 'Pids Numbers'
|
||||
Font.Style = [fsBold]
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 95
|
||||
Height = 18
|
||||
Top = 49
|
||||
Width = 166
|
||||
Left = 61
|
||||
Height = 12
|
||||
Top = 31
|
||||
Width = 106
|
||||
Shape = bsBottomLine
|
||||
Style = bsRaised
|
||||
end
|
||||
|
|
|
@ -4,20 +4,25 @@ unit PidsList;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
|
||||
|
||||
|
@ -57,4 +62,4 @@ begin
|
|||
end;
|
||||
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
20
README.md
20
README.md
|
@ -8,7 +8,7 @@
|
|||
|
||||
- For all of the above to be succeded, `the sudo password is necessary to be provided on a copy of /opt/CameraControl.sh to your Home folder`, edited as shown here with the correct sudo password at the sudopasswordtext field.
|
||||
|
||||
![Screenshot](https://imgur.com/UkxsDi3.png)
|
||||
![Screenshot](https://i.imgur.com/iJzG3z3.png)
|
||||
|
||||
- RPM is not valid yet. I do not have any feedback and testing from such distributions.
|
||||
|
||||
|
@ -17,10 +17,10 @@
|
|||
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
# Some screenshots (but also see the latest [release videos](https://gitlab.com/psposito/camera-control-webcam-switch-indicator/-/blob/master/README.md#video-demos) below:
|
||||
### Some screenshots (but also see the latest [release videos](https://gitlab.com/psposito/camera-control-webcam-switch-indicator/-/blob/master/README.md#video-demos) below:
|
||||
(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):
|
||||
|
||||
### Note: Some of them belong to previous versions, but are more, or less, the same outputs, except that from 2.0.2 Release, are normal Windovw Forms, not messages.
|
||||
#### Note: Some of them belong to previous versions, but are more, or less, the same outputs, except that from 2.0.2 Release, are normal Windovw Forms, not messages.
|
||||
|
||||
- Microphone Unmuted, Camera On:
|
||||
|
||||
|
@ -103,23 +103,23 @@
|
|||
![Screenshot](https://imgur.com/bUjoU0j.png)
|
||||
|
||||
|
||||
# Video Demos:
|
||||
### Video Demos:
|
||||
|
||||
- ## The Big Release 2.0.2 Demo
|
||||
- #### The Big Release 2.0.2 Demo
|
||||
|
||||
- [![Release 2.0.2 Demo](http://img.youtube.com/vi/8b2H3lYPNc8/0.jpg)](http://www.youtube.com/watch?v=8b2H3lYPNc8 "Camera Control 2.0-2")
|
||||
- [![Release 2.0.2 Demo](http://img.youtube.com/vi/8b2H3lYPNc8/0.jpg)](http://www.youtube.com/watch?v=8b2H3lYPNc8)
|
||||
|
||||
- ### Release 2.0.1
|
||||
#### Demo
|
||||
- [![Release 2.0-1 Demo](http://img.youtube.com/vi/V-VOqm7Cbi8/0.jpg)](http://www.youtube.com/watch?v=V-VOqm7Cbi8 "Release 2.0-1 Demo")
|
||||
- [![Release 2.0-1 Demo](http://img.youtube.com/vi/V-VOqm7Cbi8/0.jpg)](http://www.youtube.com/watch?v=V-VOqm7Cbi8)
|
||||
|
||||
#### Further Information for the release
|
||||
- [![Release 2.0-1 Info](http://img.youtube.com/vi/2F9eMjQEzGc/0.jpg)](http://www.youtube.com/watch?v=2F9eMjQEzGc "Release 2.0-1 Info")
|
||||
- [![Release 2.0-1 Info](http://img.youtube.com/vi/2F9eMjQEzGc/0.jpg)](http://www.youtube.com/watch?v=2F9eMjQEzGc)
|
||||
|
||||
- #### [Previous Videos at Youtube Playlist](https://www.youtube.com/playlist?list=PLAG2B-41QEHVhg2O8flo-gUIE1Mfg8iRt))
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
# Prerequisites
|
||||
### 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:
|
||||
|
||||
|
@ -139,6 +139,6 @@
|
|||
|
||||
#### Select the name(s) from the above list, by the name of your Distribution (either major or derived from), respectively.
|
||||
|
||||
# Further Details at the [Wiki](https://git.disroot.org/linuxer.gr/camera-control-webcam-switch-indicator/wiki/Home)
|
||||
### Further Details at the [Wiki](https://gitlab.com/linuxer.gr/camera-control-webcam-switch-indicator/-/wikis/Project-History-and-other-Details)
|
||||
|
||||
#### For Project Releases, please add the [RSS Atom Feeds link](https://gitlab.com/psposito/camera-control-webcam-switch-indicator/-/tags?feed_token=hAsTBdxnMmMiYYCvGoHN&format=atom), to your RSS Feed Reader.
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
object Form4: TForm4
|
||||
Left = 455
|
||||
Height = 332
|
||||
Height = 213
|
||||
Top = 45
|
||||
Width = 474
|
||||
Width = 303
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Sytem Reboot'
|
||||
ClientHeight = 332
|
||||
ClientWidth = 474
|
||||
DesignTimePPI = 150
|
||||
ClientHeight = 213
|
||||
ClientWidth = 303
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
|
@ -314,35 +313,37 @@ object Form4: TForm4
|
|||
767F
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
LCLVersion = '7.2'
|
||||
object ListBox1: TListBox
|
||||
Left = 0
|
||||
Height = 248
|
||||
Top = 16
|
||||
Width = 472
|
||||
Height = 159
|
||||
Top = 10
|
||||
Width = 302
|
||||
Font.Style = [fsBold]
|
||||
ItemHeight = 0
|
||||
ParentFont = False
|
||||
ScrollWidth = 470
|
||||
ScrollWidth = 298
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 56
|
||||
Height = 56
|
||||
Top = 272
|
||||
Width = 117
|
||||
Left = 36
|
||||
Height = 36
|
||||
Top = 174
|
||||
Width = 74
|
||||
Caption = 'Reboot'
|
||||
OnClick = Button1Click
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 288
|
||||
Height = 56
|
||||
Top = 272
|
||||
Width = 117
|
||||
Left = 184
|
||||
Height = 36
|
||||
Top = 174
|
||||
Width = 74
|
||||
Caption = 'Cancel'
|
||||
OnClick = Button2Click
|
||||
ParentFont = False
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
|
|
348
Reboot.lfm
348
Reboot.lfm
|
@ -1,348 +0,0 @@
|
|||
object Form4: TForm4
|
||||
Left = 455
|
||||
Height = 318
|
||||
Top = 45
|
||||
Width = 474
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Sytem Reboot'
|
||||
ClientHeight = 318
|
||||
ClientWidth = 474
|
||||
DesignTimePPI = 150
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
0004000000080000000B0000000D0000000F0000001100000012000000130000
|
||||
0013000000130000001300000012000000110000000F0000000D0000000B0000
|
||||
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
|
||||
0014000000170000001A0000001D000000200000002200000023000000240000
|
||||
002500000025000000240000002300000022000000200000001D0000001A0000
|
||||
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
|
||||
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
|
||||
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
|
||||
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
|
||||
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
|
||||
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
|
||||
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
|
||||
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0003000000090000000F000000150000001B000000212A28236D393832F65354
|
||||
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
|
||||
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
|
||||
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
|
||||
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
|
||||
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
|
||||
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
|
||||
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
|
||||
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
|
||||
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
|
||||
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
|
||||
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
|
||||
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
|
||||
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
|
||||
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
|
||||
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
|
||||
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
|
||||
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
|
||||
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
|
||||
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
|
||||
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
|
||||
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
|
||||
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
|
||||
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
|
||||
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
|
||||
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
|
||||
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
|
||||
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
|
||||
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
|
||||
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
|
||||
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
|
||||
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
|
||||
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
|
||||
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
|
||||
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
|
||||
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
|
||||
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
|
||||
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
|
||||
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
|
||||
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
|
||||
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
|
||||
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
|
||||
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
|
||||
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
|
||||
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
|
||||
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
|
||||
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
|
||||
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
|
||||
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
|
||||
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
|
||||
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
|
||||
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
|
||||
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
|
||||
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
|
||||
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
|
||||
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
|
||||
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
|
||||
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
|
||||
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
|
||||
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
|
||||
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
|
||||
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
|
||||
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
|
||||
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
|
||||
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
|
||||
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
|
||||
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
|
||||
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
|
||||
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
|
||||
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
|
||||
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
|
||||
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
|
||||
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
|
||||
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
|
||||
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
|
||||
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
|
||||
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
|
||||
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
|
||||
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
|
||||
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
|
||||
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
|
||||
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
|
||||
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
|
||||
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
|
||||
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
|
||||
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
|
||||
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
|
||||
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
|
||||
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
|
||||
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
|
||||
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
|
||||
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
|
||||
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
|
||||
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
|
||||
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
|
||||
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
|
||||
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
|
||||
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
|
||||
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
|
||||
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
|
||||
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
|
||||
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
|
||||
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
|
||||
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
|
||||
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
|
||||
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
|
||||
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
|
||||
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
|
||||
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
|
||||
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
|
||||
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
|
||||
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
|
||||
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
|
||||
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
|
||||
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
|
||||
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
|
||||
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
|
||||
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
|
||||
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
|
||||
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
|
||||
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
|
||||
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
|
||||
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
|
||||
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
|
||||
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
|
||||
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
|
||||
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
|
||||
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
|
||||
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
|
||||
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
|
||||
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
|
||||
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F000000000000767F000000000000767F000000000000767F000000000000
|
||||
767F
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
object ListBox1: TListBox
|
||||
Left = 8
|
||||
Height = 248
|
||||
Top = 16
|
||||
Width = 464
|
||||
Font.Style = [fsBold]
|
||||
ItemHeight = 0
|
||||
ParentFont = False
|
||||
ScrollWidth = 460
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
end
|
||||
object Button1: TButton
|
||||
Left = 56
|
||||
Height = 39
|
||||
Top = 272
|
||||
Width = 117
|
||||
Caption = 'Reboot'
|
||||
OnClick = Button1Click
|
||||
TabOrder = 1
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 288
|
||||
Height = 39
|
||||
Top = 272
|
||||
Width = 117
|
||||
Caption = 'Cancel'
|
||||
OnClick = Button2Click
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":3882900,"name":"tform4.caption","sourcebytes":[83,121,116,101,109,32,82,101,98,111,111,116],"value":"Sytem Reboot"},
|
||||
{"hash":93034084,"name":"tform4.button1.caption","sourcebytes":[82,101,98,111,111,116],"value":"Reboot"},
|
||||
{"hash":77089212,"name":"tform4.button2.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"}
|
||||
]}
|
|
@ -4,20 +4,25 @@ unit Reboot;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, Logs,
|
||||
Unix, MessageForm;
|
||||
|
@ -292,4 +297,4 @@ begin
|
|||
FpSystem('reboot');
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
object Form5: TForm5
|
||||
Left = 533
|
||||
Height = 460
|
||||
Height = 294
|
||||
Top = 45
|
||||
Width = 571
|
||||
Width = 365
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Reboot or Quit Application'
|
||||
ClientHeight = 460
|
||||
ClientWidth = 571
|
||||
DesignTimePPI = 150
|
||||
ClientHeight = 294
|
||||
ClientWidth = 365
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
|
@ -314,41 +313,44 @@ object Form5: TForm5
|
|||
0000
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
LCLVersion = '7.2'
|
||||
object Button1: TButton
|
||||
Left = 32
|
||||
Height = 56
|
||||
Top = 400
|
||||
Width = 184
|
||||
Left = 21
|
||||
Height = 36
|
||||
Top = 256
|
||||
Width = 118
|
||||
Caption = 'Reboot'
|
||||
Default = True
|
||||
OnClick = Button1Click
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 312
|
||||
Height = 56
|
||||
Top = 400
|
||||
Width = 184
|
||||
Left = 200
|
||||
Height = 36
|
||||
Top = 256
|
||||
Width = 118
|
||||
Caption = 'Quit'
|
||||
OnClick = Button2Click
|
||||
ParentFont = False
|
||||
TabOrder = 1
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 8
|
||||
Height = 337
|
||||
Top = 15
|
||||
Width = 560
|
||||
Left = 5
|
||||
Height = 215
|
||||
Top = 10
|
||||
Width = 358
|
||||
ItemHeight = 0
|
||||
ScrollWidth = 558
|
||||
ParentFont = False
|
||||
ScrollWidth = 354
|
||||
TabOrder = 2
|
||||
TopIndex = -1
|
||||
end
|
||||
object StaticText1: TStaticText
|
||||
Left = 88
|
||||
Height = 27
|
||||
Top = 360
|
||||
Width = 380
|
||||
Left = 57
|
||||
Height = 17
|
||||
Top = 231
|
||||
Width = 243
|
||||
Caption = 'V4L2 limitations, forcing for Reboot'
|
||||
Font.Color = clBlue
|
||||
Font.Style = [fsItalic, fsUnderline]
|
||||
|
|
361
RebootDialog.lfm
361
RebootDialog.lfm
|
@ -1,361 +0,0 @@
|
|||
object Form5: TForm5
|
||||
Left = 533
|
||||
Height = 453
|
||||
Top = 45
|
||||
Width = 571
|
||||
Anchors = [akTop]
|
||||
BorderStyle = bsToolWindow
|
||||
Caption = 'Reboot or Quit Application'
|
||||
ClientHeight = 453
|
||||
ClientWidth = 571
|
||||
DesignTimePPI = 150
|
||||
Icon.Data = {
|
||||
BE2500000000010001003030000001002000A825000016000000280000003000
|
||||
0000600000000100200000000000002400006400000064000000000000000000
|
||||
0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
00010000000100000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000010000
|
||||
0004000000080000000B0000000D0000000F0000001100000012000000130000
|
||||
0013000000130000001300000012000000110000000F0000000D0000000B0000
|
||||
00080000000400000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF0000000002000000080000000C000000100000
|
||||
0014000000170000001A0000001D000000200000002200000023000000240000
|
||||
002500000025000000240000002300000022000000200000001D0000001A0000
|
||||
001700000014000000100000000C0000000800000002FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF0000000002000000090000000E00000013000000180000001C0C0C
|
||||
0C292B29257632302AA3373530C9383631E7383730F2383631F6373630FA3634
|
||||
2EFD36342EFD373630FA383631F6383630F2373631E637362FC831302BA12C29
|
||||
25750D0D07270000001C00000018000000130000000E0000000900000002FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000050000000B00000010000000160000001C070707242F2D288D3734
|
||||
2FF3464541F65F5F5CFF6D6E6CFF7C7E7CFF8A8C8AFF959997FFA2A5A3FFAFB2
|
||||
B0FFB0B3B1FFA7AAA8FF9D9F9EFF949694FF8A8C8AFF7C7D7BFF70706EFF4F4F
|
||||
4AF636342EF22F2D2789000000230000001B00000016000000100000000B0000
|
||||
0005FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0003000000090000000F000000150000001B000000212A28236D393832F65354
|
||||
53FF626462FF676968FF6F7270FF767978FF7E817FFF858987FF8C908EFF9397
|
||||
95FF929694FF8C908EFF858886FF7F8381FF7A7D7CFF767977FF747776FF8285
|
||||
83FF777977FF3F3E39F628252367000000200000001B000000150000000F0000
|
||||
000900000003FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
00040000000A00000010000000160000001C0000002234322DD140423FFF4F51
|
||||
50FF575A58FF606261FF686B69FF707372FF797C7AFF818583FF898D8BFF9296
|
||||
94FF919593FF888C8AFF7E8280FF757977FF6C6F6EFF626664FF595C5BFF4F53
|
||||
51FF626463FF5A5C5AFF32312CCB00000026000000200000001B000000140000
|
||||
000C00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
||||
0001000000080000000D00000013000000190000001E36332EEE434644FF4F51
|
||||
50FF575A58FF606261FF676A68FF6D706FFF747775FF797D7BFF7F8281FF868A
|
||||
88FF868987FF7F8381FF787C7AFF727674FF6A6D6CFF626664FF595C5BFF4F53
|
||||
51FF4B4E4DFF5E5F5EFF35342DF117171758191919531A1A1A4D1B1B1B430E0E
|
||||
0E35000000270000001D00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF0000000001000000070000000D000000120000001733322DAA3F403CFE4F51
|
||||
50FF565957FF5D5F5EFF606361FF626564FF646765FF676A68FF6A6D6BFF6F72
|
||||
70FF6F7371FF6C6F6DFF676B69FF646866FF626564FF5E6260FF585B5AFF4F53
|
||||
51FF4D4F4EFF464744FF40413CF7535654EA535654EA535654E9525654EC5357
|
||||
55F6535755FE525553DD3E3E3E2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF0000000002000000080000000D2E2B2859393833F34E50
|
||||
4FFF525553FF525453FF505251FF505252FF5E615EFF676B69FF6F7271FF797E
|
||||
7BFF7A7E7CFF6F7271FF676A69FF5E6160FF525554FF515553FF525454FF4D51
|
||||
4FFF464948FF383732F22E2B28530000000D0000000800000002000000010000
|
||||
000C1111111E525554D454575689FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000011717170B363530DC4040
|
||||
3EFC494B49FF5E605FFF7C7F7EFF878D8BFFA6A9A8FFBCBEBDFFCBCCCBFFD5D6
|
||||
D6FFD5D6D6FFCACCCBFFBBBEBDFFA5A8A6FF888D8BFF7B7F7DFF5F6361FF4A4D
|
||||
4BFF3E3E3BFC37342ED71C1C1C09FFFFFF00FFFFFF00000000080909091D494E
|
||||
4C6C535655DB5356549D80808002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003A3A342C5355
|
||||
51F9838786FFAEB1B0FFDBDCDCFFEFEFEFFFEEEEEEFFECECECFFEAEAEAFFE8E8
|
||||
E8FFE8E8E8FFEAEAEAFFECECECFFEEEEEEFFEFEFEFFFDADBDBFFADB0AFFF8488
|
||||
86FF565754F73C3C3522FFFFFF00FFFFFF00FFFFFF0041484452525754DD5357
|
||||
55B053585337FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008288882F898E8CE6ACAF
|
||||
AEFBE6E6E6FFEFEFEFFFE7E7E7FFE0E0E0FFDEDEDEFFDDDDDDFFDCDCDCFFDCDC
|
||||
DCFFDCDCDCFFDCDCDCFFDDDDDDFFDEDEDEFFE0E0E0FFE7E7E7FFEFEFEFFFE6E7
|
||||
E6FFAFB2B1F88B8F8DE0868C862AFFFFFF00FFFFFF00515754C24C4E4C680000
|
||||
0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00868C895D8E9391F5D7D9D8FEEEEE
|
||||
EEFFE2E2E2FFDBDBDBFFD9D9D9FFD7D7D7FFD6D6D6FFD5D5D5FFD4D4D4FFD4D4
|
||||
D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7D7FFD9D9D9FFDBDBDBFFE2E2
|
||||
E2FFEEEEEEFFD7D8D7FE8E9290F4888B8B56FFFFFF0054585443515653912C2C
|
||||
2C1700000002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF008C918F66989D9BF6E5E5E5FFE7E7E7FFD9D9
|
||||
D9FFD6D6D6FFD3D3D3FFD1D1D1FFCFCFCFFFCECECEFFCDCDCDFFCCCCCCFFCCCC
|
||||
CCFFCCCCCCFFCCCCCCFFCDCDCDFFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFD6D6
|
||||
D6FFD9D9D9FFE7E7E7FFE4E4E4FF969B99F68C8E8E5FFFFFFF005155553C5156
|
||||
535F47474712FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00888F8C49949897F6E6E6E6FFE1E1E1FFD4D4D4FFD1D1
|
||||
D1FFCECECEFFCCCCCCFFC9C9C9FFC8C8C8FFC6C6C6FFC5C5C5FFC4C4C4FFC4C4
|
||||
C4FFC4C4C4FFC4C4C4FFC5C5C5FFC6C6C6FFC8C8C8FFC9C9C9FFCCCCCCFFCECE
|
||||
CEFFD1D1D1FFD4D4D4FFE1E1E1FFE5E6E6FF949897F5898D8D43FFFFFF004E59
|
||||
591755555521FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF008A918A25909694F4DEE0DFFFE0E0E0FFD1D1D1FFCDCDCDFFCACA
|
||||
CAFFC7C7C7FFC4C4C4FFC2C2C2FFC2C2C2FFCECECEFFDDDDDDFFE9E9E9FFF3F3
|
||||
F3FFF3F3F3FFE9E9E9FFDDDDDDFFCECECEFFC2C2C2FFC2C2C2FFC4C4C4FFC7C7
|
||||
C7FFCACACAFFCDCDCDFFD1D1D1FFE1E1E1FFDEE0DFFF909795F28A928A23FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00909794BCCBCCCCFDE2E2E2FFCECECEFFCACACAFFC6C6C6FFC3C3
|
||||
C3FFC2C2C2FFC5C5C5FFC9C9C9FFE0E0E0FFE6E6E6FFADADADFF747473FF3737
|
||||
35FF373735FF747473FFADADACFFE6E6E6FFE0E0E0FFC9C9C9FFC5C5C5FFC2C2
|
||||
C2FFC3C3C3FFC6C6C6FFCACACAFFCECECEFFE2E2E2FFCBCCCBFD919693B9FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF008D9491439EA3A1F4E6E7E7FFCFCFCFFFC7C7C7FFC3C3C3FFC3C3C3FFC6C6
|
||||
C6FFC8C8C8FFD1D1D1FFE7E7E7FFAAAAA9FF20201EFF3E3D3BFF51504EFF6564
|
||||
62FF656462FF52504EFF3E3D3BFF232221FFA9A9A9FFE7E7E7FFD1D1D1FFC8C8
|
||||
C8FFC5C5C5FFC2C2C2FFC3C3C3FFC7C7C7FFCFCFCFFFE7E7E7FF9CA09EF58C94
|
||||
903EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00939997CED3D5D4FFD7D7D7FFC6C6C6FFC1C1C1FFC5C5C5FFC8C8C8FFCBCB
|
||||
CBFFCFCFCFFFE2E2E2FF5A5A59FF2B2B29FF5F5D5BFF594D42FF523D2DFF553A
|
||||
28FF573E2BFF574232FF594B42FF5F5E5CFF2D2C2AFF5A5A59FFE2E2E2FFCFCF
|
||||
CFFFCBCBCBFFC8C8C8FFC5C5C5FFC1C1C1FFC6C6C6FFD9D9D9FFD2D3D3FF9499
|
||||
96CAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008F99
|
||||
8F19989D9AF7E5E5E5FFC6C6C6FFC2C2C2FFC6C6C6FFCACACAFFCDCDCDFFD1D1
|
||||
D1FFDCDCDCFF939392FF292826FF5E5A55FF503A29FF453828FF31716FFF18A9
|
||||
B6FF18ACBAFF357878FF4E4334FF513A29FF5E5A56FF2B2A28FF90908FFFDCDC
|
||||
DCFFD1D1D1FFCDCDCDFFCACACAFFC6C6C6FFC2C2C2FFC7C7C7FFE4E4E4FF979C
|
||||
99F88B979716FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009297
|
||||
956CB8BBBAF7DBDBDBFFC2C2C2FFC7C7C7FFCBCBCBFFCFCFCFFFD3D3D3FFD7D7
|
||||
D7FFC4C4C3FF1A1918FF53524FFF503928FF442D1CFF364F49FF3E5A58FF4D5A
|
||||
56FF54615CFF486562FF415E59FF4C3625FF513928FF545250FF191917FFC0C0
|
||||
BFFFD7D7D7FFD3D3D3FFCFCFCFFFCBCBCBFFC7C7C7FFC2C2C2FFDBDBDBFFB7BA
|
||||
B8F592979565FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999D
|
||||
9BC0D0D1D1FFCFCFCFFFC7C7C7FFCBCBCBFFD0D0D0FFD4D4D4FFD8D8D8FFDBDB
|
||||
DBFF727271FF31302EFF504339FF482E1DFF38281CFF3B352EFF474642FF5C5B
|
||||
59FF6B6A68FF5D5B59FF4F4841FF47372CFF472E1CFF514338FF32312FFF7272
|
||||
71FFDBDBDBFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFC7C7C7FFCFCFCFFFCFD0
|
||||
CFFF989C9BB7FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DDFD7D7D7FFCDCDCDFFCBCBCBFFCFCFCFFFD4D4D4FFD8D8D8FFDDDDDDFFE1E1
|
||||
E1FF3D3D3BFF3B3A37FF4E3828FF402C1CFF30241BFF31302CFF363532FF1313
|
||||
12FF161615FF464543FF474542FF3F342CFF3F2B1CFF4F3928FF3D3B39FF3D3D
|
||||
3BFFE0E0E0FFDDDDDDFFD8D8D8FFD4D4D4FFCFCFCFFFCBCBCBFFCDCDCDFFD5D6
|
||||
D5FF999E9CD8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00999E
|
||||
9DF4DFDFDFFFCCCCCCFFCECECEFFD3D3D3FFD8D8D8FFDDDDDDFFE1E1E1FFE5E5
|
||||
E5FF161614FF434240FF4E3321FF3C2A1CFF2A231BFF2A2926FF0D0D0CFF0000
|
||||
00FF000000FF10100FFF3E3C39FF352C26FF3B291CFF4E3320FF454442FF1616
|
||||
14FFE5E5E5FFE1E1E1FFDDDDDDFFD8D8D8FFD3D3D3FFCECECEFFCCCCCCFFDDDE
|
||||
DEFF999F9EEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA03999F
|
||||
9CFEE5E5E5FFCECECEFFD2D2D2FFD7D7D7FFDCDCDCFFE1E1E1FFE6E6E6FFEAEA
|
||||
EAFF161614FF3E3D3AFF4D3320FF3C2A1CFF2A231BFF1F1D1AFF0A0A09FF0000
|
||||
00FF000000FF0C0C0BFF302E2BFF2B221AFF3B291CFF4D321FFF3F3E3BFF1616
|
||||
14FFEAEAEAFFE5E5E5FFE1E1E1FFDCDCDCFFD7D7D7FFD2D2D2FFCECECEFFE4E4
|
||||
E4FF9AA09DFCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009CA2
|
||||
9FF5E2E2E2FFD3D3D3FFD5D5D5FFDADADAFFE0E0E0FFE5E5E5FFE9E9E9FFEEEE
|
||||
EEFF41413FFF2E2D2AFF493424FF402C1CFF2F241BFF2A2724FF51504EFF6362
|
||||
62FF646363FF545351FF292724FF2F241BFF3F2B1CFF4B3524FF2F2E2BFF4141
|
||||
3FFFEEEEEEFFE9E9E9FFE4E4E4FFDFDFDFFFDADADAFFD5D5D5FFD2D2D2FFE1E1
|
||||
E1FF9CA39FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009FA5
|
||||
A3E0DDDEDEFFD7D7D7FFD8D8D8FFDDDDDDFFE3E3E3FFE8E8E8FFEDEDEDFFF2F2
|
||||
F2FF7D7D7CFF242320FF42352AFF472E1CFF38281CFFA19D9AFFD4D4D3FFD4D4
|
||||
D3FFD4D4D3FFD4D4D3FFA19D9AFF38271CFF462E1CFF43352BFF252421FF7D7D
|
||||
7CFFF2F2F2FFEDEDEDFFE8E8E8FFE2E2E2FFDDDDDDFFD7D7D7FFD7D7D7FFDBDC
|
||||
DCFF9FA5A3D9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A4C4D7D8D8FFDDDDDDFFDADADAFFE0E0E0FFE5E5E5FFEBEBEBFFF0F0F0FFF5F5
|
||||
F5FFD9D9D9FF171614FF2E2C29FF493120FF432D1CFFC1BCB9FFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFC1BCB9FF432D1CFF493120FF302D2AFF151513FFD5D5
|
||||
D4FFF5F5F5FFF0F0F0FFEBEBEBFFE5E5E5FFDFDFDFFFDADADAFFDDDDDDFFD5D6
|
||||
D6FFA1A6A4BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A0A7
|
||||
A571C2C5C4F8E5E5E5FFDCDCDCFFE2E2E2FFE7E7E7FFEDEDEDFFF1F2F3FFF5F8
|
||||
F8FFFCFEFEFF8F908FFF1E1E1CFF312C27FF48301FFF5A4333FFAEA6A0FFE4E2
|
||||
E0FFE4E2E0FFAEA6A0FF594333FF48301FFF312C27FF1E1E1CFF8C8C8BFFFDFD
|
||||
FDFFF8F8F8FFF2F2F2FFEDEDEDFFE7E7E7FFE1E1E1FFDCDCDCFFE5E5E5FFC2C5
|
||||
C4F6A0A7A26BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF009EA7
|
||||
A71DA9AEABF6EBEBEBFFDEDEDEFFE3E3E3FFE8E9E9FFE8EEEFFFD9F0F3FFCCF3
|
||||
F7FFD8F8FCFFECFAFCFF434644FF1B1A18FF23211FFF392B20FF452F1EFF4B30
|
||||
1DFF4B301DFF452F1EFF392A20FF252320FF1B1B19FF444442FFFDFDFDFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFE9E9E9FFE3E3E3FFDEDEDEFFEBEBEBFFA8AD
|
||||
ABF79DA7A71AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A6ACAAD5DDDEDEFFE6E6E6FFE4E4E4FFE6E9E9FFD0ECEFFF53D1C7FF0AC2
|
||||
B6FF1FC5B8FFA0E8E7FFECFAFBFF90908FFF141412FF181715FF1A1916FF1F1D
|
||||
1BFF1F1E1BFF1A1916FF171614FF161514FF8F8F8EFFFDFDFDFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF5F5F5FFEFEFEFFFEAEAEAFFE4E4E4FFE6E6E6FFDCDDDDFFA7AC
|
||||
ABD1FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00A4ABA84CB5BAB8F4EEEEEEFFE4E5E5FFE2E9EAFFA3E2E3FF03C6BCFF88E8
|
||||
EFFF2DD2D7FF36CABEFFDDF9FCFFFFFFFFFFDBDBDBFF80807FFF434341FF1717
|
||||
15FF171715FF434341FF80807FFFDBDBDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFCFCFCFFF6F6F6FFF0F0F0FFEAEAEAFFE5E5E5FFEEEEEEFFB3B9B7F4A4AB
|
||||
A846FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00ACB1AFC5D9DBDAFEECEDEDFFE2E9EAFFA3E2E3FF03CABEFF79E7
|
||||
EEFF25D4D7FF35CABEFFDDF9FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFBFBFBFFF6F6F6FFF0F0F0FFEAEAEAFFEDEDEDFFD9DBDAFEACB1AFC2FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00A8AEAE2CB0B6B3F5EAEAEAFFEBEEEEFFCEEBEEFF4CCDC4FF07C6
|
||||
B7FF19C6B7FF9DE7E6FFEEFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFAFAFAFFF4F4F4FFEFEFEFFFEFEFEFFFEAEAEAFFB1B6B3F4AAB0AA2AFFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00ACB5AF56B7BEBCF6EEF0F0FFE9F0F1FFD7EFF2FFCAF0
|
||||
F5FFD7F7FBFFEDFCFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
|
||||
FEFFF8F8F8FFF3F3F3FFF1F1F1FFEFEFEFFFB7BDBAF6AEB2B24FFFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00B1B8B676C0C4C2F5EFEFEFFFF3F5F5FFF3F6
|
||||
F6FFF8FAFAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFB
|
||||
FBFFF6F6F6FFF5F5F5FFEFF0F0FFBEC3C0F6B0B7B56EFFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B5BCB96EBAC0BEF6E9EBEAFFF7F7
|
||||
F7FFF8F8F8FFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFF8F8
|
||||
F8FFF7F7F7FFEAEBEBFEB9C1BDF5B5BAB767FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B4BDB93ABAC0BEECD7DA
|
||||
D9F7F4F5F5FFFAFAFAFFFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFAFAFAFFF4F5
|
||||
F5FFD7DAD9F6B9C1BEEAB7BCBC35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00B6C8B60EBCC2
|
||||
C082C0C7C4F4DBDFDEF9F2F3F3FFEADDD3FFC59E7FFFBC8C67FFB98760FFB682
|
||||
5AFFB6825AFFB98760FFBC8D67FFC69F80FFEADED4FFF1F3F2FFDBDFDEF8BFC7
|
||||
C3F4BDC3C17FBFBFBF0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00C3C3C311C2C8C47EC5CBC8D8A86E41FFBC8657FFC39064FFC49163FFC592
|
||||
64FFC59264FFC49062FFC39063FFBA8355FFAA7043FEC5CCC8D6C1CAC57CBFBF
|
||||
BF10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00A96C3DBDB88255FACFA57EFFD8B28DFFD9B3
|
||||
8FFFD8B18DFFD9B48FFFD3AA84FFB88457FAA86C3DB8FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00AA552B06A5673783A76939D4A56635F8B077
|
||||
49F5B1794AF5A86C3CF7A66838D2A566367FAA552B06FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF000001A363
|
||||
3224A8663323FF000001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||
FF00000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000
|
||||
}
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '7.0'
|
||||
object Button1: TButton
|
||||
Left = 32
|
||||
Height = 39
|
||||
Top = 400
|
||||
Width = 184
|
||||
Caption = 'Reboot'
|
||||
Default = True
|
||||
OnClick = Button1Click
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
Left = 312
|
||||
Height = 39
|
||||
Top = 400
|
||||
Width = 184
|
||||
Caption = 'Quit'
|
||||
OnClick = Button2Click
|
||||
TabOrder = 1
|
||||
end
|
||||
object ListBox1: TListBox
|
||||
Left = 8
|
||||
Height = 337
|
||||
Top = 15
|
||||
Width = 560
|
||||
ItemHeight = 0
|
||||
ScrollWidth = 558
|
||||
TabOrder = 2
|
||||
TopIndex = -1
|
||||
end
|
||||
object plURLLabel1: TplURLLabel
|
||||
Cursor = crHandPoint
|
||||
Left = 96
|
||||
Height = 26
|
||||
Top = 360
|
||||
Width = 356
|
||||
Caption = 'V4L2 limitations, forcing for Reboot'
|
||||
Font.Color = clBlue
|
||||
Font.Style = [fsUnderline]
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
OnClick = plURLLabel1Click
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":67309710,"name":"tform5.caption","sourcebytes":[82,101,98,111,111,116,32,111,114,32,81,117,105,116,32,65,112,112,108,105,99,97,116,105,111,110],"value":"Reboot or Quit Application"},
|
||||
{"hash":93034084,"name":"tform5.button1.caption","sourcebytes":[82,101,98,111,111,116],"value":"Reboot"},
|
||||
{"hash":363524,"name":"tform5.button2.caption","sourcebytes":[81,117,105,116],"value":"Quit"},
|
||||
{"hash":175211220,"name":"tform5.plurllabel1.caption","sourcebytes":[86,52,76,50,32,108,105,109,105,116,97,116,105,111,110,115,44,32,102,111,114,99,105,110,103,32,102,111,114,32,82,101,98,111,111,116],"value":"V4L2 limitations, forcing for Reboot"}
|
||||
]}
|
|
@ -1,21 +1,28 @@
|
|||
unit RebootDialog;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, TplLabelUnit,
|
||||
LCLIntf, Logs, Unix;
|
||||
|
@ -69,4 +76,4 @@ begin
|
|||
S := FpSystem('reboot');
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":3882900,"name":"tform5.caption","sourcebytes":[83,121,116,101,109,32,82,101,98,111,111,116],"value":"Sytem Reboot"},
|
||||
{"hash":93034084,"name":"tform5.button1.caption","sourcebytes":[82,101,98,111,111,116],"value":"Reboot"},
|
||||
{"hash":77089212,"name":"tform5.button2.caption","sourcebytes":[67,97,110,99,101,108],"value":"Cancel"},
|
||||
{"hash":259754595,"name":"tform5.plurllabel1.caption","sourcebytes":[80,114,111,106,101,99,116,39,115,32,87,105,107,105,32,45,32,86,52,76,50,32,76,105,109,105,116,97,116,105,111,110,115],"value":"Project's Wiki - V4L2 Limitations"}
|
||||
]}
|
|
@ -1,40 +0,0 @@
|
|||
program cameracontrol;
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, Logs, About, Reboot, RebootDialog, OutputForm, Main, MessageForm,
|
||||
InputForm, PidsList;
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource:=True;
|
||||
Application.Scaled:=True;
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TForm1, Form1);
|
||||
Application.CreateForm(TForm2, Form2);
|
||||
Application.CreateForm(TForm3, Form3);
|
||||
Application.CreateForm(TForm4, Form4);
|
||||
Application.CreateForm(TForm5, Form5);
|
||||
Application.CreateForm(TForm6, Form6);
|
||||
Application.CreateForm(TForm7, Form7);
|
||||
Application.CreateForm(TForm8, Form8);
|
||||
Application.CreateForm(TForm9, Form9);
|
||||
Application.Run;
|
||||
end.
|
|
@ -0,0 +1,315 @@
|
|||
{ libnotify binding for Free Pascal
|
||||
|
||||
Copyright (C) 2011 Ido Kanner idokan at@at gmail dot.dot com
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
}
|
||||
|
||||
unit libnotify;
|
||||
|
||||
{$mode fpc}{$PACKRECORDS C}
|
||||
|
||||
interface
|
||||
uses ctypes, glib2, gdk2pixbuf;
|
||||
|
||||
const
|
||||
NOTIFY_LIBRARY = 'libnotify';
|
||||
|
||||
// Should be part of GTK but it is not binded to FPC :(
|
||||
type
|
||||
GVariant = record end;
|
||||
GfreeFunc = procedure(data : gpointer); cdecl;
|
||||
|
||||
{ notification.h }
|
||||
const
|
||||
(**
|
||||
* NOTIFY_EXPIRES_DEFAULT:
|
||||
*
|
||||
* The default expiration time on a notification.
|
||||
*)
|
||||
NOTIFY_EXPIRES_DEFAULT = -1;
|
||||
|
||||
(**
|
||||
* NOTIFY_EXPIRES_NEVER:
|
||||
*
|
||||
* The notification never expires. It stays open until closed by the calling API
|
||||
* or the user.
|
||||
*)
|
||||
NOTIFY_EXPIRES_NEVER = 0;
|
||||
|
||||
type
|
||||
P_NotifyNotificationPrivate = ^T_NotifyNotificationPrivate;
|
||||
T_NotifyNotificationPrivate = record end;
|
||||
|
||||
PNotifyNotificationPrivate = P_NotifyNotificationPrivate;
|
||||
NotifyNotificationPrivate = T_NotifyNotificationPrivate;
|
||||
|
||||
P_NotifyNotification = ^T_NotifyNotification;
|
||||
T_NotifyNotification = record
|
||||
parent_object : TGObject;
|
||||
priv : PNotifyNotificationPrivate;
|
||||
end;
|
||||
|
||||
PNotifyNotification = P_NotifyNotification;
|
||||
TNotifyNotification = T_NotifyNotification;
|
||||
|
||||
TNotificationProc = procedure (Notification : PNotifyNotification); cdecl;
|
||||
|
||||
P_NotifyNotificationClass = ^T_NotifyNotificationClass;
|
||||
T_NotifyNotificationClass = record
|
||||
parent_class : TGObjectClass;
|
||||
// Signals
|
||||
Notification : TNotificationProc;
|
||||
end;
|
||||
|
||||
PNotifyNotificationClass = P_NotifyNotificationClass;
|
||||
TNotifyNotificationClass = T_NotifyNotificationClass;
|
||||
|
||||
function notify_notification_get_type : GType; cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function m_notify_type_notification : GType; cdecl; inline;
|
||||
function M_NOTIFY_NOTIFICATION(o : pointer) : PGTypeInstance; cdecl; inline;
|
||||
function M_NOTIFY_NOTIFICATION_CLASS(k : Pointer) : Pointer; cdecl; inline;
|
||||
function M_NOTIFY_IS_NOTIFICATION(o : Pointer) : Boolean; cdecl; inline;
|
||||
function M_NOTIFY_IS_NOTIFICATION_CLASS(k : pointer) : Boolean; cdecl; inline;
|
||||
function M_NOTIFY_NOTIFICATION_GET_CLASS(o : Pointer) : PGTypeClass; cdecl; inline;
|
||||
|
||||
const
|
||||
(**
|
||||
* NotifyUrgency:
|
||||
* @NOTIFY_URGENCY_LOW: Low urgency. Used for unimportant notifications.
|
||||
* @NOTIFY_URGENCY_NORMAL: Normal urgency. Used for most standard notifications.
|
||||
* @NOTIFY_URGENCY_CRITICAL: Critical urgency. Used for very important notifications.
|
||||
*
|
||||
* The urgency level of the notification.
|
||||
*)
|
||||
NOTIFY_URGENCY_LOW = 0;
|
||||
NOTIFY_URGENCY_NORMAL = 1;
|
||||
NOTIFY_URGENCY_CRITICAL = 2;
|
||||
|
||||
type
|
||||
NotifyUrgency = cint;
|
||||
|
||||
(**
|
||||
* NotifyActionCallback:
|
||||
* @notification:
|
||||
* @action:
|
||||
* @user_data:
|
||||
*
|
||||
* An action callback function.
|
||||
*)
|
||||
NotifyActionCallback = procedure(notification : PNotifyNotification;
|
||||
action : PChar;
|
||||
user_data : gpointer); cdecl;
|
||||
(*
|
||||
/**
|
||||
* NOTIFY_ACTION_CALLBACK:
|
||||
* @func: The function to cast.
|
||||
*
|
||||
* A convenience macro for casting a function to a #NotifyActionCallback. This
|
||||
* is much like G_CALLBACK().
|
||||
*/
|
||||
#define NOTIFY_ACTION_CALLBACK(func) ((NotifyActionCallback)(func))
|
||||
*)
|
||||
|
||||
function notify_notification_new(summary, body, icon : PChar) : PNotifyNotification;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function notify_notification_update(notification : PNotifyNotification;
|
||||
summary, body, icon : PChar) : gboolean;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function notify_notification_show(notification : PNotifyNotification;
|
||||
error : PPGError) : gboolean;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_timeout(notification : PNotifyNotification;
|
||||
timeout : gint);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_category(notification : PNotifyNotification;
|
||||
category : PChar);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_urgency(notification : PNotifyNotification;
|
||||
urgency : NotifyUrgency);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_icon_from_pixbuf(
|
||||
notification : PNotifyNotification;
|
||||
icon : PGdkPixbuf);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_image_from_pixbuf(
|
||||
notification : PNotifyNotification;
|
||||
pixbuf : PGdkPixbuf);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_int32(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : gint);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_uint32(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : guint);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_double(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : gdouble);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_string(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : PChar);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_byte(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : guchar);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint_byte_array(
|
||||
notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : Pguchar;
|
||||
len : gsize);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_hint(notification : PNotifyNotification;
|
||||
key : PChar;
|
||||
value : GVariant);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_set_app_name(notification : PNotifyNotification;
|
||||
app_name : PChar);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_clear_hints(notification : PNotifyNotification);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_add_action(notification : PNotifyNotification;
|
||||
action,
|
||||
label_ : PChar;
|
||||
callback : NotifyActionCallback;
|
||||
user_data : gpointer;
|
||||
free_funch : GFreeFunc);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_notification_clear_actions(notification : PNotifyNotification);
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function notify_notification_close(notification : PNotifyNotification;
|
||||
error : PPGError) : gboolean;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function notify_notification_get_closed_reason(
|
||||
notification : PNotifyNotification) : gint;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
{ notify-enum-types.h }
|
||||
(* enumerations from "notification.h" *)
|
||||
function notify_urgency_get_type : GType;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
function M_NOTIFY_TYPE_URGENCY : GType; cdecl; inline;
|
||||
|
||||
{ notify-features.h }
|
||||
(* compile time version *)
|
||||
const
|
||||
NOTIFY_VERSION_MAJOR = 0;
|
||||
NOTIFY_VERSION_MINOR = 7;
|
||||
NOTIFY_VERSION_MICRO = 3;
|
||||
|
||||
(* check whether a version equal to or greater than
|
||||
* major.minor.micro is present.
|
||||
*)
|
||||
function M_NOTIFY_CHECK_VERSION(major, minor, micro : cint) : Boolean; cdecl; inline;
|
||||
|
||||
{ notify.h }
|
||||
|
||||
function notify_init(app_name : PChar) : gboolean;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
procedure notify_uninit; cdecl; external NOTIFY_LIBRARY;
|
||||
function notify_is_initted : gboolean; cdecl; external NOTIFY_LIBRARY;
|
||||
function notify_get_app_name : PChar; cdecl; external NOTIFY_LIBRARY;
|
||||
procedure notify_set_app_name(app_name : PChar); cdecl; external NOTIFY_LIBRARY;
|
||||
function notify_get_server_caps : PGList; cdecl; external NOTIFY_LIBRARY;
|
||||
function notify_get_server_info(ret_name, ret_vendor, ret_version : PPChar) : gboolean;
|
||||
cdecl; external NOTIFY_LIBRARY;
|
||||
|
||||
implementation
|
||||
|
||||
function m_notify_type_notification : GType; cdecl;
|
||||
begin
|
||||
m_notify_type_notification := notify_notification_get_type;
|
||||
end;
|
||||
|
||||
function M_NOTIFY_NOTIFICATION(o : pointer): PGTypeInstance; cdecl;
|
||||
begin
|
||||
// #define NOTIFY_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NOTIFY_TYPE_NOTIFICATION, NotifyNotification))
|
||||
M_NOTIFY_NOTIFICATION := G_TYPE_CHECK_INSTANCE_CAST(o, m_notify_type_notification);
|
||||
end;
|
||||
|
||||
function M_NOTIFY_NOTIFICATION_CLASS(k: Pointer): Pointer; cdecl;
|
||||
begin
|
||||
//#define NOTIFY_NOTIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NOTIFY_TYPE_NOTIFICATION, NotifyNotificationClass))
|
||||
M_NOTIFY_NOTIFICATION_CLASS := G_TYPE_CHECK_CLASS_CAST(k, m_notify_type_notification);
|
||||
end;
|
||||
|
||||
function M_NOTIFY_IS_NOTIFICATION(o: Pointer): Boolean; cdecl;
|
||||
begin
|
||||
// #define NOTIFY_IS_NOTIFICATION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NOTIFY_TYPE_NOTIFICATION))
|
||||
M_NOTIFY_IS_NOTIFICATION := G_TYPE_CHECK_INSTANCE_TYPE(o, m_notify_type_notification);
|
||||
end;
|
||||
|
||||
function M_NOTIFY_IS_NOTIFICATION_CLASS(k: pointer): Boolean; cdecl;
|
||||
begin
|
||||
// #define NOTIFY_IS_NOTIFICATION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NOTIFY_TYPE_NOTIFICATION))
|
||||
M_NOTIFY_IS_NOTIFICATION_CLASS := G_TYPE_CHECK_CLASS_TYPE(k, m_notify_type_notification);
|
||||
end;
|
||||
|
||||
function M_NOTIFY_NOTIFICATION_GET_CLASS(o: Pointer): PGTypeClass; cdecl;
|
||||
begin
|
||||
// #define NOTIFY_NOTIFICATION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NOTIFY_TYPE_NOTIFICATION, NotifyNotificationClass))
|
||||
M_NOTIFY_NOTIFICATION_GET_CLASS := G_TYPE_INSTANCE_GET_CLASS(o, m_notify_type_notification);
|
||||
end;
|
||||
|
||||
function M_NOTIFY_TYPE_URGENCY: GType; cdecl;
|
||||
begin
|
||||
M_NOTIFY_TYPE_URGENCY := notify_urgency_get_type;
|
||||
end;
|
||||
|
||||
function M_NOTIFY_CHECK_VERSION(major, minor, micro: cint): Boolean; cdecl;
|
||||
begin
|
||||
{
|
||||
#define NOTIFY_CHECK_VERSION(major,minor,micro) \
|
||||
(NOTIFY_VERSION_MAJOR > (major) || \
|
||||
(NOTIFY_VERSION_MAJOR == (major) && NOTIFY_VERSION_MINOR > (minor)) || \
|
||||
(NOTIFY_VERSION_MAJOR == (major) && NOTIFY_VERSION_MINOR == (minor) && \
|
||||
NOTIFY_VERSION_MICRO >= (micro)))
|
||||
}
|
||||
M_NOTIFY_CHECK_VERSION := ((NOTIFY_VERSION_MAJOR > major) or
|
||||
((NOTIFY_VERSION_MAJOR = major) and
|
||||
(NOTIFY_VERSION_MINOR > minor)) or
|
||||
((NOTIFY_VERSION_MAJOR = major) and
|
||||
(NOTIFY_VERSION_MINOR = minor) and
|
||||
(NOTIFY_VERSION_MICRO >= micro)));
|
||||
end;
|
||||
|
||||
end.
|
||||
|
36
main.lrj
36
main.lrj
|
@ -1,36 +0,0 @@
|
|||
{"version":1,"strings":[
|
||||
{"hash":5073153,"name":"tform1.caption","sourcebytes":[70,111,114,109,49],"value":"Form1"},
|
||||
{"hash":77085825,"name":"tform1.menuitem1.caption","sourcebytes":[67,97,109,101,114,97],"value":"Camera"},
|
||||
{"hash":1374,"name":"tform1.menuitem3.caption","sourcebytes":[79,110],"value":"On"},
|
||||
{"hash":21958,"name":"tform1.menuitem4.caption","sourcebytes":[79,102,102],"value":"Off"},
|
||||
{"hash":250751524,"name":"tform1.menuitem2.caption","sourcebytes":[80,97,115,115,119,111,114,100,32,82,101,115,101,116],"value":"Password Reset"},
|
||||
{"hash":157543397,"name":"tform1.menuitem5.caption","sourcebytes":[77,105,99,114,111,112,104,111,110,101],"value":"Microphone"},
|
||||
{"hash":347301,"name":"tform1.menuitem6.caption","sourcebytes":[77,117,116,101],"value":"Mute"},
|
||||
{"hash":96816293,"name":"tform1.menuitem7.caption","sourcebytes":[85,110,109,117,116,101],"value":"Unmute"},
|
||||
{"hash":117465251,"name":"tform1.menuitem25.caption","sourcebytes":[83,121,115,116,101,109,32,65,99,116,105,111,110,115],"value":"System Actions"},
|
||||
{"hash":207031364,"name":"tform1.menuitem27.caption","sourcebytes":[66,108,97,99,107,108,105,115,116,32,67,97,109,101,114,97,32,97,110,100,32,82,101,98,111,111,116],"value":"Blacklist Camera and Reboot"},
|
||||
{"hash":190521492,"name":"tform1.menuitem29.caption","sourcebytes":[87,104,105,116,101,108,105,115,116,32,67,97,109,101,114,97,32,97,110,100,32,82,101,98,111,111,116],"value":"Whitelist Camera and Reboot"},
|
||||
{"hash":4691652,"name":"tform1.menuitem9.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
|
||||
{"hash":315140,"name":"tform1.menuitem10.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
|
||||
{"hash":110464019,"name":"tform1.menuitem12.caption","sourcebytes":[83,104,111,119,32,76,111,103,115],"value":"Show Logs"},
|
||||
{"hash":73785566,"name":"tform1.menuitem36.caption","sourcebytes":[82,101,115,101,116,32,83,104,105,101,108,100,32,73,99,111,110],"value":"Reset Shield Icon"},
|
||||
{"hash":11479619,"name":"tform1.menuitem34.caption","sourcebytes":[68,101,108,101,116,101,32,79,108,100,32,76,111,103,115],"value":"Delete Old Logs"},
|
||||
{"hash":157543397,"name":"tform1.menuitem19.caption","sourcebytes":[77,105,99,114,111,112,104,111,110,101],"value":"Microphone"},
|
||||
{"hash":347301,"name":"tform1.menuitem20.caption","sourcebytes":[77,117,116,101],"value":"Mute"},
|
||||
{"hash":96816293,"name":"tform1.menuitem21.caption","sourcebytes":[85,110,109,117,116,101],"value":"Unmute"},
|
||||
{"hash":77085825,"name":"tform1.menuitem14.caption","sourcebytes":[67,97,109,101,114,97],"value":"Camera"},
|
||||
{"hash":1374,"name":"tform1.menuitem15.caption","sourcebytes":[79,110],"value":"On"},
|
||||
{"hash":21958,"name":"tform1.menuitem16.caption","sourcebytes":[79,102,102],"value":"Off"},
|
||||
{"hash":250751524,"name":"tform1.menuitem17.caption","sourcebytes":[80,97,115,115,119,111,114,100,32,82,101,115,101,116],"value":"Password Reset"},
|
||||
{"hash":262051617,"name":"tform1.menuitem40.caption","sourcebytes":[83,121,115,116,101,109,32,67,97,109,101,114,97],"value":"System Camera"},
|
||||
{"hash":207031364,"name":"tform1.menuitem41.caption","sourcebytes":[66,108,97,99,107,108,105,115,116,32,67,97,109,101,114,97,32,97,110,100,32,82,101,98,111,111,116],"value":"Blacklist Camera and Reboot"},
|
||||
{"hash":190521492,"name":"tform1.menuitem42.caption","sourcebytes":[87,104,105,116,101,108,105,115,116,32,67,97,109,101,114,97,32,97,110,100,32,82,101,98,111,111,116],"value":"Whitelist Camera and Reboot"},
|
||||
{"hash":196188387,"name":"tform1.menuitem31.caption","sourcebytes":[83,121,115,116,101,109,32,65,117,100,105,111,32,67,97,114,100,115],"value":"System Audio Cards"},
|
||||
{"hash":226721332,"name":"tform1.menuitem32.caption","sourcebytes":[66,108,97,99,107,108,105,115,116,32,65,117,100,105,111,32,97,110,100,32,82,101,98,111,111,116],"value":"Blacklist Audio and Reboot"},
|
||||
{"hash":250860404,"name":"tform1.menuitem33.caption","sourcebytes":[87,104,105,116,101,108,105,115,116,32,65,117,100,105,111,32,97,110,100,32,82,101,98,111,111,116],"value":"Whitelist Audio and Reboot"},
|
||||
{"hash":4691652,"name":"tform1.menuitem44.caption","sourcebytes":[65,98,111,117,116],"value":"About"},
|
||||
{"hash":315140,"name":"tform1.menuitem45.caption","sourcebytes":[69,120,105,116],"value":"Exit"},
|
||||
{"hash":185423705,"name":"tform1.menuitem13.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,85,115,101,114,32,77,111,100,101,41],"value":"Kill Capturing (User Mode)"},
|
||||
{"hash":200734201,"name":"tform1.menuitem37.caption","sourcebytes":[75,105,108,108,32,67,97,112,116,117,114,105,110,103,32,40,83,117,100,111,41],"value":"Kill Capturing (Sudo)"},
|
||||
{"hash":49173897,"name":"tform1.menuitem38.caption","sourcebytes":[73,110,112,117,116,32,67,97,112,116,117,114,101,32,80,97,115,115,119,111,114,100,32,40,83,117,100,111,41],"value":"Input Capture Password (Sudo)"}
|
||||
]}
|
283
main.pas
283
main.pas
|
@ -4,25 +4,50 @@ unit Main;
|
|||
{$warnings off}
|
||||
{$hints off}
|
||||
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/psposito), from scratch with Free Pascal
|
||||
// Copyright © 2020 linuxer <linuxer@artixlinux.org> <https://linuxer.gr>
|
||||
// Created at 23th of January 2020, by Linuxer (https://gitlab.com/linuxergr), from scratch with Free Pascal
|
||||
// Redesigned and further Developed at 28th of January 2020, by Initial developer
|
||||
// to provide Camera and Mic status alone with On/Off and Mute/Unmute fuctions
|
||||
// Developed further for intrusion feeling and logging at 2nd of February 2020, by Initial developer
|
||||
// Developed for Blacklisting/Whitelisting functions for both camera & audio at 7th of February 2020, by Initial developer
|
||||
// Finalized, except traslations at 15th of February 2020.
|
||||
// Further Capabilities added alone with better Logging at 22nd of February 2020
|
||||
// Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Essential Development Ended at 5th of March 2020. Minor Updates will follow, if needed
|
||||
// Thanks to Ido Kanner idokan at@at gmail dot.dot com, libnotify has been added to the project, so to solve issues of notifiers and Qt5 on Linux
|
||||
// https://forum.lazarus.freepascal.org/index.php/topic,52052.0.html
|
||||
// Wayland and x11 operation confirmed too with the libnotify addition
|
||||
// Further project development for the next major release 2.1.0, as from 3rd of Nov 2020 / ended at 6th of Nov 2020
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
||||
Menus, PopupNotifier, UTF8Process, UniqueInstance, VpClock, Unix, process,
|
||||
About, Logs, Reboot, RebootDialog, OutputForm, MessageForm, InputForm, PidsList,
|
||||
DateUtils, LCLType, LCLTranslator, BaseUnix;
|
||||
DateUtils, LCLType, LCLTranslator, BaseUnix, Math, libnotify, fpTimer;
|
||||
|
||||
{ TNotifier }
|
||||
|
||||
Type
|
||||
|
||||
TNotifier = class
|
||||
|
||||
private
|
||||
{$IFDEF LINUX}
|
||||
LNotifier : PNotifyNotification;
|
||||
{$ELSE}
|
||||
LocalTimer : TFPTimer;
|
||||
PopupNotifier: TPopupNotifier;
|
||||
procedure TimerFinished( Sender : TObject );
|
||||
{$ENDIF}
|
||||
public
|
||||
procedure ShowTheMessage(const Title, Message : string; IconIndex : String; ShowTime : integer = 6000);
|
||||
destructor Destroy; Override;
|
||||
constructor Create();
|
||||
end;
|
||||
|
||||
type
|
||||
|
||||
|
@ -142,7 +167,7 @@ type
|
|||
end;
|
||||
|
||||
var
|
||||
ReleaseNo : String = '2.0.3';
|
||||
ReleaseNo : String = '2.1.0';
|
||||
Form1 : TForm1;
|
||||
S : LongInt;
|
||||
MicSwitchStr : String;
|
||||
|
@ -200,8 +225,6 @@ var
|
|||
|
||||
implementation
|
||||
|
||||
|
||||
|
||||
procedure RebootSystem; forward;
|
||||
procedure AskPassword; forward;
|
||||
Procedure AppendLogs; forward;
|
||||
|
@ -210,6 +233,107 @@ Procedure AppendLogs; forward;
|
|||
|
||||
{ TForm1 }
|
||||
|
||||
Procedure TNotifier.ShowTheMessage(const Title, Message : string; IconIndex : String; ShowTime : integer);
|
||||
begin
|
||||
{$IFDEF LINUX}
|
||||
notify_init(argv[0]);
|
||||
LNotifier := notify_notification_new (pchar(Title), pchar(Message), pchar(IconIndex)); //'dialog-warning'));
|
||||
notify_notification_set_timeout(LNotifier, ShowTime); // figure is mS
|
||||
notify_notification_show (LNotifier, nil);
|
||||
notify_uninit;
|
||||
Destroy;
|
||||
// Should also check for errors and use TPopupNotifier if Notify won't work
|
||||
// But that will have to wait until I find a Linux where it does not work .....
|
||||
{$ELSE}
|
||||
// For the future to be further develop to set x,y position ----> POSSIBLE TODO ON NEXT RELEASES
|
||||
// Non Linux must use TPopupNotifier
|
||||
PopupNotifier := TPopupNotifier.Create(nil);
|
||||
PopupNotifier.Text := Message;
|
||||
PopupNotifier.Title := Title;
|
||||
PopupNotifier.show;
|
||||
LocalTimer := TFPTimer.create(nil);
|
||||
LocalTimer.Interval := ShowTime;
|
||||
LocalTimer.OnTimer:= @TimerFinished;
|
||||
LocalTimer.Enabled := True;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
{$IFNDEF LINUX}
|
||||
procedure TNotifier.TimerFinished( Sender : TObject );
|
||||
begin
|
||||
// writeln('Timer finished');
|
||||
LocalTimer.Enabled := false;
|
||||
PopupNotifier.hide;
|
||||
Destroy;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
destructor TNotifier.Destroy;
|
||||
begin
|
||||
{$IFNDEF LINUX}
|
||||
freeandnil(PopupNotifier);
|
||||
freeandnil(LocalTimer);
|
||||
{$ENDIF}
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
constructor TNotifier.Create();
|
||||
begin
|
||||
inherited Create();
|
||||
end;
|
||||
|
||||
procedure RunsAsRoot(CommandLine:String);
|
||||
var
|
||||
Proc: TProcess;
|
||||
CharBuffer: array [0..511] of char;
|
||||
ReadCount: integer;
|
||||
ExitCode: integer;
|
||||
SudoPassword: string;
|
||||
|
||||
begin
|
||||
WriteLn('Please enter the sudo password:');
|
||||
Readln(SudoPassword);
|
||||
ExitCode := -1; //Start out with failure, let's see later if it works
|
||||
Proc := TProcess.Create(nil); //Create a new process
|
||||
try
|
||||
Proc.Options := [poUsePipes, poStderrToOutPut]; //Use pipes to redirect program stdin,stdout,stderr
|
||||
Proc.CommandLine := CommandLine; //Run ls /root as root using sudo
|
||||
// -S causes sudo to read the password from stdin.
|
||||
Proc.Execute; //start it. sudo will now probably ask for a password
|
||||
|
||||
// write the password to stdin of the sudo program:
|
||||
SudoPassword := SudoPassword + LineEnding;
|
||||
Proc.Input.Write(SudoPassword[1], Length(SudoPassword));
|
||||
SudoPassword := '%*'; //short string, hope this will scramble memory a bit; note: using PChars is more fool-proof
|
||||
SudoPassword := ''; // and make the program a bit safer from snooping?!?
|
||||
|
||||
// main loop to read output from stdout and stderr of sudo
|
||||
while Proc.Running or (Proc.Output.NumBytesAvailable > 0) or
|
||||
(Proc.Stderr.NumBytesAvailable > 0) do
|
||||
begin
|
||||
// read stdout and write to our stdout
|
||||
while Proc.Output.NumBytesAvailable > 0 do
|
||||
begin
|
||||
ReadCount := Min(512, Proc.Output.NumBytesAvailable); //Read up to buffer, not more
|
||||
Proc.Output.Read(CharBuffer, ReadCount);
|
||||
Write(StdOut, Copy(CharBuffer, 0, ReadCount));
|
||||
end;
|
||||
// read stderr and write to our stderr
|
||||
while Proc.Stderr.NumBytesAvailable > 0 do
|
||||
begin
|
||||
ReadCount := Min(512, Proc.Stderr.NumBytesAvailable); //Read up to buffer, not more
|
||||
Proc.Stderr.Read(CharBuffer, ReadCount);
|
||||
Write(StdErr, Copy(CharBuffer, 0, ReadCount));
|
||||
end;
|
||||
end;
|
||||
ExitCode := Proc.ExitStatus;
|
||||
|
||||
finally
|
||||
Proc.Free;
|
||||
Halt(ExitCode);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure AdjustBalloonPosition;
|
||||
var
|
||||
BaloonWidth : Integer;
|
||||
|
@ -224,50 +348,111 @@ begin
|
|||
NewWidth := Width div 2 - BaloonWidth - 130;
|
||||
Height := Screen.Monitors[0].Height;
|
||||
NewHeight := Height div 2 - BaloonHeight - 50;
|
||||
writeln('Width = ' + intToStr(Width) + ' Height = ' + intToStr(Height));
|
||||
end;
|
||||
|
||||
procedure PopUpWebcamOn;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier2.Text := 'Camera is On' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier2.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier2.Text := 'Camera is On' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier2.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Camera is On','Video Device: /dev/video' + IntToStr(CountNumber)+ '/', 'camera-web', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpWebcamOff;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier1.Text := 'No Camera' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier1.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Disabled';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier1.Text := 'No Camera' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier1.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Disabled';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('No Camera / Camera is Off','Video Device: /dev/video' + IntToStr(CountNumber)+ '/', 'camera-web', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is On';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpWebcamCaptures;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier7.Text := 'Camera is Capturing' + LineEnding + 'Video Device: /dev/video'
|
||||
+ IntToStr(CountNumber)+ '/' + LineEnding + 'Application Name: ' + CaptureAppName;
|
||||
Form1.PopupNotifier7.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Capturing' + LineEnding + CaptureAppName;
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier7.Text := 'Camera is Capturing' + LineEnding + 'Video Device: /dev/video'
|
||||
+ IntToStr(CountNumber)+ '/' + LineEnding + 'Application Name: ' + CaptureAppName;
|
||||
Form1.PopupNotifier7.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Capturing' + LineEnding + CaptureAppName;
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Camera is Capturing','Video Device: /dev/video' + IntToStr(CountNumber)+ '/', 'camera-video', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Capturing';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
|
||||
procedure PopUpWebcamNotCapturing;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier6.Text := 'Camera is not Capturing' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier6.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera On' + LineEnding + 'Camera is Enabled, but is not Capturing';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier6.Text := 'Camera is not Capturing' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/';
|
||||
Form1.PopupNotifier6.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera On' + LineEnding + 'Camera is Enabled, but is not Capturing';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Camera is not Capturing','Video Device: /dev/video' + IntToStr(CountNumber)+ '/', 'camera-video', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is enabled but is not Capturing';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpWebcamHacked;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier8.Text := 'Camera is Hacked' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/' + LineEnding + 'Check Logs';
|
||||
Form1.PopupNotifier8.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Hacked' + LineEnding + 'Check Logs';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier8.Text := 'Camera is Hacked' + LineEnding + 'Video Device: /dev/video' + IntToStr(CountNumber)+ '/' + LineEnding + 'Check Logs';
|
||||
Form1.PopupNotifier8.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Hacked' + LineEnding + 'Check Logs';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Camera is Hacked','Video Device: /dev/video' + IntToStr(CountNumber)+ '/', 'dialog-warning', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Camera Status' + LineEnding + 'Camera is Hacked , Check Logs';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpMicHacked;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier9.Text := 'Microphone is Hacked' + LineEnding + 'Alsa Driver Changed Status';
|
||||
Form1.PopupNotifier9.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Microphone Status' + LineEnding + 'Microphone is Hacked' + LineEnding + 'Check Logs';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier9.Text := 'Microphone is Hacked' + LineEnding + 'Alsa Driver Changed Status';
|
||||
Form1.PopupNotifier9.ShowAtPos(NewWidth , NewHeight - 325 div 2 - 20);
|
||||
Form1.TrayIcon5.Hint := 'Microphone Status' + LineEnding + 'Microphone is Hacked' + LineEnding + 'Check Logs';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Microphone is Hacked','Alsa Driver Changed Status', 'dialog-warning', 6000);
|
||||
Form1.TrayIcon5.Hint := 'Microphone Status' + LineEnding + 'Microphone is Hacked , Check Logs';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpNoWebcam;
|
||||
|
@ -286,20 +471,40 @@ begin
|
|||
end;
|
||||
|
||||
procedure PopUpMicOn;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier3.Text := 'Microphone is Unmuted' + LineEnding + 'Alsa Driver Status: cap';
|
||||
Form1.PopupNotifier3.ShowAtPos(NewWidth, NewHeight);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Unmuted';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier3.Text := 'Microphone is Unmuted' + LineEnding + 'Alsa Driver Status: cap';
|
||||
Form1.PopupNotifier3.ShowAtPos(NewWidth, NewHeight);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Unmuted';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Microphone is Unmuted','Alsa Driver Status: cap', 'audio-input-microphone-high', 6000);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Unmuted';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure PopUpMicOff;
|
||||
var
|
||||
PopNotifier : TNotifier;
|
||||
|
||||
begin
|
||||
Form1.PopupNotifier4.Text := 'Microphone is Muted' + LineEnding + 'Alsa Driver Status: nocap';
|
||||
Form1.PopupNotifier4.ShowAtPos(NewWidth , NewHeight);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Muted';
|
||||
{$IFNDEF LINUX}
|
||||
Form1.PopupNotifier4.Text := 'Microphone is Muted' + LineEnding + 'Alsa Driver Status: nocap';
|
||||
Form1.PopupNotifier4.ShowAtPos(NewWidth , NewHeight);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Muted';
|
||||
{$ENDIF}
|
||||
{$IFDEF LINUX}
|
||||
PopNotifier := TNotifier.Create;
|
||||
PopNotifier.ShowTheMessage('Microphone is Muted','Alsa Driver Status: nocap', 'audio-input-microphone-low-zero', 6000);
|
||||
Form1.TrayIcon2.Hint := 'Microphone Status & Menu' + LineEnding + 'Microphone is Muted';
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure GetDistrName;
|
||||
procedure GetDistrName; // This will be altered after testing on different distros, so to eliminate the $distro on CameraControl.sh
|
||||
var
|
||||
AStringList : TStringList;
|
||||
AProcess : TProcess;
|
||||
|
@ -452,7 +657,7 @@ begin
|
|||
//StrLength := 0;
|
||||
|
||||
if (Length(Password2) > 0) and (HasPassword = true) then // Full test command is: lsof /dev | grep video && ls /dev/ | grep v4l
|
||||
Str2 := Concat('echo ', Password2, ' | sudo -S sh -c "lsof /dev | grep video"')
|
||||
Str2 := Concat('echo ', Password2, ' | sudo -S sh -c "lsof /dev | grep video"')
|
||||
else
|
||||
Str2 := Concat('lsof /dev/ ' , '|' , ' grep video');
|
||||
|
||||
|
@ -1286,7 +1491,7 @@ begin
|
|||
Inc(GridLine);
|
||||
end;
|
||||
|
||||
//procedure ClearLogs; //Save Current and Clear Logs, not used on build
|
||||
//procedure ClearLogs; // Save Current and Clear Logs, not used on build
|
||||
//
|
||||
//begin
|
||||
// SaveLogs;
|
||||
|
@ -1701,6 +1906,9 @@ begin
|
|||
About.Form2.ListBox1.Items.Add('StartUp Shell Script to auto provide Sudo Password and Operating');
|
||||
About.Form2.ListBox1.Items.Add('System as parameters and many other improvements, Done at 5th of');
|
||||
About.Form2.ListBox1.Items.Add('March 2020');
|
||||
About.Form2.ListBox1.Items.Add(' ');
|
||||
About.Form2.ListBox1.Items.Add('Shifted to Qt5 completely as from 6th of Noc 2020, for better Linux');
|
||||
About.Form2.ListBox1.Items.Add('notifications support, as from 2.1.0 and after release');
|
||||
About.Form2.Show;
|
||||
end;
|
||||
|
||||
|
@ -1889,6 +2097,7 @@ begin
|
|||
if (CamStatus = 2) and (CamSavedStatus = 0) then // Webcam Captures from Off
|
||||
begin
|
||||
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
|
||||
Sleep(6000);
|
||||
PopupNotifier2.Hide;
|
||||
if PopUpWebcamCaptStatus = false then
|
||||
begin
|
||||
|
@ -1910,6 +2119,7 @@ begin
|
|||
begin
|
||||
ActionTime := now;
|
||||
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
|
||||
Sleep(6000);
|
||||
PopupNotifier2.Hide;
|
||||
PopUpWebcamCaptures;
|
||||
PopUpWebcamCaptStatus := true;
|
||||
|
@ -1996,6 +2206,7 @@ begin
|
|||
begin
|
||||
ActionTime := now;
|
||||
ImageListCam1.GetIcon(1, TrayIcon5.Icon);
|
||||
//Sleep(6000);
|
||||
PopupNotifier2.Hide;
|
||||
PopUpWebcamCaptures;
|
||||
PopUpWebcamCaptStatus := false;
|
||||
|
@ -2247,4 +2458,4 @@ begin
|
|||
CheckEvents;
|
||||
end;
|
||||
|
||||
end.
|
||||
end.
|
||||
|
|
|
@ -0,0 +1,124 @@
|
|||
unit notifier;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
{ Copyright (C) 2017-2020 David Bannon
|
||||
|
||||
License:
|
||||
This code is licensed under BSD 3-Clause Clear License, see file License.txt
|
||||
or https://spdx.org/licenses/BSD-3-Clause-Clear.html
|
||||
|
||||
------------------
|
||||
|
||||
A trivial unit that uses libnotify on Linux and a timed out TPopupNotify on other platforms.
|
||||
|
||||
Does very little, on linux it just calls libnotify, https://github.com/ik5/libnotify-fpc
|
||||
On Non-Linux, it calls TPopupNotifier, sets a timer and removes the Popup after the set
|
||||
time (in mS). In both cases, it then destroys itself !
|
||||
|
||||
Yes, you call create but YOU DO NOT FREE it !
|
||||
|
||||
To use it, grab libnotify.pas, add it and this unit to your Lazarus project and do
|
||||
something like this -
|
||||
|
||||
procedure TForm1.Button2Click(Sender: TObject);
|
||||
var
|
||||
Notifier : TNotifier;
|
||||
begin
|
||||
Notifier := TNotifier.Create;
|
||||
Notifier.ShowTheMessage('This is Title', 'and this is the message', 15000); // 15 seconds
|
||||
// Note, don't free it, it frees itself.
|
||||
end;
|
||||
|
||||
On Linux, multitheading must be enabled, in the project (lpr) file, add
|
||||
{$DEFINE UseCThreads} immediatly above the first "uses" line.
|
||||
|
||||
On Linux, to compile you need the dev version of libnotify but at run time all
|
||||
that is needed is libnotify and it appears to be installed on most if not all distros.
|
||||
|
||||
On tomboy-ng, my model is that "oh, you might like to know" type notifications take the common
|
||||
6 seconds. Things the end user might really need to know, such as sync drive not being available
|
||||
I give 12 seconds. Something, really urgent (I don't have any) might get longer. Its incorrect
|
||||
to leave messages that really don't need user action there for very long.
|
||||
|
||||
}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, fpTimer{$ifdef Linux}, libnotify{$else}, PopupNotifier {$endif} ;
|
||||
|
||||
Type
|
||||
|
||||
{ TNotifier }
|
||||
|
||||
TNotifier = class
|
||||
|
||||
private
|
||||
{$ifdef LINUX}
|
||||
LNotifier : PNotifyNotification;
|
||||
{$else}
|
||||
LocalTimer : TFPTimer;
|
||||
PopupNotifier: TPopupNotifier;
|
||||
procedure TimerFinished( Sender : TObject );
|
||||
{$endif}
|
||||
public
|
||||
procedure ShowTheMessage(const Title, Message : string; ShowTime : integer = 6000);
|
||||
destructor Destroy; Override;
|
||||
constructor Create();
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
|
||||
procedure TNotifier.ShowTheMessage(const Title, Message : string; ShowTime : integer);
|
||||
begin
|
||||
{$ifdef LINUX}
|
||||
notify_init(argv[0]);
|
||||
LNotifier := notify_notification_new (pchar(Title), pchar(Message), pchar('dialog-information'));
|
||||
notify_notification_set_timeout(LNotifier, ShowTime); // figure is mS
|
||||
notify_notification_show (LNotifier, nil);
|
||||
notify_uninit;
|
||||
Destroy;
|
||||
// Should also check for errors and use TPopupNotifier if Notify won't work
|
||||
// But that will have to wait until I find a Linux where it does not work .....
|
||||
{$else}
|
||||
// Non Linux must use TPopupNotifier
|
||||
PopupNotifier := TPopupNotifier.Create(nil);
|
||||
PopupNotifier.Text := Message;
|
||||
PopupNotifier.Title := Title;
|
||||
PopupNotifier.show;
|
||||
LocalTimer := TFPTimer.create(nil);
|
||||
LocalTimer.Interval := ShowTime;
|
||||
LocalTimer.OnTimer:= @TimerFinished;
|
||||
LocalTimer.Enabled := True;
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
{$ifndef LINUX}
|
||||
procedure TNotifier.TimerFinished( Sender : TObject );
|
||||
begin
|
||||
// writeln('Timer finished');
|
||||
LocalTimer.Enabled := false;
|
||||
PopupNotifier.hide;
|
||||
Destroy;
|
||||
end;
|
||||
{$endif}
|
||||
|
||||
destructor TNotifier.Destroy;
|
||||
begin
|
||||
{$ifndef LINUX}
|
||||
freeandnil(PopupNotifier);
|
||||
freeandnil(LocalTimer);
|
||||
{$endif}
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
constructor TNotifier.Create();
|
||||
begin
|
||||
inherited Create();
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue