summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorJason Ekstrand <jason@jlekstrand.net>2014-04-02 19:54:01 -0500
committerKristian Høgsberg <krh@bitplanet.net>2014-04-02 21:28:09 -0700
commit47928d8715038e7a5fd7fd383dc3ec2c185ddd23 (patch)
tree0458a98c76599556417ce83782d21406a8e30a2f /Makefile.am
parentf34cd2c6761977fac2f09d5bebde21ddde67da23 (diff)
downloadweston-47928d8715038e7a5fd7fd383dc3ec2c185ddd23.tar.gz
Add a screen sharing plugin
This adds a plugin called screen-share.so. If the screen-share.so module is imported, it will add the CTRL+ALT+s keybinding to start a screen sharing session. If you press CTRL+ALT+S, weston will spawn another copy of weston, this time with the RDP backend, and mirrors the current screen to it and adds any seats from RDP as aditional seats. The current screen is defined as the one with the mouse pointer. Currently the CTRL+ALT+s keybinding is hardcoded as the only way to activate screen sharing. If, at some point, shells want more control over the screen sharing process, the API's should be easy to update and export to make this possible. For security, the command and path to weston is currently hard-coded. It would not take much aditional code to make this configurable or to allow a shell to launch other screen-sharing programs. However, handling those security issues is outside the scope of this patch so it is hard-coded for now. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am22
1 files changed, 22 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index a2f90386..c2df8b66 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -700,6 +700,28 @@ nodist_fullscreen_shell_la_SOURCES = \
BUILT_SOURCES += $(nodist_fullscreen_shell_la_SOURCES)
endif
+if ENABLE_SCREEN_SHARING
+
+module_LTLIBRARIES += screen-share.la
+
+screen_share_la_CPPFLAGS = $(AM_CPPFLAGS) -DBINDIR='"$(bindir)"'
+screen_share_la_LDFLAGS = -module -avoid-version
+screen_share_la_LIBADD = \
+ $(COMPOSITOR_LIBS) \
+ $(SCREEN_SHARE_LIBS) \
+ libshared-cairo.la
+screen_share_la_CFLAGS = \
+ $(COMPOSITOR_CFLAGS) \
+ $(SCREEN_SHARE_CFLAGS) \
+ $(GCC_CFLAGS)
+screen_share_la_SOURCES = \
+ src/screen-share.c
+nodist_screen_share_la_SOURCES = \
+ protocol/fullscreen-shell-protocol.c \
+ protocol/fullscreen-shell-client-protocol.h
+
+endif
+
if ENABLE_XWAYLAND
module_LTLIBRARIES += xwayland.la