mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	foreign-toplevel: simplify and fully separate ext-foreign/wlr-foreign
Currently, the dependencies between foreign-toplevel[-internal],
ext-foreign, and wlr-foreign are cyclical and a bit complex.
I suggest we reorganize it into a simpler hierarchy:
  foreign-toplevel/
    -> foreign.c/h
      -> (depends on) ext-foreign.c/h
      -> (depends on) wlr-foreign.c/h
The refactored code is smaller and (IMO) easier to follow.
In detail:
- Add include/foreign-toplevel folder mirroring src/foreign-toplevel
- Split foreign-toplevel-internal.h to ext-foreign.h and wlr-foreign.h
- Eliminate ext-/wlr-foreign.c -> foreign.c reverse dependencies
  (including internal signals and foreign_request* functions)
- Make struct foreign_toplevel private to foreign.c
Lightly tested with qmpanel (which uses wlr-foreign-toplevel).
v2: reorder foreign-toplevel internal API funcs
			
			
This commit is contained in:
		
							parent
							
								
									55b495f398
								
							
						
					
					
						commit
						02df0a15d7
					
				
					 11 changed files with 202 additions and 271 deletions
				
			
		| 
						 | 
				
			
			@ -1,13 +0,0 @@
 | 
			
		|||
/* SPDX-License-Identifier: GPL-2.0-only */
 | 
			
		||||
#ifndef LABWC_FOREIGN_TOPLEVEL_H
 | 
			
		||||
#define LABWC_FOREIGN_TOPLEVEL_H
 | 
			
		||||
 | 
			
		||||
struct view;
 | 
			
		||||
struct foreign_toplevel;
 | 
			
		||||
 | 
			
		||||
struct foreign_toplevel *foreign_toplevel_create(struct view *view);
 | 
			
		||||
void foreign_toplevel_set_parent(struct foreign_toplevel *toplevel,
 | 
			
		||||
	struct foreign_toplevel *parent);
 | 
			
		||||
void foreign_toplevel_destroy(struct foreign_toplevel *toplevel);
 | 
			
		||||
 | 
			
		||||
#endif /* LABWC_FOREIGN_TOPLEVEL_H */
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue