Merge branch 'main' into pipe-status
This commit is contained in:
		
							
								
								
									
										19
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								Makefile
									
									
									
									
									
								
							| @@ -11,6 +11,14 @@ LDLIBS += $(foreach p,$(PKGS),$(shell pkg-config --libs $(p))) | ||||
|  | ||||
| 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 | ||||
| # 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. | ||||
| @@ -47,15 +55,6 @@ idle-protocol.o: idle-protocol.h | ||||
| config.h: | 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 | ||||
|  | ||||
| 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 unmap; | ||||
| 	struct wl_listener destroy; | ||||
| 	struct wl_listener set_title; | ||||
| 	struct wl_listener fullscreen; | ||||
| 	struct wlr_box geom;  /* layout-relative, includes border */ | ||||
| 	Monitor *mon; | ||||
| @@ -288,6 +289,7 @@ static void unmaplayersurface(LayerSurface *layersurface); | ||||
| static void unmaplayersurfacenotify(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 updatetitle(struct wl_listener *listener, void *data); | ||||
| static void view(const Arg *arg); | ||||
| static void virtualkeyboard(struct wl_listener *listener, void *data); | ||||
| 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.unmap, &c->unmap, unmapnotify); | ||||
| 	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, | ||||
| 			fullscreennotify); | ||||
| 	c->isfullscreen = 0; | ||||
| @@ -994,6 +997,7 @@ destroynotify(struct wl_listener *listener, void *data) | ||||
| 	wl_list_remove(&c->map.link); | ||||
| 	wl_list_remove(&c->unmap.link); | ||||
| 	wl_list_remove(&c->destroy.link); | ||||
| 	wl_list_remove(&c->set_title.link); | ||||
| 	wl_list_remove(&c->fullscreen.link); | ||||
| #ifdef XWAYLAND | ||||
| 	if (c->type == X11Managed) | ||||
| @@ -2298,6 +2302,14 @@ updatemons(struct wl_listener *listener, void *data) | ||||
| 	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 | ||||
| view(const Arg *arg) | ||||
| { | ||||
| @@ -2434,6 +2446,7 @@ createnotifyx11(struct wl_listener *listener, void *data) | ||||
| 			activatex11); | ||||
| 	LISTEN(&xwayland_surface->events.request_configure, &c->configure, | ||||
| 			configurex11); | ||||
| 	LISTEN(&xwayland_surface->events.set_title, &c->set_title, updatetitle); | ||||
| 	LISTEN(&xwayland_surface->events.destroy, &c->destroy, destroynotify); | ||||
| 	LISTEN(&xwayland_surface->events.request_fullscreen, &c->fullscreen, | ||||
| 			fullscreennotify); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user