wlr-apps.diff (1129B)


      1 diff --git a/src/wlr-apps.c b/src/wlr-apps.c
      2 index 779d45d..eeef9cb 100644
      3 --- a/src/wlr-apps.c
      4 +++ b/src/wlr-apps.c
      5 @@ -286,10 +286,20 @@ void print_toplevel_json_array(void) {
      6    }
      7  
      8    printf("[");
      9 +  
     10 +  bool printed_any = false;
     11  
     12    for (size_t i = 0; i < global_info_list.count; ++i) {
     13      struct toplevel_info *info = &global_info_list.items[i];
     14  
     15 +    if (!info->minimized) {
     16 +        continue;
     17 +    }
     18 +
     19 +    if (printed_any) {
     20 +        printf(",");
     21 +    }
     22 +
     23      printf("{\"id\":%u,", info->tl_id);
     24  
     25      printf("\"title\":");
     26 @@ -307,10 +317,11 @@ void print_toplevel_json_array(void) {
     27      }
     28  
     29      printf(
     30 -        "\"maximized\":%s,\"minimized\":%s,\"active\":%s,\"fullscreen\":%s}%s",
     31 +        "\"maximized\":%s,\"minimized\":%s,\"active\":%s,\"fullscreen\":%s}",
     32          info->maximized ? "true" : "false", info->minimized ? "true" : "false",
     33 -        info->active ? "true" : "false", info->fullscreen ? "true" : "false",
     34 -        (i < global_info_list.count - 1) ? "," : "");
     35 +        info->active ? "true" : "false", info->fullscreen ? "true" : "false");
     36 +
     37 +    printed_any = true;
     38    }
     39  
     40    printf("]\n");