mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-10-30 19:44:17 +00:00 
			
		
		
		
	use type enum to distinguish Client from LayerSurface
This commit is contained in:
		
							parent
							
								
									40e45a336a
								
							
						
					
					
						commit
						929d3d9569
					
				
							
								
								
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dwl.c
									
									
									
									
									
								
							| @ -65,10 +65,10 @@ | |||||||
| 
 | 
 | ||||||
| /* enums */ | /* enums */ | ||||||
| enum { CurNormal, CurMove, CurResize }; /* cursor */ | enum { CurNormal, CurMove, CurResize }; /* cursor */ | ||||||
|  | enum { XDGShell, LayerShell, X11Managed, X11Unmanaged }; /* client types */ | ||||||
| #ifdef XWAYLAND | #ifdef XWAYLAND | ||||||
| enum { NetWMWindowTypeDialog, NetWMWindowTypeSplash, NetWMWindowTypeToolbar, | enum { NetWMWindowTypeDialog, NetWMWindowTypeSplash, NetWMWindowTypeToolbar, | ||||||
| 	NetWMWindowTypeUtility, NetLast }; /* EWMH atoms */ | 	NetWMWindowTypeUtility, NetLast }; /* EWMH atoms */ | ||||||
| enum { XDGShell, X11Managed, X11Unmanaged }; /* client types */ |  | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| typedef union { | typedef union { | ||||||
| @ -87,6 +87,8 @@ typedef struct { | |||||||
| 
 | 
 | ||||||
| typedef struct Monitor Monitor; | typedef struct Monitor Monitor; | ||||||
| typedef struct { | typedef struct { | ||||||
|  | 	/* Must be first */ | ||||||
|  | 	unsigned int type; /* XDGShell or X11* */ | ||||||
| 	struct wl_list link; | 	struct wl_list link; | ||||||
| 	struct wl_list flink; | 	struct wl_list flink; | ||||||
| 	struct wl_list slink; | 	struct wl_list slink; | ||||||
| @ -103,7 +105,6 @@ typedef struct { | |||||||
| 	struct wlr_box geom;  /* layout-relative, includes border */ | 	struct wlr_box geom;  /* layout-relative, includes border */ | ||||||
| 	Monitor *mon; | 	Monitor *mon; | ||||||
| #ifdef XWAYLAND | #ifdef XWAYLAND | ||||||
| 	unsigned int type; |  | ||||||
| 	struct wl_listener activate; | 	struct wl_listener activate; | ||||||
| 	struct wl_listener configure; | 	struct wl_listener configure; | ||||||
| #endif | #endif | ||||||
| @ -140,6 +141,8 @@ typedef struct { | |||||||
| } Keyboard; | } Keyboard; | ||||||
| 
 | 
 | ||||||
| typedef struct { | typedef struct { | ||||||
|  | 	/* Must be first */ | ||||||
|  | 	unsigned int type; /* LayerShell */ | ||||||
| 	struct wlr_layer_surface_v1 *layer_surface; | 	struct wlr_layer_surface_v1 *layer_surface; | ||||||
| 	struct wl_list link; | 	struct wl_list link; | ||||||
| 
 | 
 | ||||||
| @ -917,6 +920,7 @@ createlayersurface(struct wl_listener *listener, void *data) | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	layersurface = calloc(1, sizeof(LayerSurface)); | 	layersurface = calloc(1, sizeof(LayerSurface)); | ||||||
|  | 	layersurface->type = LayerShell; | ||||||
| 	LISTEN(&wlr_layer_surface->surface->events.commit, | 	LISTEN(&wlr_layer_surface->surface->events.commit, | ||||||
| 		&layersurface->surface_commit, commitlayersurfacenotify); | 		&layersurface->surface_commit, commitlayersurfacenotify); | ||||||
| 	LISTEN(&wlr_layer_surface->events.destroy, &layersurface->destroy, | 	LISTEN(&wlr_layer_surface->events.destroy, &layersurface->destroy, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Devin J. Pohly
						Devin J. Pohly