Integrate library into example scripts.

- example scripts are now standalone.
- consistency enforced via test
This commit is contained in:
project-repo 2024-01-01 22:48:35 +01:00
commit c34057db8f
5 changed files with 48 additions and 7 deletions

15
example_scripts/screenshot_script Normal file → Executable file
View file

@ -10,7 +10,20 @@
# Example:
# screenshot_script "gwenview"
source "$(dirname "${BASH_SOURCE[0]}")/cb_script_header.sh"
named_pipe_send="$(mktemp -u)"
named_pipe_recv="$(mktemp -u)"
mkfifo "${named_pipe_send}"
mkfifo "${named_pipe_recv}"
nc -U "${CAGEBREAK_SOCKET}" < "${named_pipe_send}" > "${named_pipe_recv}"&
# The file descriptor 3 is set up to send commands to cagebreak and file
# descriptor 4 can be used to read events. Notice that events will pile up in
# file descriptor 4, so it is a good idea to continuously read from it or to
# clear it before starting a new transaction.
exec 3>"${named_pipe_send}"
exec 4<"${named_pipe_recv}"
# When the script exits, the os will clean up the pipe
rm "${named_pipe_recv}"
rm "${named_pipe_send}"
if [[ ${#} -lt 1 ]]
then