1226 lines
49 KiB
Diff
1226 lines
49 KiB
Diff
From 9bfb0e70dd42dc0f5e5dfd8af1ce924a661305a6 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 16:00:28 -0400
|
|
Subject: [PATCH 1/7] Build the wallpaper portal backend conditionally
|
|
|
|
This is a first step towards moving gnome-specific panels
|
|
to their own backend.
|
|
---
|
|
configure.ac | 11 ++++++++++-
|
|
data/Makefile.am.inc | 12 +++++++++++-
|
|
data/{gtk.portal => gtk.portal.in} | 2 +-
|
|
src/Makefile.am.inc | 15 ++++++++++++---
|
|
src/xdg-desktop-portal-gtk.c | 5 +++++
|
|
5 files changed, 39 insertions(+), 6 deletions(-)
|
|
rename data/{gtk.portal => gtk.portal.in} (89%)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index e1723e2..32e46db 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -57,7 +57,16 @@ AC_SUBST([DBUS_INTERFACES_DIR], [`$PKG_CONFIG --variable=interfaces_dir dbus-1`]
|
|
AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
|
|
AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
|
|
|
|
-PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gnome-desktop-3.0 gsettings-desktop-schemas])
|
|
+AC_ARG_ENABLE(wallpaper,
|
|
+ [AS_HELP_STRING([--enable-wallpaper],[Build wallpaper portal. Needs gnome-desktop])],
|
|
+ enable_wallpaper=$enableval, enable_wallpaper=yes)
|
|
+if test x$enable_wallpaper = xyes; then
|
|
+ PKG_CHECK_MODULES(WALLPAPER, [gnome-desktop-3.0])
|
|
+ AC_DEFINE([BUILD_WALLPAPER], [1], [Define to enable wallpaper portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_WALLPAPER],[test "$enable_wallpaper" = "yes"])
|
|
+
|
|
+PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gsettings-desktop-schemas])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 21b134e..25f5571 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -1,5 +1,13 @@
|
|
+if BUILD_WALLPAPER
|
|
+wallpaper_iface = org.freedesktop.impl.portal.Wallpaper;
|
|
+endif
|
|
+
|
|
+%.portal: data/%.portal.in config.log
|
|
+ $(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" $< > $@
|
|
+
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
-dist_portal_DATA = data/gtk.portal
|
|
+portal_in_files = data/gtk.portal.in
|
|
+portal_DATA = gtk.portal
|
|
|
|
%.service: data/%.service.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
|
|
@@ -27,11 +35,13 @@ desktop_in_files = xdg-desktop-portal-gtk.desktop.in
|
|
desktop_DATA = xdg-desktop-portal-gtk.desktop
|
|
|
|
CLEANFILES += \
|
|
+ $(portal_DATA) \
|
|
$(desktop_in_files) \
|
|
$(desktop_DATA) \
|
|
$(NULL)
|
|
|
|
EXTRA_DIST += \
|
|
+ $(portal_in_files) \
|
|
$(dbus_service_in_files) \
|
|
$(systemduserunit_in_files) \
|
|
$(desktop_in_in_files) \
|
|
diff --git a/data/gtk.portal b/data/gtk.portal.in
|
|
similarity index 89%
|
|
rename from data/gtk.portal
|
|
rename to data/gtk.portal.in
|
|
index d890619..52dde2c 100644
|
|
--- a/data/gtk.portal
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;org.freedesktop.impl.portal.Screenshot;org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.ScreenCast;org.freedesktop.impl.portal.RemoteDesktop;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;org.freedesktop.impl.portal.Wallpaper;
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;org.freedesktop.impl.portal.Screenshot;org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.ScreenCast;org.freedesktop.impl.portal.RemoteDesktop;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index 4c212d2..c349d20 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -2,6 +2,10 @@ dbus_built_sources = src/xdg-desktop-portal-dbus.c src/xdg-desktop-portal-dbus.h
|
|
BUILT_SOURCES += $(dbus_built_sources)
|
|
CLEANFILES += $(dbus_built_sources)
|
|
|
|
+if BUILD_WALLPAPER
|
|
+ WALLPAPER_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Wallpaper.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -24,7 +28,7 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Wallpaper.xml \
|
|
+ $(WALLPAPER_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -137,6 +141,10 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/fc-monitor.h \
|
|
src/settings.c \
|
|
src/settings.h \
|
|
+ $(NULL)
|
|
+
|
|
+if BUILD_WALLPAPER
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
src/wallpaperdialog.c \
|
|
src/wallpaperdialog.h \
|
|
src/wallpaperpreview.c \
|
|
@@ -144,6 +152,7 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/wallpaper.c \
|
|
src/wallpaper.h \
|
|
$(NULL)
|
|
+endif
|
|
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
@@ -165,8 +174,8 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
-xdg_desktop_portal_gtk_LDADD = $(BASE_LIBS) $(GTK_LIBS) $(GTK_X11_LIBS)
|
|
-xdg_desktop_portal_gtk_CFLAGS = $(BASE_CFLAGS) $(GTK_CFLAGS) $(GTK_X11_CFLAGS)
|
|
+xdg_desktop_portal_gtk_LDADD = $(BASE_LIBS) $(GTK_LIBS) $(GTK_X11_LIBS) $(WALLPAPER_LIBS)
|
|
+xdg_desktop_portal_gtk_CFLAGS = $(BASE_CFLAGS) $(GTK_CFLAGS) $(GTK_X11_CFLAGS) $(WALLPAPER_CFLAGS)
|
|
xdg_desktop_portal_gtk_CPPFLAGS = \
|
|
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
|
|
-DLOCALEDIR=\"$(localedir)\" \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index 8cad9f2..a5507bc 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -55,7 +55,10 @@
|
|
#include "lockdown.h"
|
|
#include "background.h"
|
|
#include "settings.h"
|
|
+
|
|
+#ifdef BUILD_WALLPAPER
|
|
#include "wallpaper.h"
|
|
+#endif
|
|
|
|
|
|
static GMainLoop *loop = NULL;
|
|
@@ -190,11 +193,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_clear_error (&error);
|
|
}
|
|
|
|
+#ifdef BUILD_WALLPAPER
|
|
if (!wallpaper_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
static void
|
|
|
|
From bbe5abe9379d2a9eae8f5e1fc1e62dc22414efe2 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 16:13:31 -0400
|
|
Subject: [PATCH 2/7] Build the screenshot portal backend conditionally
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 8 ++++++++
|
|
data/Makefile.am.inc | 8 +++++++-
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 22 ++++++++++++++++------
|
|
src/xdg-desktop-portal-gtk.c | 6 ++++++
|
|
5 files changed, 38 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 32e46db..a34f66b 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -66,6 +66,14 @@ if test x$enable_wallpaper = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_WALLPAPER],[test "$enable_wallpaper" = "yes"])
|
|
|
|
+AC_ARG_ENABLE(screenshot,
|
|
+ [AS_HELP_STRING([--enable-screenshot],[Build screenshot portal. Needs gnome-shell])],
|
|
+ enable_screenshot=$enableval, enable_screenshot=yes)
|
|
+if test x$enable_screenshot = xyes; then
|
|
+ AC_DEFINE([BUILD_SCREENSHOT], [1], [Define to enable screenshot portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_SCREENSHOT],[test "$enable_screenshot" = "yes"])
|
|
+
|
|
PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gsettings-desktop-schemas])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 25f5571..87336bd 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -2,8 +2,14 @@ if BUILD_WALLPAPER
|
|
wallpaper_iface = org.freedesktop.impl.portal.Wallpaper;
|
|
endif
|
|
|
|
+if BUILD_SCREENSHOT
|
|
+screenshot_iface = org.freedesktop.impl.portal.Screenshot;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
- $(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" $< > $@
|
|
+ $(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
+ -e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
+ $< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
portal_in_files = data/gtk.portal.in
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index 52dde2c..8190dc0 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;org.freedesktop.impl.portal.Screenshot;org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.ScreenCast;org.freedesktop.impl.portal.RemoteDesktop;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.ScreenCast;org.freedesktop.impl.portal.RemoteDesktop;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index c349d20..75bd1ed 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -6,6 +6,11 @@ if BUILD_WALLPAPER
|
|
WALLPAPER_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Wallpaper.xml
|
|
endif
|
|
|
|
+if BUILD_SCREENSHOT
|
|
+ SCREENSHOT_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Screenshot.xml
|
|
+ SHELL_SCREENSHOT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Screenshot.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -17,7 +22,6 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.FileChooser.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.AppChooser.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Print.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Screenshot.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Notification.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Inhibit.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Access.xml \
|
|
@@ -29,6 +33,7 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml \
|
|
$(WALLPAPER_IFACE) \
|
|
+ $(SCREENSHOT_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -41,7 +46,6 @@ $(shell_built_sources): src/Makefile.am.inc
|
|
$(top_srcdir)/data/org.gnome.Mutter.DisplayConfig.xml \
|
|
$(top_srcdir)/data/org.gnome.Mutter.ScreenCast.xml \
|
|
$(top_srcdir)/data/org.gnome.Mutter.RemoteDesktop.xml \
|
|
- $(top_srcdir)/data/org.gnome.Shell.Screenshot.xml \
|
|
$(top_srcdir)/data/org.gnome.Shell.Introspect.xml \
|
|
$(top_srcdir)/data/org.gtk.Notifications.xml \
|
|
$(top_srcdir)/data/org.gnome.SessionManager.xml \
|
|
@@ -49,6 +53,7 @@ $(shell_built_sources): src/Makefile.am.inc
|
|
$(top_srcdir)/data/org.freedesktop.ScreenSaver.xml \
|
|
$(top_srcdir)/data/org.freedesktop.Accounts.xml \
|
|
$(top_srcdir)/data/org.freedesktop.Accounts.User.xml \
|
|
+ $(SHELL_SCREENSHOT_IFACE) \
|
|
$(NULL)
|
|
|
|
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir)/src --generate-dependencies $(top_srcdir)/src/xdg-desktop-portal-gtk.gresource.xml)
|
|
@@ -99,10 +104,6 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/appchooserrow.c \
|
|
src/appchooserdialog.h \
|
|
src/appchooserdialog.c \
|
|
- src/screenshot.h \
|
|
- src/screenshot.c \
|
|
- src/screenshotdialog.h \
|
|
- src/screenshotdialog.c \
|
|
src/print.h \
|
|
src/print.c \
|
|
src/access.h \
|
|
@@ -154,6 +155,15 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
+if BUILD_SCREENSHOT
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/screenshot.h \
|
|
+ src/screenshot.c \
|
|
+ src/screenshotdialog.h \
|
|
+ src/screenshotdialog.c \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
$(dbus_built_sources) \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index a5507bc..a109e58 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -44,7 +44,11 @@
|
|
#include "filechooser.h"
|
|
#include "appchooser.h"
|
|
#include "print.h"
|
|
+
|
|
+#ifdef BUILD_SCREENSHOT
|
|
#include "screenshot.h"
|
|
+#endif
|
|
+
|
|
#include "notification.h"
|
|
#include "inhibit.h"
|
|
#include "access.h"
|
|
@@ -127,11 +131,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_clear_error (&error);
|
|
}
|
|
|
|
+#ifdef BUILD_SCREENSHOT
|
|
if (!screenshot_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
if (!notification_init (connection, &error))
|
|
{
|
|
|
|
From b80392fc7bd1ad05d931ee72b87935dad85a9c2e Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 16:29:04 -0400
|
|
Subject: [PATCH 3/7] Build screencast and remote desktop portals conditionall
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 8 ++++++
|
|
data/Makefile.am.inc | 7 +++++
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 51 ++++++++++++++++++++++--------------
|
|
src/xdg-desktop-portal-gtk.c | 6 +++++
|
|
5 files changed, 54 insertions(+), 20 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index a34f66b..aef8064 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -74,6 +74,14 @@ if test x$enable_screenshot = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_SCREENSHOT],[test "$enable_screenshot" = "yes"])
|
|
|
|
+AC_ARG_ENABLE(screencast,
|
|
+ [AS_HELP_STRING([--enable-screencast],[Build screencast and remote desktop portals. Needs mutter])],
|
|
+ enable_screencast=$enableval, enable_screencast=yes)
|
|
+if test x$enable_screencast = xyes; then
|
|
+ AC_DEFINE([BUILD_SCREENCAST], [1], [Define to enable screencast portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_SCREENCAST],[test "$enable_screencast" = "yes"])
|
|
+
|
|
PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gsettings-desktop-schemas])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 87336bd..7839eae 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -6,9 +6,16 @@ if BUILD_SCREENSHOT
|
|
screenshot_iface = org.freedesktop.impl.portal.Screenshot;
|
|
endif
|
|
|
|
+if BUILD_SCREENCAST
|
|
+screencast_iface = org.freedesktop.impl.portal.ScreenCast;
|
|
+remotedesktop_iface = org.freedesktop.impl.portal.RemoteDesktop;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
-e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
+ -e "s|\@screencast_iface\@|$(screencast_iface)|" \
|
|
+ -e "s|\@remotedesktop_iface\@|$(remotedesktop_iface)|" \
|
|
$< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index 8190dc0..3581967 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.ScreenCast;org.freedesktop.impl.portal.RemoteDesktop;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index 75bd1ed..94655ba 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -11,6 +11,14 @@ if BUILD_SCREENSHOT
|
|
SHELL_SCREENSHOT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Screenshot.xml
|
|
endif
|
|
|
|
+if BUILD_SCREENCAST
|
|
+ SCREENCAST_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.ScreenCast.xml
|
|
+ REMOTE_DESKTOP_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.RemoteDesktop.xml
|
|
+ MUTTER_SCREENCAST_IFACE=$(top_srcdir)/data/org.gnome.Mutter.ScreenCast.xml
|
|
+ MUTTER_REMOTE_DESKTOP_IFACE=$(top_srcdir)/data/org.gnome.Mutter.RemoteDesktop.xml
|
|
+ MUTTER_DISPLAYCONFIG_IFACE=$(top_srcdir)/data/org.gnome.Mutter.DisplayConfig.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -27,13 +35,13 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Access.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Account.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Email.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.ScreenCast.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.RemoteDesktop.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml \
|
|
$(WALLPAPER_IFACE) \
|
|
$(SCREENSHOT_IFACE) \
|
|
+ $(SCREENCAST_IFACE) \
|
|
+ $(REMOTE_DESKTOP_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -43,9 +51,6 @@ CLEANFILES += $(shell_built_sources)
|
|
$(shell_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--generate-c-code src/shell-dbus \
|
|
- $(top_srcdir)/data/org.gnome.Mutter.DisplayConfig.xml \
|
|
- $(top_srcdir)/data/org.gnome.Mutter.ScreenCast.xml \
|
|
- $(top_srcdir)/data/org.gnome.Mutter.RemoteDesktop.xml \
|
|
$(top_srcdir)/data/org.gnome.Shell.Introspect.xml \
|
|
$(top_srcdir)/data/org.gtk.Notifications.xml \
|
|
$(top_srcdir)/data/org.gnome.SessionManager.xml \
|
|
@@ -54,6 +59,9 @@ $(shell_built_sources): src/Makefile.am.inc
|
|
$(top_srcdir)/data/org.freedesktop.Accounts.xml \
|
|
$(top_srcdir)/data/org.freedesktop.Accounts.User.xml \
|
|
$(SHELL_SCREENSHOT_IFACE) \
|
|
+ $(MUTTER_SCREENCAST_IFACE) \
|
|
+ $(MUTTER_REMOTE_DESKTOP_IFACE) \
|
|
+ $(MUTTER_DISPLAYCONFIG_IFACE) \
|
|
$(NULL)
|
|
|
|
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir)/src --generate-dependencies $(top_srcdir)/src/xdg-desktop-portal-gtk.gresource.xml)
|
|
@@ -118,20 +126,6 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/gtkbackports.c \
|
|
src/externalwindow.h \
|
|
src/externalwindow.c \
|
|
- src/screencast.c \
|
|
- src/screencast.h \
|
|
- src/screencastwidget.c \
|
|
- src/screencastwidget.h \
|
|
- src/screencastdialog.c \
|
|
- src/screencastdialog.h \
|
|
- src/gnomescreencast.c \
|
|
- src/gnomescreencast.h \
|
|
- src/remotedesktop.c \
|
|
- src/remotedesktop.h \
|
|
- src/remotedesktopdialog.c \
|
|
- src/remotedesktopdialog.h \
|
|
- src/displaystatetracker.c \
|
|
- src/displaystatetracker.h \
|
|
src/shellintrospect.c \
|
|
src/shellintrospect.h \
|
|
src/lockdown.c \
|
|
@@ -164,6 +158,25 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
+if BUILD_SCREENCAST
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/screencast.c \
|
|
+ src/screencast.h \
|
|
+ src/screencastwidget.c \
|
|
+ src/screencastwidget.h \
|
|
+ src/screencastdialog.c \
|
|
+ src/screencastdialog.h \
|
|
+ src/gnomescreencast.c \
|
|
+ src/gnomescreencast.h \
|
|
+ src/remotedesktop.c \
|
|
+ src/remotedesktop.h \
|
|
+ src/remotedesktopdialog.c \
|
|
+ src/remotedesktopdialog.h \
|
|
+ src/displaystatetracker.c \
|
|
+ src/displaystatetracker.h \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
$(dbus_built_sources) \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index a109e58..a26855b 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -54,8 +54,12 @@
|
|
#include "access.h"
|
|
#include "account.h"
|
|
#include "email.h"
|
|
+
|
|
+#ifdef BUILD_SCREENCAST
|
|
#include "screencast.h"
|
|
#include "remotedesktop.h"
|
|
+#endif
|
|
+
|
|
#include "lockdown.h"
|
|
#include "background.h"
|
|
#include "settings.h"
|
|
@@ -169,6 +173,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_clear_error (&error);
|
|
}
|
|
|
|
+#ifdef BUILD_SCREENCAST
|
|
if (!screen_cast_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
@@ -180,6 +185,7 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
if (!lockdown_init (connection, &error))
|
|
{
|
|
|
|
From 3811dd8b4067bac414037dc1c2b9fb2f2ea8e0a3 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 16:55:22 -0400
|
|
Subject: [PATCH 4/7] Build the background portal conditionally
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 8 ++++++++
|
|
data/Makefile.am.inc | 5 +++++
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 37 ++++++++++++++++++++++++++++++------
|
|
src/xdg-desktop-portal-gtk.c | 6 ++++++
|
|
5 files changed, 51 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index aef8064..9d470fa 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -82,6 +82,14 @@ if test x$enable_screencast = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_SCREENCAST],[test "$enable_screencast" = "yes"])
|
|
|
|
+AC_ARG_ENABLE(background,
|
|
+ [AS_HELP_STRING([--enable-background],[Build background portal. Needs gnome-shell])],
|
|
+ enable_background=$enableval, enable_background=yes)
|
|
+if test x$enable_background = xyes; then
|
|
+ AC_DEFINE([BUILD_BACKGROUND], [1], [Define to enable background portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_BACKGROUND],[test "$enable_background" = "yes"])
|
|
+
|
|
PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gsettings-desktop-schemas])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 7839eae..5b7af7d 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -11,11 +11,16 @@ screencast_iface = org.freedesktop.impl.portal.ScreenCast;
|
|
remotedesktop_iface = org.freedesktop.impl.portal.RemoteDesktop;
|
|
endif
|
|
|
|
+if BUILD_BACKGROUND
|
|
+background_iface = org.freedesktop.impl.portal.Background;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
-e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
-e "s|\@screencast_iface\@|$(screencast_iface)|" \
|
|
-e "s|\@remotedesktop_iface\@|$(remotedesktop_iface)|" \
|
|
+ -e "s|\@background_iface\@|$(background_iface)|" \
|
|
$< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index 3581967..a73d783 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Background;org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index 94655ba..0163383 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -19,6 +19,16 @@ if BUILD_SCREENCAST
|
|
MUTTER_DISPLAYCONFIG_IFACE=$(top_srcdir)/data/org.gnome.Mutter.DisplayConfig.xml
|
|
endif
|
|
|
|
+if BUILD_BACKGROUND
|
|
+ BACKGROUND_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml
|
|
+endif
|
|
+
|
|
+if BUILD_BACKGROUND
|
|
+ SHELL_INTROSPECT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Introspect.xml
|
|
+else
|
|
+ SHELL_INTROSPECT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Introspect.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -36,12 +46,12 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Account.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Email.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml \
|
|
$(WALLPAPER_IFACE) \
|
|
$(SCREENSHOT_IFACE) \
|
|
$(SCREENCAST_IFACE) \
|
|
$(REMOTE_DESKTOP_IFACE) \
|
|
+ $(BACKGROUND_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -51,7 +61,6 @@ CLEANFILES += $(shell_built_sources)
|
|
$(shell_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--generate-c-code src/shell-dbus \
|
|
- $(top_srcdir)/data/org.gnome.Shell.Introspect.xml \
|
|
$(top_srcdir)/data/org.gtk.Notifications.xml \
|
|
$(top_srcdir)/data/org.gnome.SessionManager.xml \
|
|
$(top_srcdir)/data/org.gnome.ScreenSaver.xml \
|
|
@@ -62,6 +71,7 @@ $(shell_built_sources): src/Makefile.am.inc
|
|
$(MUTTER_SCREENCAST_IFACE) \
|
|
$(MUTTER_REMOTE_DESKTOP_IFACE) \
|
|
$(MUTTER_DISPLAYCONFIG_IFACE) \
|
|
+ $(SHELL_INTROSPECT_IFACE) \
|
|
$(NULL)
|
|
|
|
resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(top_srcdir)/src --generate-dependencies $(top_srcdir)/src/xdg-desktop-portal-gtk.gresource.xml)
|
|
@@ -126,12 +136,8 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/gtkbackports.c \
|
|
src/externalwindow.h \
|
|
src/externalwindow.c \
|
|
- src/shellintrospect.c \
|
|
- src/shellintrospect.h \
|
|
src/lockdown.c \
|
|
src/lockdown.h \
|
|
- src/background.c \
|
|
- src/background.h \
|
|
src/fc-monitor.c \
|
|
src/fc-monitor.h \
|
|
src/settings.c \
|
|
@@ -177,6 +183,25 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
+if BUILD_BACKGROUND
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/background.c \
|
|
+ src/background.h \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
+if BUILD_BACKGROUND
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/shellintrospect.c \
|
|
+ src/shellintrospect.h \
|
|
+ $(NULL)
|
|
+else
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/shellintrospect.c \
|
|
+ src/shellintrospect.h \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
$(dbus_built_sources) \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index a26855b..2f26583 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -61,7 +61,11 @@
|
|
#endif
|
|
|
|
#include "lockdown.h"
|
|
+
|
|
+#ifdef BUILD_BACKGROUND
|
|
#include "background.h"
|
|
+#endif
|
|
+
|
|
#include "settings.h"
|
|
|
|
#ifdef BUILD_WALLPAPER
|
|
@@ -193,11 +197,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_clear_error (&error);
|
|
}
|
|
|
|
+#ifdef BUILD_BACKGROUND
|
|
if (!background_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
if (!settings_init (connection, &error))
|
|
{
|
|
|
|
From 5dcc1f0eddc46f1ae6ce4573279174be900bef9c Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 17:10:27 -0400
|
|
Subject: [PATCH 5/7] Build the settings portal conditionally
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 11 ++++++++++-
|
|
data/Makefile.am.inc | 5 +++++
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 27 ++++++++++++++++++++-------
|
|
src/xdg-desktop-portal-gtk.c | 4 ++++
|
|
5 files changed, 40 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 9d470fa..96a600a 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -90,7 +90,16 @@ if test x$enable_background = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_BACKGROUND],[test "$enable_background" = "yes"])
|
|
|
|
-PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0 fontconfig gsettings-desktop-schemas])
|
|
+AC_ARG_ENABLE(settings,
|
|
+ [AS_HELP_STRING([--enable-settings],[Build settings portal. Needs dconf])],
|
|
+ enable_settings=$enableval, enable_settings=yes)
|
|
+if test x$enable_settings = xyes; then
|
|
+ PKG_CHECK_MODULES(SETTINGS, [fontconfig gsettings-desktop-schemas])
|
|
+ AC_DEFINE([BUILD_SETTINGS], [1], [Define to enable settings portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_SETTINGS],[test "$enable_settings" = "yes"])
|
|
+
|
|
+PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 5b7af7d..56bde55 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -15,12 +15,17 @@ if BUILD_BACKGROUND
|
|
background_iface = org.freedesktop.impl.portal.Background;
|
|
endif
|
|
|
|
+if BUILD_SETTINGS
|
|
+settings_iface = org.freedesktop.impl.portal.Settings;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
-e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
-e "s|\@screencast_iface\@|$(screencast_iface)|" \
|
|
-e "s|\@remotedesktop_iface\@|$(remotedesktop_iface)|" \
|
|
-e "s|\@background_iface\@|$(background_iface)|" \
|
|
+ -e "s|\@settings_iface\@|$(settings_iface)|" \
|
|
$< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index a73d783..a1c274b 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@org.freedesktop.impl.portal.Settings;@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@@settings_iface@@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index 0163383..de98c50 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -23,11 +23,17 @@ if BUILD_BACKGROUND
|
|
BACKGROUND_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Background.xml
|
|
endif
|
|
|
|
+if BUILD_SETTINGS
|
|
+ SETTINGS_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml
|
|
+endif
|
|
+
|
|
if BUILD_BACKGROUND
|
|
SHELL_INTROSPECT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Introspect.xml
|
|
else
|
|
+if BUILD_SETTINGS
|
|
SHELL_INTROSPECT_IFACE=$(top_srcdir)/data/org.gnome.Shell.Introspect.xml
|
|
endif
|
|
+endif
|
|
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
@@ -46,12 +52,12 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Account.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Email.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Settings.xml \
|
|
$(WALLPAPER_IFACE) \
|
|
$(SCREENSHOT_IFACE) \
|
|
$(SCREENCAST_IFACE) \
|
|
$(REMOTE_DESKTOP_IFACE) \
|
|
$(BACKGROUND_IFACE) \
|
|
+ $(SETTINGS_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -138,10 +144,6 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/externalwindow.c \
|
|
src/lockdown.c \
|
|
src/lockdown.h \
|
|
- src/fc-monitor.c \
|
|
- src/fc-monitor.h \
|
|
- src/settings.c \
|
|
- src/settings.h \
|
|
$(NULL)
|
|
|
|
if BUILD_WALLPAPER
|
|
@@ -190,17 +192,28 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
+if BUILD_SETTINGS
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/fc-monitor.c \
|
|
+ src/fc-monitor.h \
|
|
+ src/settings.c \
|
|
+ src/settings.h \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
if BUILD_BACKGROUND
|
|
xdg_desktop_portal_gtk_SOURCES += \
|
|
src/shellintrospect.c \
|
|
src/shellintrospect.h \
|
|
$(NULL)
|
|
else
|
|
+if BUILD_SETTINGS
|
|
xdg_desktop_portal_gtk_SOURCES += \
|
|
src/shellintrospect.c \
|
|
src/shellintrospect.h \
|
|
$(NULL)
|
|
endif
|
|
+endif
|
|
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
@@ -222,8 +235,8 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
-xdg_desktop_portal_gtk_LDADD = $(BASE_LIBS) $(GTK_LIBS) $(GTK_X11_LIBS) $(WALLPAPER_LIBS)
|
|
-xdg_desktop_portal_gtk_CFLAGS = $(BASE_CFLAGS) $(GTK_CFLAGS) $(GTK_X11_CFLAGS) $(WALLPAPER_CFLAGS)
|
|
+xdg_desktop_portal_gtk_LDADD = $(BASE_LIBS) $(GTK_LIBS) $(GTK_X11_LIBS) $(WALLPAPER_LIBS) $(SETTINGS_LIBS)
|
|
+xdg_desktop_portal_gtk_CFLAGS = $(BASE_CFLAGS) $(GTK_CFLAGS) $(GTK_X11_CFLAGS) $(WALLPAPER_CFLAGS) $(SETTINGS_CFLAGS)
|
|
xdg_desktop_portal_gtk_CPPFLAGS = \
|
|
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
|
|
-DLOCALEDIR=\"$(localedir)\" \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index 2f26583..b2d0df2 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -66,7 +66,9 @@
|
|
#include "background.h"
|
|
#endif
|
|
|
|
+#ifdef BUILD_SETTINGS
|
|
#include "settings.h"
|
|
+#endif
|
|
|
|
#ifdef BUILD_WALLPAPER
|
|
#include "wallpaper.h"
|
|
@@ -205,11 +207,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
}
|
|
#endif
|
|
|
|
+#ifdef BUILD_SETTINGS
|
|
if (!settings_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
#ifdef BUILD_WALLPAPER
|
|
if (!wallpaper_init (connection, &error))
|
|
|
|
From 9ae5098887c48d70dfc3a004099900c716ebce16 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 17:18:26 -0400
|
|
Subject: [PATCH 6/7] Build the appchooser portal conditionally
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 8 ++++++++
|
|
data/Makefile.am.inc | 5 +++++
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 23 ++++++++++++++++-------
|
|
src/xdg-desktop-portal-gtk.c | 6 ++++++
|
|
5 files changed, 36 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 96a600a..82989ac 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -99,6 +99,14 @@ if test x$enable_settings = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_SETTINGS],[test "$enable_settings" = "yes"])
|
|
|
|
+AC_ARG_ENABLE(appchooser,
|
|
+ [AS_HELP_STRING([--enable-appchooser],[Build appchooser portal.])],
|
|
+ enable_appchooser=$enableval, enable_appchooser=yes)
|
|
+if test x$enable_appchooser = xyes; then
|
|
+ AC_DEFINE([BUILD_APPCHOOSER], [1], [Define to enable appchooser portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_APPCHOOSER],[test "$enable_appchooser" = "yes"])
|
|
+
|
|
PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 56bde55..81e1715 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -19,6 +19,10 @@ if BUILD_SETTINGS
|
|
settings_iface = org.freedesktop.impl.portal.Settings;
|
|
endif
|
|
|
|
+if BUILD_APPCHOOSER
|
|
+appchooser_iface = org.freedesktop.impl.portal.AppChooser;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
-e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
@@ -26,6 +30,7 @@ endif
|
|
-e "s|\@remotedesktop_iface\@|$(remotedesktop_iface)|" \
|
|
-e "s|\@background_iface\@|$(background_iface)|" \
|
|
-e "s|\@settings_iface\@|$(settings_iface)|" \
|
|
+ -e "s|\@appchooser_iface\@|$(appchooser_iface)|" \
|
|
$< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index a1c274b..4eb10ed 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@@settings_iface@@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;@appchooser_iface@org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@@settings_iface@@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index de98c50..408d81d 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -35,6 +35,10 @@ if BUILD_SETTINGS
|
|
endif
|
|
endif
|
|
|
|
+if BUILD_APPCHOOSER
|
|
+ APPCHOOSER_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.AppChooser.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -44,7 +48,6 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Request.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Session.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.FileChooser.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.AppChooser.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Print.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Notification.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Inhibit.xml \
|
|
@@ -58,6 +61,7 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(REMOTE_DESKTOP_IFACE) \
|
|
$(BACKGROUND_IFACE) \
|
|
$(SETTINGS_IFACE) \
|
|
+ $(APPCHOOSER_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -116,18 +120,12 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/session.h \
|
|
src/filechooser.h \
|
|
src/filechooser.c \
|
|
- src/appchooser.h \
|
|
- src/appchooser.c \
|
|
src/notification.h \
|
|
src/notification.c \
|
|
src/fdonotification.h \
|
|
src/fdonotification.c \
|
|
src/inhibit.h \
|
|
src/inhibit.c \
|
|
- src/appchooserrow.h \
|
|
- src/appchooserrow.c \
|
|
- src/appchooserdialog.h \
|
|
- src/appchooserdialog.c \
|
|
src/print.h \
|
|
src/print.c \
|
|
src/access.h \
|
|
@@ -215,6 +213,17 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
endif
|
|
endif
|
|
|
|
+if BUILD_APPCHOOSER
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/appchooser.h \
|
|
+ src/appchooser.c \
|
|
+ src/appchooserrow.h \
|
|
+ src/appchooserrow.c \
|
|
+ src/appchooserdialog.h \
|
|
+ src/appchooserdialog.c \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
$(dbus_built_sources) \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index b2d0df2..4cc7c76 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -42,7 +42,11 @@
|
|
|
|
#include "request.h"
|
|
#include "filechooser.h"
|
|
+
|
|
+#ifdef BUILD_APPCHOOSER
|
|
#include "appchooser.h"
|
|
+#endif
|
|
+
|
|
#include "print.h"
|
|
|
|
#ifdef BUILD_SCREENSHOT
|
|
@@ -129,11 +133,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
g_clear_error (&error);
|
|
}
|
|
|
|
+#ifdef BUILD_APPCHOOSER
|
|
if (!app_chooser_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
if (!print_init (connection, &error))
|
|
{
|
|
|
|
From be1ce3f16f99dda957d60258f73ccbf1e9cbb683 Mon Sep 17 00:00:00 2001
|
|
From: Matthias Clasen <mclasen@redhat.com>
|
|
Date: Sun, 6 Jun 2021 17:24:04 -0400
|
|
Subject: [PATCH 7/7] Build lockdown portal conditionally
|
|
|
|
Another step towards allowing to build a gnome-free
|
|
xdg-desktop-portal-gtk.
|
|
---
|
|
configure.ac | 8 ++++++++
|
|
data/Makefile.am.inc | 5 +++++
|
|
data/gtk.portal.in | 2 +-
|
|
src/Makefile.am.inc | 15 ++++++++++++---
|
|
src/xdg-desktop-portal-gtk.c | 4 ++++
|
|
5 files changed, 30 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 82989ac..24eb6a2 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -107,6 +107,14 @@ if test x$enable_appchooser = xyes; then
|
|
fi
|
|
AM_CONDITIONAL([BUILD_APPCHOOSER],[test "$enable_appchooser" = "yes"])
|
|
|
|
+AC_ARG_ENABLE(lockdown,
|
|
+ [AS_HELP_STRING([--enable-lockdown],[Build lockdown portal.])],
|
|
+ enable_lockdown=$enableval, enable_lockdown=yes)
|
|
+if test x$enable_lockdown = xyes; then
|
|
+ AC_DEFINE([BUILD_LOCKDOWN], [1], [Define to enable lockdown portal])
|
|
+fi
|
|
+AM_CONDITIONAL([BUILD_LOCKDOWN],[test "$enable_lockdown" = "yes"])
|
|
+
|
|
PKG_CHECK_MODULES(GTK, [xdg-desktop-portal >= 1.5 glib-2.0 >= 2.44 gio-unix-2.0 gtk+-3.0 >= 3.14 gtk+-unix-print-3.0])
|
|
AC_SUBST(GTK_CFLAGS)
|
|
AC_SUBST(GTK_LIBS)
|
|
diff --git a/data/Makefile.am.inc b/data/Makefile.am.inc
|
|
index 81e1715..a846e64 100644
|
|
--- a/data/Makefile.am.inc
|
|
+++ b/data/Makefile.am.inc
|
|
@@ -23,6 +23,10 @@ if BUILD_APPCHOOSER
|
|
appchooser_iface = org.freedesktop.impl.portal.AppChooser;
|
|
endif
|
|
|
|
+if BUILD_LOCKDOWN
|
|
+lockdown_iface = org.freedesktop.impl.portal.Lockdown;
|
|
+endif
|
|
+
|
|
%.portal: data/%.portal.in config.log
|
|
$(AM_V_GEN) $(SED) -e "s|\@wallpaper_iface\@|$(wallpaper_iface)|" \
|
|
-e "s|\@screenshot_iface\@|$(screenshot_iface)|" \
|
|
@@ -31,6 +35,7 @@ endif
|
|
-e "s|\@background_iface\@|$(background_iface)|" \
|
|
-e "s|\@settings_iface\@|$(settings_iface)|" \
|
|
-e "s|\@appchooser_iface\@|$(appchooser_iface)|" \
|
|
+ -e "s|\@lockdown_iface\@|$(lockdown_iface)|" \
|
|
$< > $@
|
|
|
|
portaldir = $(datadir)/xdg-desktop-portal/portals
|
|
diff --git a/data/gtk.portal.in b/data/gtk.portal.in
|
|
index 4eb10ed..c235e52 100644
|
|
--- a/data/gtk.portal.in
|
|
+++ b/data/gtk.portal.in
|
|
@@ -1,4 +1,4 @@
|
|
[portal]
|
|
DBusName=org.freedesktop.impl.portal.desktop.gtk
|
|
-Interfaces=org.freedesktop.impl.portal.FileChooser;@appchooser_iface@org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@org.freedesktop.impl.portal.Lockdown;@background_iface@@settings_iface@@wallpaper_iface@
|
|
+Interfaces=org.freedesktop.impl.portal.FileChooser;@appchooser_iface@org.freedesktop.impl.portal.Print;@screenshot_iface@org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;@screencast_iface@@remotedesktop_iface@@lockdown_iface@@background_iface@@settings_iface@@wallpaper_iface@
|
|
UseIn=gnome
|
|
diff --git a/src/Makefile.am.inc b/src/Makefile.am.inc
|
|
index 408d81d..097ebe7 100644
|
|
--- a/src/Makefile.am.inc
|
|
+++ b/src/Makefile.am.inc
|
|
@@ -39,6 +39,10 @@ if BUILD_APPCHOOSER
|
|
APPCHOOSER_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.AppChooser.xml
|
|
endif
|
|
|
|
+if BUILD_LOCKDOWN
|
|
+ LOCKDOWN_IFACE=$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml
|
|
+endif
|
|
+
|
|
$(dbus_built_sources): src/Makefile.am.inc
|
|
$(AM_V_GEN) $(GDBUS_CODEGEN) \
|
|
--interface-prefix org.freedesktop.impl.portal. \
|
|
@@ -54,7 +58,6 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Access.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Account.xml \
|
|
$(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Email.xml \
|
|
- $(DESKTOP_PORTAL_INTERFACES_DIR)/org.freedesktop.impl.portal.Lockdown.xml \
|
|
$(WALLPAPER_IFACE) \
|
|
$(SCREENSHOT_IFACE) \
|
|
$(SCREENCAST_IFACE) \
|
|
@@ -62,6 +65,7 @@ $(dbus_built_sources): src/Makefile.am.inc
|
|
$(BACKGROUND_IFACE) \
|
|
$(SETTINGS_IFACE) \
|
|
$(APPCHOOSER_IFACE) \
|
|
+ $(LOCKDOWN_IFACE) \
|
|
$(NULL)
|
|
|
|
shell_built_sources = src/shell-dbus.c src/shell-dbus.h
|
|
@@ -140,8 +144,6 @@ xdg_desktop_portal_gtk_SOURCES = \
|
|
src/gtkbackports.c \
|
|
src/externalwindow.h \
|
|
src/externalwindow.c \
|
|
- src/lockdown.c \
|
|
- src/lockdown.h \
|
|
$(NULL)
|
|
|
|
if BUILD_WALLPAPER
|
|
@@ -224,6 +226,13 @@ xdg_desktop_portal_gtk_SOURCES += \
|
|
$(NULL)
|
|
endif
|
|
|
|
+if BUILD_LOCKDOWN
|
|
+xdg_desktop_portal_gtk_SOURCES += \
|
|
+ src/lockdown.c \
|
|
+ src/lockdown.h \
|
|
+ $(NULL)
|
|
+endif
|
|
+
|
|
nodist_xdg_desktop_portal_gtk_SOURCES = \
|
|
src/resources.c \
|
|
$(dbus_built_sources) \
|
|
diff --git a/src/xdg-desktop-portal-gtk.c b/src/xdg-desktop-portal-gtk.c
|
|
index 4cc7c76..f8f6757 100644
|
|
--- a/src/xdg-desktop-portal-gtk.c
|
|
+++ b/src/xdg-desktop-portal-gtk.c
|
|
@@ -64,7 +64,9 @@
|
|
#include "remotedesktop.h"
|
|
#endif
|
|
|
|
+#ifdef BUILD_LOCKDOWN
|
|
#include "lockdown.h"
|
|
+#endif
|
|
|
|
#ifdef BUILD_BACKGROUND
|
|
#include "background.h"
|
|
@@ -199,11 +201,13 @@ on_bus_acquired (GDBusConnection *connection,
|
|
}
|
|
#endif
|
|
|
|
+#ifdef BUILD_LOCKDOWN
|
|
if (!lockdown_init (connection, &error))
|
|
{
|
|
g_warning ("error: %s\n", error->message);
|
|
g_clear_error (&error);
|
|
}
|
|
+#endif
|
|
|
|
#ifdef BUILD_BACKGROUND
|
|
if (!background_init (connection, &error))
|