Implement configurable system volume following and replace JSON IPC with binary struct. - New Feature: Introduce `system_volume_following` CLI and runtime option. - Enhancement: Extend CLI options, reload, and user‑config APIs to propagate the new flag. - Enhancement: Add `VbxEvent` binary IPC struct and logging macros for better performance. - Enhancement: Add helper to persist system volume following state. - Bug Fix: Remove stale `parse_keyboard_event` prototype.
27 lines
658 B
C
27 lines
658 B
C
#ifndef VBX_CLI_H
|
|
#define VBX_CLI_H
|
|
|
|
typedef struct {
|
|
char *sound;
|
|
char *mouse_sound;
|
|
int volume;
|
|
int keyboard_volume;
|
|
int mouse_volume;
|
|
int daemon_flag;
|
|
int stop_flag;
|
|
int list_flag;
|
|
int verbose;
|
|
int keyboard_mute; // -1 unchanged, 0 unmute, 1 mute
|
|
int mouse_mute; // -1 unchanged, 0 unmute, 1 mute
|
|
int keyboard_enabled; // -1 unchanged, 0 disabled, 1 enabled
|
|
int mouse_enabled; // -1 unchanged, 0 disabled, 1 enabled
|
|
int system_volume_following; // -1 unchanged, 0 disabled, 1 enabled
|
|
} CliOptions;
|
|
|
|
void print_usage(const char *program_name);
|
|
int parse_cli(int argc, char **argv, CliOptions *out);
|
|
|
|
#endif // VBX_CLI_H
|
|
|
|
|