aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2020-11-08 13:50:13 +0100
committerRobert Tari <robert@tari.in>2020-11-10 12:10:27 +0100
commitf9a39b44803e6347c72c1edd8ba46f633e99dd57 (patch)
tree558d0879ddc9318f7e9c0bb7362fd7f086fa29f0 /data
parentf872e9097ff373a172119bd3f7e9d0ef84b31ce1 (diff)
downloadayatana-indicator-notifications-f9a39b44803e6347c72c1edd8ba46f633e99dd57.tar.gz
ayatana-indicator-notifications-f9a39b44803e6347c72c1edd8ba46f633e99dd57.tar.bz2
ayatana-indicator-notifications-f9a39b44803e6347c72c1edd8ba46f633e99dd57.zip
Rewrite to indicator-ng, simplify, drop all GTK references, move to CMake
fixes #9, fixes #12
Diffstat (limited to 'data')
-rw-r--r--data/CMakeLists.txt83
-rw-r--r--data/Makefile.am21
-rw-r--r--data/ayatana-indicator-notifications.desktop.in8
-rw-r--r--data/ayatana-indicator-notifications.service.in11
-rw-r--r--data/icons/Makefile.am11
-rw-r--r--data/icons/ayatana-indicator-notification-close-deselect.svg79
-rw-r--r--data/icons/ayatana-indicator-notification-close-select.svg61
-rw-r--r--data/icons/scalable/status/ayatana-indicator-notification-read-dnd.svg (renamed from data/icons/ayatana-indicator-notification-read-dnd.svg)0
-rw-r--r--data/icons/scalable/status/ayatana-indicator-notification-read.svg (renamed from data/icons/ayatana-indicator-notification-read.svg)0
-rw-r--r--data/icons/scalable/status/ayatana-indicator-notification-unread-dnd.svg (renamed from data/icons/ayatana-indicator-notification-unread-dnd.svg)0
-rw-r--r--data/icons/scalable/status/ayatana-indicator-notification-unread.svg (renamed from data/icons/ayatana-indicator-notification-unread.svg)0
-rw-r--r--data/org.ayatana.indicator.notifications11
-rw-r--r--data/org.ayatana.indicator.notifications.gschema.xml.in25
13 files changed, 138 insertions, 172 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
new file mode 100644
index 0000000..b806dd1
--- /dev/null
+++ b/data/CMakeLists.txt
@@ -0,0 +1,83 @@
+##
+## GSettings schema
+##
+
+include (UseGSettings)
+set (SCHEMA_NAME "org.ayatana.indicator.notifications.gschema.xml")
+set (SCHEMA_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SCHEMA_NAME}")
+set (SCHEMA_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME}.in")
+
+# generate the .xml file using intltool
+set (ENV{LC_ALL} "C")
+execute_process (COMMAND intltool-merge -quiet --xml-style --utf8 --no-translations "${SCHEMA_FILE_IN}" "${SCHEMA_FILE}")
+
+# let UseGSettings do the rest
+add_schema (${SCHEMA_FILE})
+
+##
+## Systemd Unit File
+##
+
+pkg_check_modules(SYSTEMD systemd)
+if (${SYSTEMD_FOUND})
+ pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)
+ message (STATUS "${SYSTEMD_USER_DIR} is the systemd user unit file install dir")
+
+ set (SYSTEMD_USER_NAME "${CMAKE_PROJECT_NAME}.service")
+ set (SYSTEMD_USER_FILE "${CMAKE_CURRENT_BINARY_DIR}/${SYSTEMD_USER_NAME}")
+ set (SYSTEMD_USER_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${SYSTEMD_USER_NAME}.in")
+
+ # build it
+ set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}")
+ configure_file ("${SYSTEMD_USER_FILE_IN}" "${SYSTEMD_USER_FILE}")
+
+ # install it
+ install (FILES "${SYSTEMD_USER_FILE}"
+ DESTINATION "${SYSTEMD_USER_DIR}")
+endif()
+
+##
+## XDG Autostart File
+##
+
+# where to install
+set (XDG_AUTOSTART_DIR "/etc/xdg/autostart")
+message (STATUS "${XDG_AUTOSTART_DIR} is the DBus Service File install dir")
+
+set (XDG_AUTOSTART_NAME "${CMAKE_PROJECT_NAME}.desktop")
+set (XDG_AUTOSTART_FILE "${CMAKE_CURRENT_BINARY_DIR}/${XDG_AUTOSTART_NAME}")
+set (XDG_AUTOSTART_FILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/${XDG_AUTOSTART_NAME}.in")
+
+# build it
+set (pkglibexecdir "${CMAKE_INSTALL_FULL_PKGLIBEXECDIR}")
+configure_file ("${XDG_AUTOSTART_FILE_IN}" "${XDG_AUTOSTART_FILE}")
+
+# install it
+install (FILES "${XDG_AUTOSTART_FILE}"
+ DESTINATION "${XDG_AUTOSTART_DIR}")
+
+## Ayatana Indicators File
+##
+
+# where to install
+set (AYATANA_INDICATOR_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}/ayatana/indicators")
+message (STATUS "${AYATANA_INDICATOR_DIR} is the Ayatana Indicators install dir")
+
+set (AYATANA_INDICATOR_NAME "org.ayatana.indicator.notifications")
+set (AYATANA_INDICATOR_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${AYATANA_INDICATOR_NAME}")
+
+install (FILES "${AYATANA_INDICATOR_FILE}"
+ DESTINATION "${AYATANA_INDICATOR_DIR}")
+
+##
+## Icons
+##
+
+# where to install
+set (ICON_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/icons/hicolor")
+message (STATUS "${ICON_DIR} is the Icon install dir")
+
+install (DIRECTORY icons/scalable DESTINATION "${ICON_DIR}" FILES_MATCHING PATTERN "*.svg")
+
+install(CODE "execute_process (COMMAND gtk-update-icon-cache -t -f ${ICON_DIR})"
+ CODE "message (STATUS \"Updating icon cache\")")
diff --git a/data/Makefile.am b/data/Makefile.am
deleted file mode 100644
index 1960ad7..0000000
--- a/data/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-SUBDIRS = icons
-
-gsettings_file = org.ayatana.indicator.notifications.gschema.xml
-gsettings_SCHEMAS = $(gsettings_file)
-
-@INTLTOOL_XML_NOMERGE_RULE@
-
-$(gsettings_file).in: $(gsettings_file).in.in
- sed \
- -e "s|\@GETTEXT_PACKAGE\@|$(GETTEXT_PACKAGE)|" \
- $< > $@
-
-@GSETTINGS_RULES@
-
-EXTRA_DIST = \
- $(gsettings_file).in.in
-
-CLEANFILES = \
- $(gsettings_file) \
- $(gsettings_file).in \
- *.gschema.valid
diff --git a/data/ayatana-indicator-notifications.desktop.in b/data/ayatana-indicator-notifications.desktop.in
new file mode 100644
index 0000000..7dac4fd
--- /dev/null
+++ b/data/ayatana-indicator-notifications.desktop.in
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Ayatana Indicator Notifications
+Exec=@pkglibexecdir@/ayatana-indicator-notifications-service
+OnlyShowIn=Unity;MATE;XFCE;
+NoDisplay=true
+StartupNotify=false
+Terminal=false
diff --git a/data/ayatana-indicator-notifications.service.in b/data/ayatana-indicator-notifications.service.in
new file mode 100644
index 0000000..223cea9
--- /dev/null
+++ b/data/ayatana-indicator-notifications.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Ayatana Indicator Notifications
+PartOf=graphical-session.target
+PartOf=ayatana-indicators.target
+
+[Service]
+ExecStart=@pkglibexecdir@/ayatana-indicator-notifications-service
+Restart=on-failure
+
+[Install]
+WantedBy=ayatana-indicators.target
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
deleted file mode 100644
index 47d1ac1..0000000
--- a/data/icons/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-iconsdir = $(INDICATORICONSDIR)
-
-icons_DATA = \
- ayatana-indicator-notification-close-select.svg \
- ayatana-indicator-notification-close-deselect.svg \
- ayatana-indicator-notification-read.svg \
- ayatana-indicator-notification-read-dnd.svg \
- ayatana-indicator-notification-unread.svg \
- ayatana-indicator-notification-unread-dnd.svg
-
-EXTRA_DIST = $(icons_DATA)
diff --git a/data/icons/ayatana-indicator-notification-close-deselect.svg b/data/icons/ayatana-indicator-notification-close-deselect.svg
deleted file mode 100644
index 3e92220..0000000
--- a/data/icons/ayatana-indicator-notification-close-deselect.svg
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="24"
- height="24"
- id="svg3920"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="New document 5">
- <defs
- id="defs3922" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.2"
- inkscape:cx="4.1773985"
- inkscape:cy="15.060459"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="959"
- inkscape:window-height="576"
- inkscape:window-x="65"
- inkscape:window-y="24"
- inkscape:window-maximized="1" />
- <metadata
- id="metadata3925">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-1028.3622)">
- <path
- style="fill:#e6ddd5;fill-opacity:1;stroke:#333333;stroke-width:1;stroke-opacity:1"
- d="M 6.34375 2.84375 C 5.8871312 2.84375 5.4436349 3.0251151 5.09375 3.375 L 3.375 5.09375 C 2.6752302 5.7935198 2.6752302 6.8939802 3.375 7.59375 L 7.78125 12 L 3.375 16.40625 C 2.6752302 17.10602 2.6752302 18.20648 3.375 18.90625 L 5.09375 20.625 C 5.7935198 21.32477 6.8939802 21.32477 7.59375 20.625 L 12 16.21875 L 16.40625 20.625 C 17.10602 21.32477 18.20648 21.32477 18.90625 20.625 L 20.625 18.90625 C 21.32477 18.20648 21.32477 17.10602 20.625 16.40625 L 16.21875 12 L 20.625 7.59375 C 21.32477 6.8939802 21.32477 5.7935198 20.625 5.09375 L 18.90625 3.375 C 18.20648 2.6752302 17.10602 2.6752302 16.40625 3.375 L 12 7.78125 L 7.59375 3.375 C 7.2438651 3.0251151 6.8003688 2.84375 6.34375 2.84375 z "
- transform="translate(0,1028.3622)"
- id="rect3928" />
- <rect
- style="fill:#333333;fill-opacity:1;stroke:none"
- id="rect4479"
- width="3"
- height="19"
- x="-728.66187"
- y="734.63245"
- ry="0.91624337"
- transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
- <rect
- ry="0.91624337"
- y="717.66187"
- x="742.63245"
- height="19"
- width="3"
- id="rect4487"
- style="fill:#333333;fill-opacity:1;stroke:none"
- transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,0,0)" />
- </g>
-</svg>
diff --git a/data/icons/ayatana-indicator-notification-close-select.svg b/data/icons/ayatana-indicator-notification-close-select.svg
deleted file mode 100644
index 21f5026..0000000
--- a/data/icons/ayatana-indicator-notification-close-select.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="24"
- height="24"
- id="svg3920"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="indicator-notification-close-deselect.svg">
- <defs
- id="defs3922" />
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.2"
- inkscape:cx="4.1773985"
- inkscape:cy="15.060459"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="959"
- inkscape:window-height="576"
- inkscape:window-x="65"
- inkscape:window-y="24"
- inkscape:window-maximized="1" />
- <metadata
- id="metadata3925">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(0,-1028.3622)">
- <path
- style="fill:#e6ddd5;fill-opacity:1;stroke:#333333;stroke-width:1;stroke-opacity:1"
- d="M 6.34375 2.84375 C 5.8871312 2.84375 5.4436349 3.0251151 5.09375 3.375 L 3.375 5.09375 C 2.6752302 5.7935198 2.6752302 6.8939802 3.375 7.59375 L 7.78125 12 L 3.375 16.40625 C 2.6752302 17.10602 2.6752302 18.20648 3.375 18.90625 L 5.09375 20.625 C 5.7935198 21.32477 6.8939802 21.32477 7.59375 20.625 L 12 16.21875 L 16.40625 20.625 C 17.10602 21.32477 18.20648 21.32477 18.90625 20.625 L 20.625 18.90625 C 21.32477 18.20648 21.32477 17.10602 20.625 16.40625 L 16.21875 12 L 20.625 7.59375 C 21.32477 6.8939802 21.32477 5.7935198 20.625 5.09375 L 18.90625 3.375 C 18.20648 2.6752302 17.10602 2.6752302 16.40625 3.375 L 12 7.78125 L 7.59375 3.375 C 7.2438651 3.0251151 6.8003688 2.84375 6.34375 2.84375 z "
- transform="translate(0,1028.3622)"
- id="rect3928" />
- </g>
-</svg>
diff --git a/data/icons/ayatana-indicator-notification-read-dnd.svg b/data/icons/scalable/status/ayatana-indicator-notification-read-dnd.svg
index d262e90..d262e90 100644
--- a/data/icons/ayatana-indicator-notification-read-dnd.svg
+++ b/data/icons/scalable/status/ayatana-indicator-notification-read-dnd.svg
diff --git a/data/icons/ayatana-indicator-notification-read.svg b/data/icons/scalable/status/ayatana-indicator-notification-read.svg
index 97e1f1e..97e1f1e 100644
--- a/data/icons/ayatana-indicator-notification-read.svg
+++ b/data/icons/scalable/status/ayatana-indicator-notification-read.svg
diff --git a/data/icons/ayatana-indicator-notification-unread-dnd.svg b/data/icons/scalable/status/ayatana-indicator-notification-unread-dnd.svg
index 23b859e..23b859e 100644
--- a/data/icons/ayatana-indicator-notification-unread-dnd.svg
+++ b/data/icons/scalable/status/ayatana-indicator-notification-unread-dnd.svg
diff --git a/data/icons/ayatana-indicator-notification-unread.svg b/data/icons/scalable/status/ayatana-indicator-notification-unread.svg
index beb2292..beb2292 100644
--- a/data/icons/ayatana-indicator-notification-unread.svg
+++ b/data/icons/scalable/status/ayatana-indicator-notification-unread.svg
diff --git a/data/org.ayatana.indicator.notifications b/data/org.ayatana.indicator.notifications
new file mode 100644
index 0000000..ec72e17
--- /dev/null
+++ b/data/org.ayatana.indicator.notifications
@@ -0,0 +1,11 @@
+[Indicator Service]
+Name=ayatana-indicator-notifications
+ObjectPath=/org/ayatana/indicator/notifications
+Position=100
+
+[phone]
+ObjectPath=/org/ayatana/indicator/notifications/phone
+Position=25
+
+[desktop]
+ObjectPath=/org/ayatana/indicator/notifications/desktop
diff --git a/data/org.ayatana.indicator.notifications.gschema.xml.in b/data/org.ayatana.indicator.notifications.gschema.xml.in
new file mode 100644
index 0000000..b85f14b
--- /dev/null
+++ b/data/org.ayatana.indicator.notifications.gschema.xml.in
@@ -0,0 +1,25 @@
+<schemalist gettext-domain="@GETTEXT_PACKAGE@">
+ <schema id="org.ayatana.indicator.notifications" path="/org/ayatana/indicator/notifications/">
+ <key name="filter-list" type="as">
+ <default>[]</default>
+ <_summary>Discard notifications by application name</_summary>
+ <_description>If an application name is in the filter list, all notifications matching the application name will be discarded.</_description>
+ </key>
+ <key name="filter-list-hints" type="as">
+ <default>[]</default>
+ <summary>Recent application names to suggest for the filter list</summary>
+ <description>Keeps track of recent application names so we can suggest them in the settings.</description>
+ </key>
+ <key name="do-not-disturb" type="b">
+ <default>false</default>
+ <summary>Enable do-not-disturb mode</summary>
+ <description>On supported desktops enables do-not-disturb mode on the notification daemon.</description>
+ </key>
+ <key name="max-items" type="i">
+ <range min="1" max="10"/>
+ <default>5</default>
+ <_summary>Maximum number of visible items</_summary>
+ <_description>The indicator will only display at most the number of notifications indicated by this value.</_description>
+ </key>
+ </schema>
+</schemalist>