|  |  |  | @ -4,6 +4,7 @@ | 
			
		
	
		
			
				
					|  |  |  |  | #include <libevdev/libevdev.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <stdio.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <wlr/backend/libinput.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <wlr/types/wlr_content_type_v1.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <wlr/types/wlr_output.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <xkbcommon/xkbcommon.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include "config.h" | 
			
		
	
	
		
			
				
					|  |  |  | @ -201,6 +202,20 @@ static const char *ipc_json_user_idle_inhibitor_description(enum sway_idle_inhib | 
			
		
	
		
			
				
					|  |  |  |  | 	return NULL; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static const char *ipc_json_content_type_description(enum wp_content_type_v1_type type) { | 
			
		
	
		
			
				
					|  |  |  |  | 	switch (type) { | 
			
		
	
		
			
				
					|  |  |  |  | 	case WP_CONTENT_TYPE_V1_TYPE_NONE: | 
			
		
	
		
			
				
					|  |  |  |  | 		return "none"; | 
			
		
	
		
			
				
					|  |  |  |  | 	case WP_CONTENT_TYPE_V1_TYPE_PHOTO: | 
			
		
	
		
			
				
					|  |  |  |  | 		return "photo"; | 
			
		
	
		
			
				
					|  |  |  |  | 	case WP_CONTENT_TYPE_V1_TYPE_VIDEO: | 
			
		
	
		
			
				
					|  |  |  |  | 		return "video"; | 
			
		
	
		
			
				
					|  |  |  |  | 	case WP_CONTENT_TYPE_V1_TYPE_GAME: | 
			
		
	
		
			
				
					|  |  |  |  | 		return "game"; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	return NULL; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | json_object *ipc_json_get_version(void) { | 
			
		
	
		
			
				
					|  |  |  |  | 	int major = 0, minor = 0, patch = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object *version = json_object_new_object(); | 
			
		
	
	
		
			
				
					|  |  |  | @ -602,6 +617,16 @@ static void ipc_json_describe_view(struct sway_container *c, json_object *object | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	json_object_object_add(object, "idle_inhibitors", idle_inhibitors); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	enum wp_content_type_v1_type content_type = WP_CONTENT_TYPE_V1_TYPE_NONE; | 
			
		
	
		
			
				
					|  |  |  |  | 	if (c->view->surface != NULL) { | 
			
		
	
		
			
				
					|  |  |  |  | 		content_type = wlr_surface_get_content_type_v1(server.content_type_manager_v1, | 
			
		
	
		
			
				
					|  |  |  |  | 			c->view->surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	if (content_type != WP_CONTENT_TYPE_V1_TYPE_NONE) { | 
			
		
	
		
			
				
					|  |  |  |  | 		json_object_object_add(object, "content_type", | 
			
		
	
		
			
				
					|  |  |  |  | 			json_object_new_string(ipc_json_content_type_description(content_type))); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #if HAVE_XWAYLAND | 
			
		
	
		
			
				
					|  |  |  |  | 	if (c->view->type == SWAY_VIEW_XWAYLAND) { | 
			
		
	
		
			
				
					|  |  |  |  | 		json_object_object_add(object, "window", | 
			
		
	
	
		
			
				
					|  |  |  | 
 |