mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
Move the screencasting into a separate D-Bus service process, using PipeWire instead of Clutter API. The service is implemented in Javascript using the dbusService.js helper, and implements the same API as was done by screencast.js and the corresponding C code. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1372
48 lines
1.1 KiB
Meson
48 lines
1.1 KiB
Meson
launcherconf = configuration_data()
|
|
launcherconf.set('PACKAGE_NAME', meson.project_name())
|
|
launcherconf.set('prefix', prefix)
|
|
launcherconf.set('libdir', libdir)
|
|
|
|
dbus_services = {
|
|
'org.gnome.Shell.Extensions': 'extensions',
|
|
'org.gnome.Shell.Notifications': 'notifications',
|
|
}
|
|
|
|
if enable_recorder
|
|
dbus_services += {
|
|
'org.gnome.Shell.Screencast': 'screencast',
|
|
}
|
|
endif
|
|
|
|
config_dir = '@0@/..'.format(meson.current_build_dir())
|
|
|
|
foreach service, dir : dbus_services
|
|
configure_file(
|
|
input: 'dbus-service.in',
|
|
output: service,
|
|
configuration: launcherconf,
|
|
install_dir: pkgdatadir,
|
|
)
|
|
|
|
serviceconf = configuration_data()
|
|
serviceconf.set('service', service)
|
|
serviceconf.set('gjs', gjs.path())
|
|
serviceconf.set('pkgdatadir', pkgdatadir)
|
|
|
|
configure_file(
|
|
input: 'dbus-service.service.in',
|
|
output: service + '.service',
|
|
configuration: serviceconf,
|
|
install_dir: servicedir
|
|
)
|
|
|
|
gnome.compile_resources(
|
|
service + '.src',
|
|
service + '.src.gresource.xml',
|
|
dependencies: [config_js],
|
|
source_dir: ['.', '..', dir, config_dir],
|
|
gresource_bundle: true,
|
|
install: true,
|
|
install_dir: pkgdatadir
|
|
)
|
|
endforeach
|