~ruther/dwl

3f86336badecd7ced48db2a71ddcfb141fa5f39d — Devin J. Pohly 4 years ago b372d4b + 3727f4a
Merge branch 'main' into pipe-status
2 files changed, 22 insertions(+), 10 deletions(-)

M Makefile
M dwl.c
M Makefile => Makefile +9 -10
@@ 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

M dwl.c => dwl.c +13 -0
@@ 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)


@@ 2299,6 2303,14 @@ updatemons(struct wl_listener *listener, void *data)
}

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)
{
	if ((arg->ui & TAGMASK) == selmon->tagset[selmon->seltags])


@@ 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);

Do not follow this link