mirror of
https://cagebreak.project-repo.co/cagebreak.git
synced 2026-08-23 14:04:19 +02:00
Release 2.3.0
Functionality: * Add configuration to anchor position of messages (#60, 71 in Bugs.md). * Add output priorisation (#38, 68 in Bugs.md). * Print whether output is active in dump. Bug Fixes: * Fix gamma control (72 in Bugs.md). * Add missing commands to example config. * Add message_config to dump output. Example Scripts: * Add screenshot script. * Make example scripts standalone. Documentation: * Escape html tags in config man page. (#68, 69 in Bugs.md) * Improve README.md (#62, 70 in Bugs.md). * Improve SECURITY.md. * Add CONTRIBUTING.md (#62, 70 in Bugs.md). * FAQ: Add Firefox screenshare instructions for wayland. * FAQ: Add wlroots downgrading instructions for workaround in case of temporary wlroots incompatibility. * Update copyright notices to 2024. Development Tooling: * Add new gpg keys (signed by the old ones). * Add PR template. * Add dev-FAQ. * Remove now-unnecessary fanalyzer pragmas.
This commit is contained in:
parent
5dbefccb59
commit
d19c32d7a4
120 changed files with 2311 additions and 1349 deletions
38
example_scripts/show_workspace_views
Executable file
38
example_scripts/show_workspace_views
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2020 - 2024, project-repo and the cagebreak contributors
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
# This script displays the process names of the views on the current workspace.
|
||||
|
||||
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}"
|
||||
|
||||
echo "dump" >&3
|
||||
|
||||
while IFS= read -r -d $'\0' event
|
||||
do
|
||||
# Remove the cg-ipc header
|
||||
event="${event:6}"
|
||||
if [[ "$(echo "${event}" | jq ".event_name")" = "\"dump\"" ]]
|
||||
then
|
||||
curr_output="$(echo "${event}"|jq ".curr_output")"
|
||||
curr_workspace="$(echo "${event}"|jq -r ".outputs.${curr_output}.curr_workspace")"
|
||||
# Print the process names of the view on the current workspace. jq retrieves
|
||||
# their PID and ps is then used to retrieve the process names.
|
||||
# shellcheck disable=2046
|
||||
(echo -n "message ";ps -o comm=Command -p $(echo "${event}"|jq -r ".outputs.${curr_output}.workspaces[$((curr_workspace-1))].views[].pid")|tail +2|sed ':a; N; $!ba; s/\n/||/g') >&3
|
||||
break
|
||||
fi
|
||||
done <&4
|
||||
Loading…
Add table
Add a link
Reference in a new issue