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

+4 -2
View File
@@ -8,11 +8,13 @@ char *get_user_config_path(char *buffer, size_t buflen);
// Write ~/.vbx.json in new format
int write_user_config(const char *path, const char *keyboard_sound,
const char *mouse_sound, int keyboard_volume,
int mouse_volume, int keyboard_enabled, int mouse_enabled);
int mouse_volume, int keyboard_enabled, int mouse_enabled,
int system_volume_following);
// Read ~/.vbx.json supporting new and legacy formats
int read_user_config(const char *path, char **out_keyboard_sound,
char **out_mouse_sound, int *out_keyboard_volume,
int *out_mouse_volume, int *out_keyboard_enabled, int *out_mouse_enabled);
int *out_mouse_volume, int *out_keyboard_enabled, int *out_mouse_enabled,
int *out_system_volume_following);
#endif // VBX_CONFIG_IO_H