|  |  |  | @ -106,6 +106,35 @@ static void pretty_print_input(json_object *i) { | 
			
		
	
		
			
				
					|  |  |  |  | 		json_object_get_int(vendor)); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static void pretty_print_seat(json_object *i) { | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object *name, *capabilities, *devices; | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object_object_get_ex(i, "name", &name); | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object_object_get_ex(i, "capabilities", &capabilities); | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object_object_get_ex(i, "devices", &devices); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	const char *fmt = | 
			
		
	
		
			
				
					|  |  |  |  | 		"Seat: %s\n" | 
			
		
	
		
			
				
					|  |  |  |  | 		"  Capabilities: %d\n"; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	printf(fmt, json_object_get_string(name), | 
			
		
	
		
			
				
					|  |  |  |  | 		json_object_get_int(capabilities)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	size_t devices_len = json_object_array_length(devices); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (devices_len > 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 		printf("  Devices:\n"); | 
			
		
	
		
			
				
					|  |  |  |  | 		for (size_t i = 0; i < devices_len; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  | 			json_object *device = json_object_array_get_idx(devices, i); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			json_object *device_name; | 
			
		
	
		
			
				
					|  |  |  |  | 			json_object_object_get_ex(device, "name", &device_name); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 			printf("    %s\n", json_object_get_string(device_name)); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	printf("\n"); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static void pretty_print_output(json_object *o) { | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object *name, *rect, *focused, *active, *ws; | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object_object_get_ex(o, "name", &name); | 
			
		
	
	
		
			
				
					|  |  |  | @ -211,7 +240,8 @@ static void pretty_print_clipboard(json_object *v) { | 
			
		
	
		
			
				
					|  |  |  |  | static void pretty_print(int type, json_object *resp) { | 
			
		
	
		
			
				
					|  |  |  |  | 	if (type != IPC_COMMAND && type != IPC_GET_WORKSPACES && | 
			
		
	
		
			
				
					|  |  |  |  | 			type != IPC_GET_INPUTS && type != IPC_GET_OUTPUTS && | 
			
		
	
		
			
				
					|  |  |  |  | 			type != IPC_GET_VERSION && type != IPC_GET_CLIPBOARD) { | 
			
		
	
		
			
				
					|  |  |  |  | 			type != IPC_GET_VERSION && type != IPC_GET_CLIPBOARD && | 
			
		
	
		
			
				
					|  |  |  |  | 			type != IPC_GET_SEATS) { | 
			
		
	
		
			
				
					|  |  |  |  | 		printf("%s\n", json_object_to_json_string_ext(resp, | 
			
		
	
		
			
				
					|  |  |  |  | 			JSON_C_TO_STRING_PRETTY | JSON_C_TO_STRING_SPACED)); | 
			
		
	
		
			
				
					|  |  |  |  | 		return; | 
			
		
	
	
		
			
				
					|  |  |  | @ -244,6 +274,9 @@ static void pretty_print(int type, json_object *resp) { | 
			
		
	
		
			
				
					|  |  |  |  | 		case IPC_GET_OUTPUTS: | 
			
		
	
		
			
				
					|  |  |  |  | 			pretty_print_output(obj); | 
			
		
	
		
			
				
					|  |  |  |  | 			break; | 
			
		
	
		
			
				
					|  |  |  |  | 		case IPC_GET_SEATS: | 
			
		
	
		
			
				
					|  |  |  |  | 			pretty_print_seat(obj); | 
			
		
	
		
			
				
					|  |  |  |  | 			break; | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
	
		
			
				
					|  |  |  | @ -324,6 +357,8 @@ int main(int argc, char **argv) { | 
			
		
	
		
			
				
					|  |  |  |  | 		type = IPC_COMMAND; | 
			
		
	
		
			
				
					|  |  |  |  | 	} else if (strcasecmp(cmdtype, "get_workspaces") == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 		type = IPC_GET_WORKSPACES; | 
			
		
	
		
			
				
					|  |  |  |  | 	} else if (strcasecmp(cmdtype, "get_seats") == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 		type = IPC_GET_SEATS; | 
			
		
	
		
			
				
					|  |  |  |  | 	} else if (strcasecmp(cmdtype, "get_inputs") == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 		type = IPC_GET_INPUTS; | 
			
		
	
		
			
				
					|  |  |  |  | 	} else if (strcasecmp(cmdtype, "get_outputs") == 0) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |