mirror of
https://github.com/swaywm/sway.git
synced 2024-11-30 03:41:27 +00:00
ipc: fix focused in get_outputs reply
It's set even if a child of the output is focused.
This commit is contained in:
parent
67d24e8fc5
commit
2f1050796c
|
@ -619,8 +619,19 @@ void ipc_client_handle_command(struct ipc_client *client) {
|
||||||
json_object *outputs = json_object_new_array();
|
json_object *outputs = json_object_new_array();
|
||||||
for (int i = 0; i < root->outputs->length; ++i) {
|
for (int i = 0; i < root->outputs->length; ++i) {
|
||||||
struct sway_output *output = root->outputs->items[i];
|
struct sway_output *output = root->outputs->items[i];
|
||||||
json_object_array_add(outputs,
|
json_object *output_json = ipc_json_describe_node(&output->node);
|
||||||
ipc_json_describe_node(&output->node));
|
|
||||||
|
// override the default focused indicator because it's set
|
||||||
|
// differently for the get_outputs reply
|
||||||
|
struct sway_seat *seat = input_manager_get_default_seat();
|
||||||
|
struct sway_workspace *focused_ws =
|
||||||
|
seat_get_focused_workspace(seat);
|
||||||
|
bool focused = focused_ws && output == focused_ws->output;
|
||||||
|
json_object_object_del(output_json, "focused");
|
||||||
|
json_object_object_add(output_json, "focused",
|
||||||
|
json_object_new_boolean(focused));
|
||||||
|
|
||||||
|
json_object_array_add(outputs, output_json);
|
||||||
}
|
}
|
||||||
struct sway_output *output;
|
struct sway_output *output;
|
||||||
wl_list_for_each(output, &root->all_outputs, link) {
|
wl_list_for_each(output, &root->all_outputs, link) {
|
||||||
|
|
Loading…
Reference in a new issue