[PATCH 2/6] libweston: fbdev: support the --seat option, (and XDG_SEAT variable)

nerdopolis bluescreen_avenger at verizon.net
Wed Sep 6 12:17:19 UTC 2017


---
 compositor/main.c            | 2 ++
 libweston/compositor-fbdev.c | 5 ++++-
 libweston/compositor-fbdev.h | 1 +
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/compositor/main.c b/compositor/main.c
index 61bda282..f88608cd 100644
--- a/compositor/main.c
+++ b/compositor/main.c
@@ -573,6 +573,7 @@ usage(int error_code)
 		"Options for fbdev-backend.so:\n\n"
 		"  --tty=TTY\t\tThe tty to use\n"
 		"  --device=DEVICE\tThe framebuffer device to use\n"
+		"  --seat=SEAT\t\tThe seat that weston should run on, instead of the seat defined in XDG_SEAT\n"
 		"\n");
 #endif
 
@@ -1444,6 +1445,7 @@ load_fbdev_backend(struct weston_compositor *c,
 	const struct weston_option fbdev_options[] = {
 		{ WESTON_OPTION_INTEGER, "tty", 0, &config.tty },
 		{ WESTON_OPTION_STRING, "device", 0, &config.device },
+		{ WESTON_OPTION_STRING, "seat", 0, &config.seat_id },
 	};
 
 	parse_options(fbdev_options, ARRAY_LENGTH(fbdev_options), argc, argv);
diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
index dabacbb5..b4f0685c 100644
--- a/libweston/compositor-fbdev.c
+++ b/libweston/compositor-fbdev.c
@@ -728,6 +728,8 @@ fbdev_backend_create(struct weston_compositor *compositor,
 	session_seat=getenv("XDG_SEAT");
 	if (session_seat)
 		seat_id=session_seat;
+	if (param->seat_id)
+		seat_id = param->seat_id;
 
 	weston_log("initializing fbdev backend\n");
 
@@ -751,7 +753,7 @@ fbdev_backend_create(struct weston_compositor *compositor,
 	wl_signal_add(&compositor->session_signal,
 		      &backend->session_listener);
 	compositor->launcher =
-		weston_launcher_connect(compositor, param->tty, "seat0", false);
+		weston_launcher_connect(compositor, param->tty, seat_id, false);
 	if (!compositor->launcher) {
 		weston_log("fatal: fbdev backend should be run "
 			   "using weston-launch binary or as root\n");
@@ -797,6 +799,7 @@ config_init_to_defaults(struct weston_fbdev_backend_config *config)
 	 * udev, rather than passing a device node in as a parameter. */
 	config->tty = 0; /* default to current tty */
 	config->device = "/dev/fb0"; /* default frame buffer */
+	config->seat_id = "seat0"; /* default seat*/
 }
 
 WL_EXPORT int
diff --git a/libweston/compositor-fbdev.h b/libweston/compositor-fbdev.h
index 8b7d900e..c4e3305a 100644
--- a/libweston/compositor-fbdev.h
+++ b/libweston/compositor-fbdev.h
@@ -43,6 +43,7 @@ struct weston_fbdev_backend_config {
 
 	int tty;
 	char *device;
+	char *seat_id;
 
 	/** Callback used to configure input devices.
 	 *
-- 
2.14.1



More information about the wayland-devel mailing list