feat(include): add system volume following support

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.
This commit is contained in:
sankalp committed 2026-02-22 02:08:46 +05:45
1 parent c44ae01226
commit f70e13dd70
9 files changed
+57 -6

No files matched your search

+1
View File
@@ -15,6 +15,7 @@ typedef struct {
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);
+2 -1
View File
@@ -17,7 +17,8 @@ void stop_children(void);
int start_children(const char *sound_dir, const char *config_path, int volume,
int verbose, int mute, const char *mouse_sound_dir,
const char *mouse_config_path, int mouse_volume,
int keyboard_mute, int mouse_mute, int keyboard_enabled, int mouse_enabled);
int keyboard_mute, int mouse_mute, int keyboard_enabled,
int mouse_enabled, int system_volume_following);
void handle_sighup(int sig);
#endif // VBX_PROCESS_H
+3 -2
View File
@@ -7,8 +7,9 @@ int handle_reload(const char *user_cfg_path,
char *current_config_path, char *current_sound_dir,
char *current_mouse_config_path, char *current_mouse_sound_dir,
int current_mute, int current_verbose,
int current_mouse_volume_arg, int current_keyboard_mute,
int current_mouse_mute, int *current_keyboard_enabled, int *current_mouse_enabled);
int current_keyboard_mute, int current_mouse_mute,
int *current_keyboard_enabled, int *current_mouse_enabled,
int *current_system_volume_following);
#endif // VBX_RELOAD_H