mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-10-31 03:54:15 +00:00 
			
		
		
		
	Merge branch 'main' into wlroots-next
This commit is contained in:
		
						commit
						432c15fb09
					
				| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
| Join us on our [Discord server](https://discord.gg/jJxZnrGPWN)! | ||||
| 
 | ||||
| dwl is a compact, hackable compositor for Wayland based on [wlroots](https://github.com/swaywm/wlroots). It is intended to fill the same space in the Wayland world that dwm does in X11, primarily in terms of philosophy, and secondarily in terms of functionality. Like dwm, dwl is: | ||||
| dwl is a compact, hackable compositor for Wayland based on [wlroots](https://gitlab.freedesktop.org/wlroots/wlroots/). It is intended to fill the same space in the Wayland world that dwm does in X11, primarily in terms of philosophy, and secondarily in terms of functionality. Like dwm, dwl is: | ||||
| 
 | ||||
| - Easy to understand, hack on, and extend with patches | ||||
| - One C source file (or a very small number) configurable via `config.h` | ||||
|  | ||||
							
								
								
									
										3
									
								
								client.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								client.h
									
									
									
									
									
								
							| @ -156,8 +156,7 @@ client_set_tiled(Client *c, uint32_t edges) | ||||
| 	if (client_is_x11(c)) | ||||
| 		return; | ||||
| #endif | ||||
| 	wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, WLR_EDGE_TOP | | ||||
| 			WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT); | ||||
| 	wlr_xdg_toplevel_set_tiled(c->surface.xdg->toplevel, edges); | ||||
| } | ||||
| 
 | ||||
| static inline struct wlr_surface * | ||||
|  | ||||
| @ -96,7 +96,7 @@ static const Key keys[] = { | ||||
| 	TAGKEYS(          XKB_KEY_3, XKB_KEY_numbersign,                 2), | ||||
| 	TAGKEYS(          XKB_KEY_4, XKB_KEY_dollar,                     3), | ||||
| 	TAGKEYS(          XKB_KEY_5, XKB_KEY_percent,                    4), | ||||
| 	TAGKEYS(          XKB_KEY_6, XKB_KEY_caret,                      5), | ||||
| 	TAGKEYS(          XKB_KEY_6, XKB_KEY_asciicircum,                5), | ||||
| 	TAGKEYS(          XKB_KEY_7, XKB_KEY_ampersand,                  6), | ||||
| 	TAGKEYS(          XKB_KEY_8, XKB_KEY_asterisk,                   7), | ||||
| 	TAGKEYS(          XKB_KEY_9, XKB_KEY_parenleft,                  8), | ||||
|  | ||||
							
								
								
									
										13
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								dwl.c
									
									
									
									
									
								
							| @ -120,11 +120,6 @@ typedef struct { | ||||
| 	int isfullscreen; | ||||
| } Client; | ||||
| 
 | ||||
| typedef struct { | ||||
| 	struct wl_listener request_mode; | ||||
| 	struct wl_listener destroy; | ||||
| } Decoration; | ||||
| 
 | ||||
| typedef struct { | ||||
| 	uint32_t mod; | ||||
| 	xkb_keysym_t keysym; | ||||
| @ -1321,6 +1316,7 @@ mapnotify(struct wl_listener *listener, void *data) | ||||
| 
 | ||||
| 	/* Set initial monitor, tags, floating status, and focus */ | ||||
| 	applyrules(c); | ||||
| 	printstatus(); | ||||
| } | ||||
| 
 | ||||
| void | ||||
| @ -1828,11 +1824,13 @@ run(char *startup_cmd) | ||||
| 			EBARF("startup: fork"); | ||||
| 		if (startup_pid == 0) { | ||||
| 			dup2(piperw[0], STDIN_FILENO); | ||||
| 			close(piperw[0]); | ||||
| 			close(piperw[1]); | ||||
| 			execl("/bin/sh", "/bin/sh", "-c", startup_cmd, NULL); | ||||
| 			EBARF("startup: execl"); | ||||
| 		} | ||||
| 		dup2(piperw[1], STDOUT_FILENO); | ||||
| 		close(piperw[1]); | ||||
| 		close(piperw[0]); | ||||
| 	} | ||||
| 	/* If nobody is reading the status output, don't terminate */ | ||||
| @ -2285,6 +2283,10 @@ unmapnotify(struct wl_listener *listener, void *data) | ||||
| { | ||||
| 	/* Called when the surface is unmapped, and should no longer be shown. */ | ||||
| 	Client *c = wl_container_of(listener, c, unmap); | ||||
| 	if (c == grabc) { | ||||
| 		cursor_mode = CurNormal; | ||||
| 		grabc = NULL; | ||||
| 	} | ||||
| 	wl_list_remove(&c->link); | ||||
| 	if (client_is_unmanaged(c)) | ||||
| 		return; | ||||
| @ -2292,6 +2294,7 @@ unmapnotify(struct wl_listener *listener, void *data) | ||||
| 	setmon(c, NULL, 0); | ||||
| 	wl_list_remove(&c->flink); | ||||
| 	wl_list_remove(&c->slink); | ||||
| 	printstatus(); | ||||
| } | ||||
| 
 | ||||
| void | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Leonardo Hernández Hernández
						Leonardo Hernández Hernández