mirror of
https://github.com/swaywm/sway.git
synced 2025-04-05 20:07:46 +03:00
swaybar: implement tray config
This commit is contained in:
parent
74655f835a
commit
6b03c68775
18 changed files with 271 additions and 55 deletions
swaybar
|
@ -6,6 +6,7 @@
|
|||
#include <wlr/util/log.h>
|
||||
#include "swaybar/config.h"
|
||||
#include "swaybar/ipc.h"
|
||||
#include "config.h"
|
||||
#include "ipc-client.h"
|
||||
#include "list.h"
|
||||
|
||||
|
@ -282,6 +283,39 @@ static bool ipc_parse_config(
|
|||
ipc_parse_colors(config, colors);
|
||||
}
|
||||
|
||||
#if HAVE_TRAY
|
||||
json_object *tray_outputs, *tray_padding, *tray_bindings, *icon_theme;
|
||||
|
||||
if ((json_object_object_get_ex(bar_config, "tray_outputs", &tray_outputs))) {
|
||||
config->tray_outputs = create_list();
|
||||
int length = json_object_array_length(tray_outputs);
|
||||
for (int i = 0; i < length; ++i) {
|
||||
json_object *o = json_object_array_get_idx(tray_outputs, i);
|
||||
list_add(config->tray_outputs, strdup(json_object_get_string(o)));
|
||||
}
|
||||
}
|
||||
|
||||
if ((json_object_object_get_ex(bar_config, "tray_padding", &tray_padding))) {
|
||||
config->tray_padding = json_object_get_int(tray_padding);
|
||||
}
|
||||
|
||||
if ((json_object_object_get_ex(bar_config, "tray_bindings", &tray_bindings))) {
|
||||
int length = json_object_array_length(tray_bindings);
|
||||
for (int i = 0; i < length; ++i) {
|
||||
json_object *bind = json_object_array_get_idx(tray_bindings, i);
|
||||
json_object *button, *command;
|
||||
json_object_object_get_ex(bind, "input_code", &button);
|
||||
json_object_object_get_ex(bind, "command", &command);
|
||||
config->tray_bindings[json_object_get_int(button)] =
|
||||
strdup(json_object_get_string(command));
|
||||
}
|
||||
}
|
||||
|
||||
if ((json_object_object_get_ex(bar_config, "icon_theme", &icon_theme))) {
|
||||
config->icon_theme = strdup(json_object_get_string(icon_theme));
|
||||
}
|
||||
#endif
|
||||
|
||||
json_object_put(bar_config);
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue