Move example compositor to subdirectory
diff --git a/.gitignore b/.gitignore
index bebff81..435df93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,6 @@
*.o
*.so
*.pc
-compositor
*.jpg
*~
aclocal.m4
diff --git a/Makefile b/Makefile
index 0746855..199914d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
include config.mk
-subdirs = clients spec data
+subdirs = compositor clients spec data
libs = libwayland-server.so libwayland-client.so
-all : $(libs) compositor subdirs-all scanner
+all : $(libs) subdirs-all scanner
headers = \
wayland-util.h \
@@ -44,16 +44,6 @@
$(libs) :
gcc -shared $^ $(LDLIBS) -o $@
-compositor : \
- compositor.o \
- compositor-drm.o \
- compositor-x11.o \
- screenshooter.o \
- drm.o
-
-compositor : CFLAGS += $(COMPOSITOR_CFLAGS)
-compositor : LDLIBS += ./libwayland-server.so $(COMPOSITOR_LIBS) -rdynamic -lrt -lEGL -lm
-
scanner : \
scanner.o \
wayland-util.o
@@ -71,7 +61,7 @@
install 70-wayland.rules ${udev_rules_dir}
clean : subdirs-clean
- rm -f compositor scanner *.o *.so .*.deps
+ rm -f scanner *.o *.so .*.deps
rm -f wayland-protocol.c \
wayland-server-protocol.h wayland-client-protocol.h
diff --git a/TODO b/TODO
index 6048887..448a1b2 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,17 @@
Core wayland protocol
+ - surface.set_grab_mode(GRAB_OWNER_EVENTS vs GRAB_SURFACE_EVENTS), to
+ make menus work right: click and drag in a menubar grabs the
+ pointer to the menubar (which we need for detecting motion into
+ another menu item), but we need events for the popup menu surface
+ as well.
+
+ - input_device.attach() should use a timestamp so the server can
+ discard late requests (sending a request to set the pointer image
+ in response to a motion event, the pointer leaves and then reenters
+ the surface, before the server receives the reqest -> the server
+ must discard it).
+
- The message format has to include information about number of fds
in the message so we can skip a message correctly. Or we should
just give up on trying to recover from unknown messages.
diff --git a/compositor/Makefile b/compositor/Makefile
new file mode 100644
index 0000000..5e67825
--- /dev/null
+++ b/compositor/Makefile
@@ -0,0 +1,18 @@
+include ../config.mk
+
+CFLAGS += $(COMPOSITOR_CFLAGS)
+LDLIBS += -L.. -lwayland-server $(COMPOSITOR_LIBS) -rdynamic -lrt -lEGL -lm
+
+all : compositor
+
+compositor : \
+ compositor.o \
+ compositor-drm.o \
+ compositor-x11.o \
+ screenshooter.o \
+ drm.o
+
+clean :
+ rm -f compositor *.o .*.deps
+
+install :
\ No newline at end of file
diff --git a/compositor-drm.c b/compositor/compositor-drm.c
similarity index 100%
rename from compositor-drm.c
rename to compositor/compositor-drm.c
diff --git a/compositor-x11.c b/compositor/compositor-x11.c
similarity index 100%
rename from compositor-x11.c
rename to compositor/compositor-x11.c
diff --git a/compositor.c b/compositor/compositor.c
similarity index 100%
rename from compositor.c
rename to compositor/compositor.c
diff --git a/compositor.h b/compositor/compositor.h
similarity index 100%
rename from compositor.h
rename to compositor/compositor.h
diff --git a/drm.c b/compositor/drm.c
similarity index 100%
rename from drm.c
rename to compositor/drm.c
diff --git a/screenshooter.c b/compositor/screenshooter.c
similarity index 100%
rename from screenshooter.c
rename to compositor/screenshooter.c