diff options
Diffstat (limited to 'applets/notification_area')
| -rw-r--r-- | applets/notification_area/libstatus-notifier-watcher/meson.build | 12 | ||||
| -rw-r--r-- | applets/notification_area/meson.build | 162 | ||||
| -rw-r--r-- | applets/notification_area/status-notifier/meson.build | 40 | ||||
| -rw-r--r-- | applets/notification_area/system-tray/meson.build | 23 |
4 files changed, 237 insertions, 0 deletions
diff --git a/applets/notification_area/libstatus-notifier-watcher/meson.build b/applets/notification_area/libstatus-notifier-watcher/meson.build new file mode 100644 index 00000000..a180a16e --- /dev/null +++ b/applets/notification_area/libstatus-notifier-watcher/meson.build @@ -0,0 +1,12 @@ +libstatus_notifier_watcher = static_library('status-notifier-watcher', + 'gf-sn-watcher-v0.c', + 'gf-sn-watcher-v0.h', + 'gf-status-notifier-watcher.c', + 'gf-status-notifier-watcher.h', + gnome.gdbus_codegen('gf-sn-watcher-v0-gen', + 'org.kde.StatusNotifierWatcher.xml', + namespace: 'Gf', + ), + dependencies: notification_area_deps, + c_args: ['-DG_LOG_DOMAIN="status-notifier-watcher"'] + disable_deprecated_flags, +) diff --git a/applets/notification_area/meson.build b/applets/notification_area/meson.build new file mode 100644 index 00000000..74400b21 --- /dev/null +++ b/applets/notification_area/meson.build @@ -0,0 +1,162 @@ +notification_area_deps = [ + gtk_dep, + mate_desktop_dep, +] + +notification_area_c_args = [ + '-DMATELOCALEDIR="@0@"'.format(mate_panel_localedir), + '-DG_LOG_DOMAIN="notification-area-applet"', + '-DPROVIDE_WATCHER_SERVICE=1', +] + disable_deprecated_flags + +subdir('libstatus-notifier-watcher') +subdir('status-notifier') + +if have_x11 + subdir('system-tray') +endif + +libtray_sources = [ + 'na-grid.c', + 'na-grid.h', + 'na-host.c', + 'na-host.h', + 'na-item.c', + 'na-item.h', +] + +libtray = static_library('tray', + libtray_sources + status_notifier_codegen, + include_directories: [include_directories('.'), include_directories('status-notifier')], + dependencies: notification_area_deps, + link_with: [libstatus_notifier, libstatus_notifier_watcher], + c_args: notification_area_c_args, +) + +if have_x11 + libtray_extra_link = libsystem_tray + executable('testtray', + 'testtray.c', + include_directories: include_directories('.'), + dependencies: notification_area_deps, + link_with: [libtray, libstatus_notifier, libstatus_notifier_watcher, libsystem_tray], + c_args: notification_area_c_args, + ) +else + libtray_extra_link = [] +endif + +na_resource_deps = files( + 'notification-area-preferences-dialog.ui', + 'notification-area-menu.xml', +) + +na_resources_c = custom_target('na-resources.c', + input: 'na.gresource.xml', + output: 'na-resources.c', + depend_files: na_resource_deps, + command: [ + glib_compile_resources, + '--target', '@OUTPUT@', + '--sourcedir', meson.current_source_dir(), + '--generate-source', + '--c-name', 'na', + '@INPUT@', + ], +) + +na_resources_h = custom_target('na-resources.h', + input: 'na.gresource.xml', + output: 'na-resources.h', + depend_files: na_resource_deps, + command: [ + glib_compile_resources, + '--target', '@OUTPUT@', + '--sourcedir', meson.current_source_dir(), + '--generate-header', + '--c-name', 'na', + '@INPUT@', + ], +) + +notification_area_sources = [ + 'main.c', + 'main.h', + na_resources_c, + na_resources_h, +] + +notification_area_full_deps = notification_area_deps + libmate_panel_applet_deps + +notification_area_inc_dirs = [ + include_directories('.'), + libmate_panel_applet_inc, +] + +if notification_area_inprocess + notification_area_applet = shared_library('notification-area-applet', + notification_area_sources, + include_directories: notification_area_inc_dirs, + dependencies: notification_area_full_deps, + c_args: notification_area_c_args, + link_with: [libmate_panel_applet_lib, libtray, libstatus_notifier, libstatus_notifier_watcher] + libtray_extra_link, + install: true, + install_dir: mate_panel_pkglibdir, + ) + notification_area_applet_in_process = 'true' + notification_area_applet_location = join_paths(mate_panel_pkglibdir, 'libnotification-area-applet.so') +else + notification_area_applet = executable('notification-area-applet', + notification_area_sources, + include_directories: notification_area_inc_dirs, + dependencies: notification_area_full_deps, + c_args: notification_area_c_args, + link_with: [libmate_panel_applet_lib, libtray, libstatus_notifier, libstatus_notifier_watcher] + libtray_extra_link, + install: true, + install_dir: mate_panel_libexecdir, + ) + notification_area_applet_in_process = 'false' + notification_area_applet_location = join_paths(mate_panel_libexecdir, 'notification-area-applet') +endif + +# applet registration file +notification_area_applet_desktop_in = configure_file( + input: 'org.mate.panel.NotificationAreaApplet.mate-panel-applet.desktop.in.in', + output: 'org.mate.panel.NotificationAreaApplet.mate-panel-applet.desktop.in', + configuration: { + 'IN_PROCESS': notification_area_applet_in_process, + 'LOCATION': notification_area_applet_location, + 'VERSION': mate_panel_version, + }, +) + +notification_area_applet_desktop = i18n.merge_file( + input: notification_area_applet_desktop_in, + output: 'org.mate.panel.NotificationAreaApplet.mate-panel-applet', + type: 'desktop', + po_dir: '../../po', + install: true, + install_dir: mate_panel_appletsdir, +) + +if not notification_area_inprocess + notification_area_service = configure_file( + input: 'org.mate.panel.applet.NotificationAreaAppletFactory.service.in', + output: 'org.mate.panel.applet.NotificationAreaAppletFactory.service', + configuration: { + 'LOCATION': notification_area_applet_location, + }, + ) + install_data(notification_area_service, + install_dir: join_paths(mate_panel_datadir, 'dbus-1', 'services'), + ) +endif + +# gsettings schema +notification_area_gschema = configure_file( + input: 'org.mate.panel.applet.notification-area.gschema.xml.in', + output: 'org.mate.panel.applet.notification-area.gschema.xml', + configuration: {'GETTEXT_PACKAGE': mate_panel_gettext_package}, +) + +install_data(notification_area_gschema, install_dir: mate_panel_schemadir) diff --git a/applets/notification_area/status-notifier/meson.build b/applets/notification_area/status-notifier/meson.build new file mode 100644 index 00000000..6f6305a5 --- /dev/null +++ b/applets/notification_area/status-notifier/meson.build @@ -0,0 +1,40 @@ +status_notifier_codegen = [ + gnome.gdbus_codegen('sn-dbus-menu-gen', + 'com.canonical.dbusmenu.xml', + namespace: 'Sn', + ), + gnome.gdbus_codegen('sn-host-v0-gen', + 'org.kde.StatusNotifierHost.xml', + namespace: 'Sn', + ), + gnome.gdbus_codegen('sn-item-v0-gen', + 'org.kde.StatusNotifierItem.xml', + namespace: 'Sn', + ), + gnome.gdbus_codegen('sn-watcher-v0-gen', + 'org.kde.StatusNotifierWatcher.xml', + namespace: 'Sn', + ), +] + +libstatus_notifier = static_library('status-notifier', + 'sn-dbus-menu.c', + 'sn-dbus-menu.h', + 'sn-dbus-menu-item.c', + 'sn-dbus-menu-item.h', + 'sn-flat-button.c', + 'sn-flat-button.h', + 'sn-host-v0.c', + 'sn-host-v0.h', + 'sn-item.c', + 'sn-item.h', + 'sn-item-v0.c', + 'sn-item-v0.h', + status_notifier_codegen, + include_directories: [include_directories('.'), include_directories('..')], + dependencies: notification_area_deps + [m_dep], + c_args: [ + '-DMATELOCALEDIR="@0@"'.format(mate_panel_localedir), + '-DG_LOG_DOMAIN="notification-area-applet"', + ] + disable_deprecated_flags, +) diff --git a/applets/notification_area/system-tray/meson.build b/applets/notification_area/system-tray/meson.build new file mode 100644 index 00000000..a3add66a --- /dev/null +++ b/applets/notification_area/system-tray/meson.build @@ -0,0 +1,23 @@ +na_marshal = gnome.genmarshal('na-marshal', + sources: 'na-marshal.list', + prefix: '_na_marshal', + internal: true, +) + +libsystem_tray = static_library('system-tray', + 'fixedtip.c', + 'fixedtip.h', + na_marshal, + 'na-tray.c', + 'na-tray.h', + 'na-tray-child.c', + 'na-tray-child.h', + 'na-tray-manager.c', + 'na-tray-manager.h', + include_directories: [include_directories('.'), include_directories('..')], + dependencies: notification_area_deps + [x11_dep], + c_args: [ + '-DMATELOCALEDIR="@0@"'.format(mate_panel_localedir), + '-DG_LOG_DOMAIN="notification-area-applet"', + ] + disable_deprecated_flags, +) |
