server/client: add support for sending SIGUSR to footclient

This patch adds the IPC infrastructure necessary to propagate
SIGUSR1/SIGUSR2 from a footclient process to the server process.

By targeting a particular footclient instance, only that particular
instance changes theme. This is different from when targeting the
server process, where all instances change theme.

Closes #2156
This commit is contained in:
Daniel Eklöf 2025-07-31 17:37:19 +02:00
parent 70d99a8051
commit b13a8f12d2
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
6 changed files with 151 additions and 12 deletions

View file

@ -29,3 +29,17 @@ struct client_data {
} __attribute__((packed));
_Static_assert(sizeof(struct client_data) == 10, "protocol struct size error");
enum client_ipc_code {
FOOT_IPC_SIGUSR,
};
struct client_ipc_hdr {
enum client_ipc_code ipc_code;
uint8_t size;
} __attribute__((packed));
struct client_ipc_sigusr {
int signo;
} __attribute__((packed));