mirror of
				https://codeberg.org/dwl/dwl.git
				synced 2025-11-03 09:01:45 -05:00 
			
		
		
		
	Merge branch 'main' into pipe-status
This commit is contained in:
		
						commit
						3f86336bad
					
				
					 2 changed files with 22 additions and 10 deletions
				
			
		
							
								
								
									
										19
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
					@ -11,6 +11,14 @@ LDLIBS += $(foreach p,$(PKGS),$(shell pkg-config --libs $(p)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
all: dwl
 | 
					all: dwl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						rm -f dwl *.o *-protocol.h *-protocol.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install: dwl
 | 
				
			||||||
 | 
						install -D dwl $(PREFIX)/bin/dwl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: all clean install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# wayland-scanner is a tool which generates C headers and rigging for Wayland
 | 
					# wayland-scanner is a tool which generates C headers and rigging for Wayland
 | 
				
			||||||
# protocols, which are specified in XML. wlroots requires you to rig these up
 | 
					# protocols, which are specified in XML. wlroots requires you to rig these up
 | 
				
			||||||
# to your build system yourself and provide them in the include path.
 | 
					# to your build system yourself and provide them in the include path.
 | 
				
			||||||
| 
						 | 
					@ -47,15 +55,6 @@ idle-protocol.o: idle-protocol.h
 | 
				
			||||||
config.h: | config.def.h
 | 
					config.h: | config.def.h
 | 
				
			||||||
	cp config.def.h $@
 | 
						cp config.def.h $@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dwl.o: config.h client.h xdg-shell-protocol.h wlr-layer-shell-unstable-v1-protocol.h idle-protocol.h
 | 
					dwl.o: config.mk config.h client.h xdg-shell-protocol.h wlr-layer-shell-unstable-v1-protocol.h idle-protocol.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dwl: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o idle-protocol.o
 | 
					dwl: xdg-shell-protocol.o wlr-layer-shell-unstable-v1-protocol.o idle-protocol.o
 | 
				
			||||||
 | 
					 | 
				
			||||||
clean:
 | 
					 | 
				
			||||||
	rm -f dwl *.o *-protocol.h *-protocol.c
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install: dwl
 | 
					 | 
				
			||||||
	install -D dwl $(PREFIX)/bin/dwl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.DEFAULT_GOAL=dwl
 | 
					 | 
				
			||||||
.PHONY: clean
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								dwl.c
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								dwl.c
									
										
									
									
									
								
							| 
						 | 
					@ -96,6 +96,7 @@ typedef struct {
 | 
				
			||||||
	struct wl_listener map;
 | 
						struct wl_listener map;
 | 
				
			||||||
	struct wl_listener unmap;
 | 
						struct wl_listener unmap;
 | 
				
			||||||
	struct wl_listener destroy;
 | 
						struct wl_listener destroy;
 | 
				
			||||||
 | 
						struct wl_listener set_title;
 | 
				
			||||||
	struct wl_listener fullscreen;
 | 
						struct wl_listener fullscreen;
 | 
				
			||||||
	struct wlr_box geom;  /* layout-relative, includes border */
 | 
						struct wlr_box geom;  /* layout-relative, includes border */
 | 
				
			||||||
	Monitor *mon;
 | 
						Monitor *mon;
 | 
				
			||||||
| 
						 | 
					@ -288,6 +289,7 @@ static void unmaplayersurface(LayerSurface *layersurface);
 | 
				
			||||||
static void unmaplayersurfacenotify(struct wl_listener *listener, void *data);
 | 
					static void unmaplayersurfacenotify(struct wl_listener *listener, void *data);
 | 
				
			||||||
static void unmapnotify(struct wl_listener *listener, void *data);
 | 
					static void unmapnotify(struct wl_listener *listener, void *data);
 | 
				
			||||||
static void updatemons(struct wl_listener *listener, void *data);
 | 
					static void updatemons(struct wl_listener *listener, void *data);
 | 
				
			||||||
 | 
					static void updatetitle(struct wl_listener *listener, void *data);
 | 
				
			||||||
static void view(const Arg *arg);
 | 
					static void view(const Arg *arg);
 | 
				
			||||||
static void virtualkeyboard(struct wl_listener *listener, void *data);
 | 
					static void virtualkeyboard(struct wl_listener *listener, void *data);
 | 
				
			||||||
static Client *xytoclient(double x, double y);
 | 
					static Client *xytoclient(double x, double y);
 | 
				
			||||||
| 
						 | 
					@ -891,6 +893,7 @@ createnotify(struct wl_listener *listener, void *data)
 | 
				
			||||||
	LISTEN(&xdg_surface->events.map, &c->map, mapnotify);
 | 
						LISTEN(&xdg_surface->events.map, &c->map, mapnotify);
 | 
				
			||||||
	LISTEN(&xdg_surface->events.unmap, &c->unmap, unmapnotify);
 | 
						LISTEN(&xdg_surface->events.unmap, &c->unmap, unmapnotify);
 | 
				
			||||||
	LISTEN(&xdg_surface->events.destroy, &c->destroy, destroynotify);
 | 
						LISTEN(&xdg_surface->events.destroy, &c->destroy, destroynotify);
 | 
				
			||||||
 | 
						LISTEN(&xdg_surface->toplevel->events.set_title, &c->set_title, updatetitle);
 | 
				
			||||||
	LISTEN(&xdg_surface->toplevel->events.request_fullscreen, &c->fullscreen,
 | 
						LISTEN(&xdg_surface->toplevel->events.request_fullscreen, &c->fullscreen,
 | 
				
			||||||
			fullscreennotify);
 | 
								fullscreennotify);
 | 
				
			||||||
	c->isfullscreen = 0;
 | 
						c->isfullscreen = 0;
 | 
				
			||||||
| 
						 | 
					@ -994,6 +997,7 @@ destroynotify(struct wl_listener *listener, void *data)
 | 
				
			||||||
	wl_list_remove(&c->map.link);
 | 
						wl_list_remove(&c->map.link);
 | 
				
			||||||
	wl_list_remove(&c->unmap.link);
 | 
						wl_list_remove(&c->unmap.link);
 | 
				
			||||||
	wl_list_remove(&c->destroy.link);
 | 
						wl_list_remove(&c->destroy.link);
 | 
				
			||||||
 | 
						wl_list_remove(&c->set_title.link);
 | 
				
			||||||
	wl_list_remove(&c->fullscreen.link);
 | 
						wl_list_remove(&c->fullscreen.link);
 | 
				
			||||||
#ifdef XWAYLAND
 | 
					#ifdef XWAYLAND
 | 
				
			||||||
	if (c->type == X11Managed)
 | 
						if (c->type == X11Managed)
 | 
				
			||||||
| 
						 | 
					@ -2298,6 +2302,14 @@ updatemons(struct wl_listener *listener, void *data)
 | 
				
			||||||
	wlr_output_manager_v1_set_configuration(output_mgr, config);
 | 
						wlr_output_manager_v1_set_configuration(output_mgr, config);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					updatetitle(struct wl_listener *listener, void *data)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						Client *c = wl_container_of(listener, c, set_title);
 | 
				
			||||||
 | 
						if (c == focustop(c->mon))
 | 
				
			||||||
 | 
							printstatus();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
view(const Arg *arg)
 | 
					view(const Arg *arg)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -2434,6 +2446,7 @@ createnotifyx11(struct wl_listener *listener, void *data)
 | 
				
			||||||
			activatex11);
 | 
								activatex11);
 | 
				
			||||||
	LISTEN(&xwayland_surface->events.request_configure, &c->configure,
 | 
						LISTEN(&xwayland_surface->events.request_configure, &c->configure,
 | 
				
			||||||
			configurex11);
 | 
								configurex11);
 | 
				
			||||||
 | 
						LISTEN(&xwayland_surface->events.set_title, &c->set_title, updatetitle);
 | 
				
			||||||
	LISTEN(&xwayland_surface->events.destroy, &c->destroy, destroynotify);
 | 
						LISTEN(&xwayland_surface->events.destroy, &c->destroy, destroynotify);
 | 
				
			||||||
	LISTEN(&xwayland_surface->events.request_fullscreen, &c->fullscreen,
 | 
						LISTEN(&xwayland_surface->events.request_fullscreen, &c->fullscreen,
 | 
				
			||||||
			fullscreennotify);
 | 
								fullscreennotify);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue