Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • trisquel/package-helpers
  • aklis/package-helpers
  • leny2010/package-helpers
  • fr33domlover/package-helpers
  • Legimet/package-helpers
  • ralphtheninja/package-helpers
  • damo22/package-helpers
  • wherrfrye/package-helpers
  • habs/package-helpers
  • pehjota/package-helpers
  • kpengboy/package-helpers
  • alvaro/package-helpers
  • salman/package-helpers
  • pabloyoyoista/package-helpers
  • mixalis/package-helpers
  • jorgesumle/package-helpers
  • a_slacker_here/package-helpers
  • chaosmonk/package-helpers
  • Beformed/package-helpers
  • dknight/package-helpers
  • proninyaroslav/package-helpers
  • adfeno/package-helpers
  • snd/package-helpers
  • davidpgil/package-helpers
  • diopon/package-helpers
  • ruben/package-helpers
  • bandali/package-helpers
  • joshaspinall/package-helpers
  • GNUtoo/package-helpers
  • Ark74/package-helpers
  • dragestil/package-helpers
  • bill-auger/package-helpers
  • andi89gi/package-helpers
  • Fikar/package-helpers
  • davidl/package-helpers
  • jas/package-helpers
  • parodper/package-helpers
  • David_Hedlund/package-helpers
  • dinomug/package-helpers
  • bf/package-helpers
  • hartkemd/package-helpers
  • del111/package-helpers
  • jxself/package-helpers
  • JacobK/package-helpers
44 results
Show changes
Commits on Source (660)
Showing
with 984 additions and 36 deletions
......@@ -39,7 +39,7 @@ Those are the steps done by the helpers:
* You don't need to use sudo in order to run those scripts, but some extra packages are needed:
`sudo apt-get install cdbs devscripts dpkg-dev git gnupg patch quilt rpl sed python3-jsonschema python-pathlib`
`sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch python2 quilt rename rpl sed python3-jsonschema`
* Take care to use the right sourcePackageName, many source packages produce
several binary packages. `apt-cache showsrc binary-package` can help you.
......@@ -54,6 +54,23 @@ of the upstream package. Well written regexps and sed will help with that.
and running `dpkg-source -b .`, before being added to the helper script
* You can check the status of failed build at https://jenkins.trisquel.org/job/build-watchdog/lastBuild/consoleText
## Debootstrap
On every new release we need to get compiled the very basic packages in order
to create a trisquel base builder.
Before that we currently relay on a upstream debootstrap image, so creating a
trisquel debootstrap is the starting point.
Every new release need the following packages taken care of first,
* `make-apt`
* `make-base-files`
* `make-bash`
* `make-debootstrap`
* `make-dpkg`
* `make-cdebconf`
* `trisquel-keyring` (not as helper)
* `trisquel-meta` (not as helper)
## Netinstall
Included are the set of scipts used to generate the network installer images
......
--- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500
+++ src/akregator_part_trisquel.cpp 2020-06-05 12:46:05.914051386 -0500
@@ -189,6 +189,66 @@
@@ -189,6 +189,61 @@
wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2"));
kubuntuFolder.appendChild(wire);
......@@ -11,22 +11,22 @@
+
+ QDomElement tnews = doc.createElement(QStringLiteral("outline"));
+ tnews.setAttribute(QStringLiteral("text"), i18n("News"));
+ tnews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://trisquel.info/en/node/feed"));
+ tnews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/node/feed"));
+ trisquelFolder.appendChild(tnews);
+
+ QDomElement relAnnounce = doc.createElement(QStringLiteral("outline"));
+ relAnnounce.setAttribute(QStringLiteral("text"), i18n("Release announcements"));
+ relAnnounce.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://trisquel.info/en/taxonomy/term/700/0/feed"));
+ relAnnounce.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/taxonomy/term/700/0/feed"));
+ trisquelFolder.appendChild(relAnnounce);
+
+ QDomElement enForum = doc.createElement(QStringLiteral("outline"));
+ enForum.setAttribute(QStringLiteral("text"), i18n("Forum"));
+ enForum.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://trisquel.info/en/taxonomy/term/50/0/feed"));
+ enForum.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://trisquel.info/en/taxonomy/term/50/0/feed"));
+ trisquelFolder.appendChild(enForum);
+
+ QDomElement tReddit = doc.createElement(QStringLiteral("outline"));
+ tReddit.setAttribute(QStringLiteral("text"), i18n("Trisquel at Reddit"));
+ tReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://www.reddit.com/r/trisquel/.rss"));
+ tReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/trisquel/.rss"));
+ trisquelFolder.appendChild(tReddit);
+
+// Free Software feeds
......@@ -36,32 +36,27 @@
+
+ QDomElement newGNU = doc.createElement(QStringLiteral("outline"));
+ newGNU.setAttribute(QStringLiteral("text"), i18n("What's New at GNU"));
+ newGNU.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://www.reddit.com/r/trisquel/.rss"));
+ newGNU.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/trisquel/.rss"));
+ fsFolder.appendChild(newGNU);
+
+ QDomElement fsfNews = doc.createElement(QStringLiteral("outline"));
+ fsfNews.setAttribute(QStringLiteral("text"), i18n("FSF News"));
+ fsfNews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://static.fsf.org/fsforg/rss/news.xml"));
+ fsfNews.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/news.xml"));
+ fsFolder.appendChild(fsfNews);
+
+ QDomElement fsfEvents = doc.createElement(QStringLiteral("outline"));
+ fsfEvents.setAttribute(QStringLiteral("text"), i18n("FSF Events"));
+ fsfEvents.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://static.fsf.org/fsforg/rss/events.xml"));
+ fsfEvents.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/events.xml"));
+ fsFolder.appendChild(fsfEvents);
+
+ QDomElement fsfBlog = doc.createElement(QStringLiteral("outline"));
+ fsfBlog.setAttribute(QStringLiteral("text"), i18n("FSF Blogs"));
+ fsfBlog.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://static.fsf.org/fsforg/rss/blogs.xml"));
+ fsfBlog.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://static.fsf.org/fsforg/rss/blogs.xml"));
+ fsFolder.appendChild(fsfBlog);
+
+ QDomElement fsDaily = doc.createElement(QStringLiteral("outline"));
+ fsDaily.setAttribute(QStringLiteral("text"), i18n("fsdaily.com - Free Software News"));
+ fsDaily.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://www.fsdaily.com/feed/published/All"));
+ fsFolder.appendChild(fsDaily);
+
+ QDomElement gnuReddit = doc.createElement(QStringLiteral("outline"));
+ gnuReddit.setAttribute(QStringLiteral("text"), i18n("GNU at Reddit"));
+ gnuReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://www.reddit.com/r/gnu/.rss"));
+ gnuReddit.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("https://www.reddit.com/r/gnu/.rss"));
+ fsFolder.appendChild(gnuReddit);
+
return doc;
......
From 70aed868a4ed76d74eecf3b210ce7bf3098ffab4 Mon Sep 17 00:00:00 2001
From: Jacob K <jacobk@disroot.org>
Date: Wed, 12 Feb 2025 12:19:24 -0600
Subject: [PATCH] Add some lines from Atril's profile to fix the screen reader
---
profiles/usr.bin.pidgin | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin
index 5e18702..085301c 100644
--- a/profiles/usr.bin.pidgin
+++ b/profiles/usr.bin.pidgin
@@ -8,6 +8,7 @@
#include <abstractions/bash>
#include <abstractions/dbus-session>
#include <abstractions/dbus-strict>
+ #include <abstractions/dbus-accessibility>
#include <abstractions/dconf>
#include <abstractions/enchant>
#include <abstractions/gnome>
@@ -82,6 +83,13 @@
owner @{PROC}/@{pid}/auxv r,
owner @{PROC}/@{pid}/fd/ r,
+ # These lines were copied from Atril's profile to make the screen reader functional
+ owner /{,var/}run/user/*/at-spi2-*/ rw,
+ owner /{,var/}run/user/*/at-spi2-*/** rw,
+ # Allow access to the non-abstract D-Bus socket used by at-spi > 2.42.0
+ # https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43
+ owner /{,var/}run/user/*/at-spi/bus* rw,
+
# Site-specific additions and overrides. See local/README for details.
#include <local/usr.bin.pidgin>
}
--
2.25.1
From b5a7641dd3502fcfb897d3b96e197628b674ce3c Mon Sep 17 00:00:00 2001
From: Adrian Heine <mail@adrianheine.de>
Date: Mon, 23 Jan 2023 20:35:29 +0100
Subject: [PATCH] Add pipewire client.conf to audio abstractions
Fixes: https://bugs.launchpad.net/bugs/2003702
---
profiles/apparmor.d/abstractions/audio | 3 +++
1 file changed, 3 insertions(+)
diff --git a/profiles/apparmor.d/abstractions/audio b/profiles/apparmor.d/abstractions/audio
index 01493260d..dd783992d 100644
--- a/profiles/apparmor.d/abstractions/audio
+++ b/profiles/apparmor.d/abstractions/audio
@@ -85,5 +85,8 @@ owner @{HOME}/.local/share/openal/hrtf/{,**} r,
# wildmidi
/etc/wildmidi/wildmidi.cfg r,
+# pipewire
+/usr/share/pipewire/client.conf r,
+
# Include additions to the abstraction
include if exists <abstractions/audio.d>
--
GitLab
......@@ -14,14 +14,14 @@ set _tilde 0
#
############# end config ##############
deb http://archive.trisquel.info/trisquel @CODENAME@ main
deb http://archive.trisquel.info/trisquel @CODENAME@-security main
deb http://archive.trisquel.info/trisquel @CODENAME@-updates main
deb http://archive.trisquel.info/trisquel @CODENAME@-backports main
deb http://archive.trisquel.org/trisquel @CODENAME@ main
deb http://archive.trisquel.org/trisquel @CODENAME@-security main
deb http://archive.trisquel.org/trisquel @CODENAME@-updates main
deb http://archive.trisquel.org/trisquel @CODENAME@-backports main
deb-src http://archive.trisquel.info/trisquel @CODENAME@ main
deb-src http://archive.trisquel.info/trisquel @CODENAME@-security main
deb-src http://archive.trisquel.info/trisquel @CODENAME@-updates main
deb-src http://archive.trisquel.info/trisquel @CODENAME@-backports main
deb-src http://archive.trisquel.org/trisquel @CODENAME@ main
deb-src http://archive.trisquel.org/trisquel @CODENAME@-security main
deb-src http://archive.trisquel.org/trisquel @CODENAME@-updates main
deb-src http://archive.trisquel.org/trisquel @CODENAME@-backports main
clean http://archive.trisquel.info/trisquel
clean http://archive.trisquel.org/trisquel
......@@ -6,15 +6,15 @@
<!ENTITY keyring-master-filename "/usr/share/keyrings/trisquel-master-keyring.gpg">
<!ENTITY keyring-uri "http://archive.trisquel.org/trisquel/trisquel-archive-signkey.gpg">
<!ENTITY sourceslist-list-format "deb http://es.archive.trisquel.org/trisquel &trisquel-codename; main
deb http://es.archive.trisquel.org/trisquel &trisquel-codename;-security main
deb http://es.archive.trisquel.org/trisquel &trisquel-codename;-updates main">
<!ENTITY sourceslist-list-format "deb http://archive.trisquel.org/trisquel &trisquel-codename; main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main">
<!ENTITY sourceslist-sources-format "Types: deb
URIs: http://es.archive.trisquel.org/trisquel
URIs: http://archive.trisquel.org/trisquel
Suites: &trisquel-codename; &trisquel-codename;-updates
Components: main
Types: deb
URIs: http://es.archive.trisquel.org/trisquel
URIs: http://archive.trisquel.org/trisquel
Suites: &trisquel-codename;-security
Components: main">
# See sources.list(5) manpage for more information
# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool.
deb http://es.archive.trisquel.org/trisquel &trisquel-codename; main
deb-src http://es.archive.trisquel.org/trisquel &trisquel-codename; main
deb http://archive.trisquel.org/trisquel &trisquel-codename; main
deb-src http://archive.trisquel.org/trisquel &trisquel-codename; main
deb http://es.archive.trisquel.org/trisquel &trisquel-codename;-security main
deb-src http://es.archive.trisquel.org/trisquel &trisquel-codename;-security main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main
deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-security main
deb http://es.archive.trisquel.org/trisquel &trisquel-codename;-updates main
deb-src http://es.archive.trisquel.org/trisquel &trisquel-codename;-updates main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main
deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-updates main
helpers/DATA/arctica-greeter/badge.png

718 B

helpers/DATA/arctica-greeter/cof.png

2.58 KiB

helpers/DATA/arctica-greeter/logo-bare.png

3.01 KiB

helpers/DATA/arctica-greeter/logo.png

12 KiB

<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="arctica-greeter">
<schema id="org.ArcticaProject.arctica-greeter" path="/org/ArcticaProject/arctica-greeter/">
<key name="background" type="s">
<default>'/usr/share/backgrounds/aramo.jpg'</default>
<summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
</key>
<key name="background-color" type="s">
<default>'#000000'</default>
<summary>Background color (e.g. #772953), set before wallpaper is seen</summary>
</key>
<key name="togglebox-font-fgcolor" type="s">
<default>'#A0A0A0'</default>
<summary>Font foreground color (e.g. #A0A0A0) for selected session names in session list</summary>
</key>
<key name="togglebox-button-bgcolor" type="s">
<default>'#2F70C6'</default>
<summary>Font foreground color (e.g. #202020) for selected session names in session list</summary>
</key>
<key name="draw-user-backgrounds" type="b">
<default>true</default>
<summary>Whether to draw user backgrounds</summary>
</key>
<key name="draw-grid" type="b">
<default>false</default>
<summary>Whether to draw an overlay grid</summary>
</key>
<key name="show-hostname" type="b">
<default>true</default>
<summary>Whether to show the hostname in the menubar</summary>
</key>
<key name="logo" type="s">
<default>'/usr/share/arctica-greeter/logo.png'</default>
<summary>Logo file to use</summary>
</key>
<key name="theme-name" type="s">
<default>'Trisquel-dark'</default>
<summary>GTK+ theme to use</summary>
</key>
<key name="icon-theme-name" type="s">
<default>'trisquel'</default>
<summary>Icon theme to use</summary>
</key>
<key name="font-name" type="s">
<default>'Sans 11'</default>
<summary>Font to use</summary>
</key>
<key name="xft-antialias" type="b">
<default>true</default>
<summary>Whether to antialias Xft fonts</summary>
</key>
<key name="xft-dpi" type="d">
<default>96</default>
<summary>Resolution for Xft in dots per inch</summary>
</key>
<key name="xft-hintstyle" type="s">
<choices>
<choice value='hintnone'/>
<choice value='hintslight'/>
<choice value='hintmedium'/>
<choice value='hintfull'/>
</choices>
<default>'hintslight'</default>
<summary>What degree of hinting to use</summary>
</key>
<key name="xft-rgba" type="s">
<choices>
<choice value='none'/>
<choice value='rgb'/>
<choice value='bgr'/>
<choice value='vrgb'/>
<choice value='vbgr'/>
</choices>
<default>'rgb'</default>
<summary>Type of subpixel antialiasing</summary>
</key>
<key name="onscreen-keyboard" type="b">
<default>false</default>
<summary>Whether to enable the onscreen keyboard</summary>
</key>
<key name="high-contrast" type="b">
<default>false</default>
<summary>Whether to use a high contrast theme</summary>
</key>
<key name="screen-reader" type="b">
<default>false</default>
<summary>Whether to enable the screen reader</summary>
</key>
<key name="play-ready-sound" type="b">
<default>true</default>
<summary>Whether to play sound when greeter is ready</summary>
</key>
<key name="indicators" type="as">
<default>['ug-accessibility', 'org.ayatana.indicator.keyboard', 'org.ayatana.indicator.session', 'org.ayatana.indicator.datetime', 'org.ayatana.indicator.power', 'org.ayatana.indicator.sound', 'ayatana-application']</default>
<summary>Which indicators to load</summary>
</key>
<key name="hidden-users" type="as">
<default>[]</default>
<summary>List of usernames that are hidden until a special key combination is hit</summary>
</key>
<key name="group-filter" type="as">
<default>[]</default>
<summary>List of groups that users must be part of to be shown (empty list shows all users)</summary>
</key>
<key name="idle-timeout" type="i">
<default>300</default>
<summary>Number of seconds of inactivity before blanking the screen. Set to 0 to never timeout.</summary>
</key>
<key name="enable-hidpi" type="s">
<choices>
<choice value='on'/>
<choice value='off'/>
<choice value='auto'/>
</choices>
<default>'auto'</default>
<summary>Whether to enable HiDPI support</summary>
</key>
<key name="remote-service-configure-uri" type="s">
<default>''</default>
<summary>Default FQDN for host offering Remote Logon Service</summary>
</key>
<key name="activate-numlock" type="b">
<default>false</default>
<summary>Whether to activate numlock. This features requires the installation of numlockx.</summary>
</key>
<key name="only-on-monitor" type="s">
<default>'auto'</default>
<summary>Monitor on which to show the Login GUI</summary>
</key>
</schema>
</schemalist>
File added
# vim:syntax=apparmor
# evince is not written with application confinement in mind and is designed to
# operate within a trusted desktop session where anything running within the
# user's session is trusted. That said, evince will often process untrusted
# input (PDFs, images, etc). Ideally evince would be written in such a way that
# image processing is separate from the main process and that processing
# happens in a restrictive sandbox, but unfortunately that is not currently the
# case. Because evince will process untrusted input, this profile aims to
# provide some hardening, but considering evince's design and other factors such
# as X, gsettings, accessibility, translations, DBus session and system
# services, etc, complete confinement is not possible.
#include <tunables/global>
/usr/bin/atril {
#include <abstractions/audio>
#include <abstractions/bash>
#include <abstractions/cups-client>
#include <abstractions/dbus-accessibility>
#include <abstractions/atril>
#include <abstractions/ibus>
#include <abstractions/nameservice>
#include <abstractions/ubuntu-browsers>
#include <abstractions/ubuntu-console-browsers>
#include <abstractions/ubuntu-email>
#include <abstractions/ubuntu-console-email>
#include <abstractions/ubuntu-media-players>
# allow atril to spawn browsers distributed as snaps (LP: #1794064)
#include <abstractions/snap_browsers>
# For now, let atril talk to any session services over dbus. We can
# blacklist any problematic ones (but note, evince uses libsecret :\)
#include <abstractions/dbus-session>
#include <abstractions/dbus-strict>
dbus (receive) bus=system,
# Allow getting information from various system services
dbus (send)
bus=system
member="Get*"
peer=(label=unconfined),
# Allow talking to avahi with whatever polkit allows
dbus (send)
bus=system
interface="org.freedesktop.Avahi{,.*}",
# Allow talking to colord with whatever polkit allows
dbus (send)
bus=system
interface="org.freedesktop.ColorManager{,.*}",
# Terminals for using console applications. These abstractions should ideally
# have 'ix' to restrict access to what only atril is allowed to do
#include <abstractions/ubuntu-gnome-terminal>
# By default, we won't support launching a terminal program in Xterm or
# KDE's konsole. It opens up too many unnecessary files for most users.
# People who need this functionality can uncomment the following:
##include <abstractions/ubuntu-xterm>
##include <abstractions/ubuntu-konsole>
/usr/bin/atril rmPx,
/usr/bin/atril-previewer Px,
/usr/bin/yelp Cx -> sanitized_helper,
/usr/bin/bug-buddy px,
# 'Show Containing Folder' (LP: #1022962)
/usr/bin/nautilus Cx -> sanitized_helper, # Gnome
/usr/bin/pcmanfm Cx -> sanitized_helper, # LXDE
/usr/bin/krusader Cx -> sanitized_helper, # KDE
/usr/bin/thunar Cx -> sanitized_helper, # XFCE
# Print Dialog
/usr/lib/@{multiarch}/libproxy/*/pxgsettings Cx -> sanitized_helper,
# For Xubuntu to launch the browser
#include <abstractions/exo-open>
# For text attachments
/usr/bin/gedit ixr,
# For Send to
/usr/bin/nautilus-sendto Cx -> sanitized_helper,
# GLib desktop launch helper (used under the hood by g_app_info_launch)
/usr/lib/@{multiarch}/glib-[0-9]*/gio-launch-desktop rmix,
/usr/bin/env ixr,
# allow directory listings (ie 'r' on directories) so browsing via the file
# dialog works
/ r,
/**/ r,
# This is need for saving files in your home directory without an extension.
# Changing this to '@{HOME}/** r' makes it require an extension and more
# secure (but with 'rw', we still have abstractions/private-files-strict in
# effect).
owner @{HOME}/** rw,
owner /media/** rw,
owner @{HOME}/.local/share/gvfs-metadata/** l,
owner /{,var/}run/user/*/gvfs-metadata/** l,
# Maybe add to an abstraction?
/etc/dconf/** r,
owner @{HOME}/.cache/dconf/user rw,
owner @{HOME}/.config/dconf/user r,
owner @{HOME}/.config/enchant/* rk,
owner /{,var/}run/user/*/dconf/ w,
owner /{,var/}run/user/*/dconf/user rw,
owner /{,var/}run/user/*/dconf-service/keyfile/ w,
owner /{,var/}run/user/*/dconf-service/keyfile/user rw,
owner /{,var/}run/user/*/at-spi2-*/ rw,
owner /{,var/}run/user/*/at-spi2-*/** rw,
# Allow access to the non-abstract D-Bus socket used by at-spi > 2.42.0
# https://gitlab.gnome.org/GNOME/at-spi2-core/-/issues/43
owner /{,var/}run/user/*/at-spi/bus* rw,
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
# read and write for all supported file formats
/**.[aA][iI] rw,
/**.[bB][mM][pP] rw,
/**.[dD][jJ][vV][uU] rw,
/**.[dD][vV][iI] rw,
/**.[gG][iI][fF] rw,
/**.[jJ][pP][gG] rw,
/**.[jJ][pP][eE][gG] rw,
/**.[oO][dD][pP] rw,
/**.[fFpP][dD][fF] rw,
/**.[pP][nN][mM] rw,
/**.[pP][nN][gG] rw,
/**.[pP][sS] rw,
/**.[eE][pP][sS] rw,
/**.[tT][iI][fF] rw,
/**.[tT][iI][fF][fF] rw,
/**.[xX][pP][mM] rw,
/**.[gG][zZ] rw,
/**.[bB][zZ]2 rw,
/**.[cC][bB][rRzZ7] rw,
/**.[xX][zZ] rw,
# atril creates a temporary stream file like '.goutputstream-XXXXXX' in the
# directory a file is saved. This allows that behavior.
owner /**/.goutputstream-* w,
# allow atril to spawn browsers distributed as snaps (LP: #1794064)
/{,snap/core/[0-9]*/,snap/snapd/[0-9]*/}usr/bin/snap mrCx -> snap_browsers,
}
/usr/bin/atril-previewer {
#include <abstractions/audio>
#include <abstractions/bash>
#include <abstractions/cups-client>
#include <abstractions/dbus-accessibility>
#include <abstractions/atril>
#include <abstractions/ibus>
#include <abstractions/nameservice>
#include <abstractions/ubuntu-browsers>
#include <abstractions/ubuntu-console-browsers>
#include <abstractions/ubuntu-email>
#include <abstractions/ubuntu-console-email>
#include <abstractions/ubuntu-media-players>
# For now, let atril talk to any session services over dbus. We can
# blacklist any problematic ones (but note, evince uses libsecret :\)
#include <abstractions/dbus-session>
#include <abstractions/dbus-strict>
dbus (receive) bus=system,
# Allow getting information from various system services
dbus (send)
bus=system
member="Get*"
peer=(label=unconfined),
# Allow talking to avahi with whatever polkit allows
dbus (send)
bus=system
interface="org.freedesktop.Avahi{,.*}",
# Allow talking to colord with whatever polkit allows
dbus (send)
bus=system
interface="org.freedesktop.ColorManager{,.*}",
# Terminals for using console applications. These abstractions should ideally
# have 'ix' to restrict access to what only atril is allowed to do
#include <abstractions/ubuntu-gnome-terminal>
# By default, we won't support launching a terminal program in Xterm or
# KDE's konsole. It opens up too many unnecessary files for most users.
# People who need this functionality can uncomment the following:
##include <abstractions/ubuntu-xterm>
/usr/bin/atril-previewer mr,
/usr/bin/yelp Cx -> sanitized_helper,
/usr/bin/bug-buddy px,
# Lenient, but remember we still have abstractions/private-files-strict in
# effect). Write is needed for 'print to file' from the previewer.
@{HOME}/ r,
@{HOME}/** rw,
# Maybe add to an abstraction?
owner /{,var/}run/user/*/dconf/ w,
owner /{,var/}run/user/*/dconf/user rw,
}
/usr/bin/atril-thumbnailer {
#include <abstractions/base>
#include <abstractions/private-files-strict>
#include <abstractions/fonts>
deny @{HOME}/.{,cache/}fontconfig/** wl,
deny @{HOME}/missfont.log wl,
#include <abstractions/dbus-session-strict>
dbus (receive) bus=session,
dbus (send)
bus=session
path="/org/gtk/vfs/mounttracker"
interface="org.gtk.vfs.MountTracker"
member="ListMountableInfo"
peer=(label=unconfined),
# updating gvfs-metadata for thumbnails is unneeded, so explicitly deny it
deny dbus (send)
bus=session
path="/org/gtk/vfs/metadata"
interface="org.gtk.vfs.Metadata"
member="GetTreeFromDevice"
peer=(label=unconfined),
deny @{HOME}/.local/share/gvfs-metadata/* r,
dbus (send)
bus=session
path="/org/gtk/vfs/Daemon"
interface="org.gtk.vfs.Daemon"
member="List*"
peer=(label=unconfined),
# The thumbnailer doesn't need access to everything in the nameservice
# abstraction. Allow reading of /etc/passwd and /etc/group, but suppress
# logging denial of nsswitch.conf.
/etc/passwd r,
/etc/group r,
deny /etc/nsswitch.conf r,
# TCP/UDP network access for NFS
network inet stream,
network inet6 stream,
network inet dgram,
network inet6 dgram,
/etc/papersize r,
/usr/bin/atril-thumbnailer mr,
/etc/texmf/ r,
/etc/texmf/** r,
/etc/xpdf/* r,
/usr/bin/gs-esp ixr,
# Silence these denials since 'no new privs' drops transitions to
# sanitized_helper, we don't want all those perms in the thumbnailer
# and the thumbnailer generates thumbnails without these just fine.
deny /usr/bin/mktexpk x,
deny /usr/bin/mktextfm x,
deny /usr/bin/dvipdfm x,
deny /usr/bin/dvipdfmx x,
deny /usr/bin/mkofm x,
# supported archivers
/{usr/,}bin/gzip ixr,
/{usr/,}bin/bzip2 ixr,
/usr/bin/unrar* ixr,
/usr/bin/unzip ixr,
/usr/bin/7zr ixr,
/usr/lib/p7zip/7zr ixr,
/usr/bin/7za ixr,
/usr/lib/p7zip/7za ixr,
/usr/bin/zipnote ixr,
/{usr/,}bin/tar ixr,
/usr/bin/xz ixr,
# miscellaneous access for the above
owner @{PROC}/@{pid}/fd/ r,
owner @{PROC}/@{pid}/mountinfo r,
/sys/devices/system/cpu/ r,
# allow read access to anything in /usr/share, for plugins and input methods
/usr/local/share/** r,
/usr/share/** r,
/usr/lib/ghostscript/** mr,
/var/lib/ghostscript/** r,
/var/lib/texmf/** r,
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
# read for all supported file formats
/**.[bB][mM][pP] r,
/**.[dD][jJ][vV][uU] r,
/**.[dD][vV][iI] r,
/**.[gG][iI][fF] r,
/**.[jJ][pP][gG] r,
/**.[jJ][pP][eE][gG] r,
/**.[oO][dD][pP] r,
/**.[fFpP][dD][fF] r,
/**.[pP][nN][mM] r,
/**.[pP][nN][gG] r,
/**.[pP][sS] r,
/**.[eE][pP][sS] r,
/**.[eE][pP][sS][fFiI23] r,
/**.[tT][iI][fF] r,
/**.[tT][iI][fF][fF] r,
/**.[xX][pP][mM] r,
/**.[gG][zZ] r,
/**.[bB][zZ]2 r,
/**.[cC][bB][rRzZ7] r,
/**.[xX][zZ] r,
owner @{HOME}/.texlive*/** r,
owner @{HOME}/.texmf*/** r,
owner @{HOME}/.local/share/{,flatpak/exports/share/}mime/** r,
owner @{HOME}/.local/share/{,flatpak/exports/share/}mime/** r,
# With the network rules above, this allows data exfiltration for files
# not covered by private-files-strict.
@{HOME}/ r,
owner @{HOME}/[^.]** r,
owner /media/** r,
owner /tmp/.gnome_desktop_thumbnail* w,
owner /tmp/gnome-desktop-* rw,
owner /tmp/atril-thumbnailer*/{,**} rw,
# these happen post pivot_root
/ r,
deny /missfont.log w,
# Add apparmor rule for mate's caja - LP#1798091
owner /tmp/.mate_desktop_thumbnail* w,
owner /tmp/mate-desktop-thumbnailer* w,
# Fix thumbnail issue #915024
owner @{HOME}/.cache/thumbnails/** rw,
owner /tmp/atril-thumbnailer* rw,
}
# vim:syntax=apparmor
#
# abstraction used by atril binaries
#
#include <abstractions/gnome>
#include <abstractions/p11-kit>
#include <abstractions/ubuntu-helpers>
@{PROC}/[0-9]*/fd/ r,
@{PROC}/[0-9]*/mountinfo r,
owner @{PROC}/[0-9]*/auxv r,
owner @{PROC}/[0-9]*/status r,
# Doesn't seem to be required, but noisy. Maybe allow 'r' for 'b*' if needed.
# Possibly move to an abstraction if anything else needs it.
deny /run/udev/data/** r,
# move out to the gnome abstraction if anyone else needs these
/etc/udev/udev.conf r,
/sys/devices/**/block/**/uevent r,
# apport
/etc/default/apport r,
# XFCE
/etc/xfce4/defaults.list r,
# Lubuntu
/etc/xdg/lubuntu/applications/defaults.list r,
# atril specific
/etc/ r,
/etc/fstab r,
/etc/texmf/ r,
/etc/texmf/** r,
/etc/xpdf/* r,
owner @{HOME}/.config/atril/ rw,
owner @{HOME}/.config/atril/** rwkl,
/usr/bin/gs-esp ixr,
/usr/bin/mktexpk Cx -> sanitized_helper,
/usr/bin/mktextfm Cx -> sanitized_helper,
/usr/bin/dvipdfm Cx -> sanitized_helper,
/usr/bin/dvipdfmx Cx -> sanitized_helper,
# gio-launch-desktop was replaced by a very small shell script
/{usr/,}bin/{dash,bash} ixr,
# supported archivers
/{usr/,}bin/gzip ixr,
/{usr/,}bin/bzip2 ixr,
/usr/bin/unrar* ixr,
/usr/bin/unzip ixr,
/usr/bin/7zr ixr,
/usr/lib/p7zip/7zr ixr,
/usr/bin/7za ixr,
/usr/lib/p7zip/7za ixr,
/usr/bin/zipnote ixr,
/{usr/,}bin/tar ixr,
/usr/bin/xz ixr,
# allow read access to anything in /usr/share, for plugins and input methods
/usr/local/share/** r,
/usr/share/** r,
/usr/lib/ghostscript/** mr,
/var/lib/ghostscript/** r,
/var/lib/texmf/{,**} r,
# from http://live.gnome.org/Evince/SupportedDocumentFormats. Allow
# read for all supported file formats
/**.[aA][iI] r,
/**.[bB][mM][pP] r,
/**.[dD][jJ][vV][uU] r,
/**.[dD][vV][iI] r,
/**.[gG][iI][fF] r,
/**.[jJ][pP][gG] r,
/**.[jJ][pP][eE][gG] r,
/**.[oO][dD][pP] r,
/**.[fFpP][dD][fF] r,
/**.[pP][nN][mM] r,
/**.[pP][nN][gG] r,
/**.[pP][sS] r,
/**.[eE][pP][sS] r,
/**.[eE][pP][sS][fFiI23] r,
/**.[tT][iI][fF] r,
/**.[tT][iI][fF][fF] r,
/**.[xX][pP][mM] r,
/**.[gG][zZ] r,
/**.[bB][zZ]2 r,
/**.[cC][bB][rRzZ7] r,
/**.[xX][zZ] r,
# Use abstractions/private-files instead of abstractions/private-files-strict
# and add the sensitive files manually to work around LP: #451422. The goal
# is to disallow access to the .mozilla folder in general, but to allow
# access to the Cache directory, which the browser may tell atril to open
# from directly.
#include <abstractions/private-files>
audit deny @{HOME}/.gnupg/{,**} mrwkl,
audit deny @{HOME}/.ssh/{,**} mrwkl,
audit deny @{HOME}/.gnome2_private/{,**} mrwkl,
audit deny @{HOME}/.gnome2/ w,
audit deny @{HOME}/.gnome2/keyrings/{,**} mrwkl,
audit deny @{HOME}/.kde/{,share/,share/apps/} w,
audit deny @{HOME}/.kde/share/apps/kwallet/{,**} mrwkl,
audit deny @{HOME}/.pki/{,nssdb/} w,
audit deny @{HOME}/.pki/nssdb/{,**} wl,
audit deny @{HOME}/.mozilla/{,**/} w,
audit deny @{HOME}/.mozilla/*/*/* mrwkl,
audit deny @{HOME}/.mozilla/**/bookmarkbackups/{,**} mrwkl,
audit deny @{HOME}/.mozilla/**/chrome/{,**} mrwkl,
audit deny @{HOME}/.mozilla/**/extensions/{,**} mrwkl,
audit deny @{HOME}/.mozilla/**/gm_scripts/{,**} mrwkl,
audit deny @{HOME}/.config/ w,
audit deny @{HOME}/.config/chromium/{,**} mrwkl,
audit deny @{HOME}/.config/evolution/{,**} mrwkl,
audit deny @{HOME}/.evolution/{,**} mrwkl,
audit deny @{HOME}/.kde/{,share/,share/apps/} w,
audit deny @{HOME}/.kde/share/config/{,**} mrwkl,
audit deny @{HOME}/.kde/share/apps/kmail/{,**} mrwkl,
audit deny @{HOME}/.{,mozilla-}thunderbird/{,**/} w,
audit deny @{HOME}/.{,mozilla-}thunderbird/*/* mrwkl,
audit deny @{HOME}/.{,mozilla-}thunderbird/*/[^C][^a][^c][^h][^e]*/{,**} mrwkl,
'''apport package hook for atril
(c) 2024 Luis Guzmán
Author:
Luis Guzmán <ark@switnet.org>
based on evince's hook
'''
from apport.hookutils import *
from os import path
import re
def add_info(report):
attach_conffiles(report, 'atril')
attach_related_packages(report, ['apparmor', 'libapparmor1',
'libapparmor-perl', 'apparmor-utils', 'auditd', 'libaudit1'])
attach_mac_events(report, ['/usr/bin/atril',
'/usr/bin/atril-previewer',
'/usr/bin/atril-thumbnailer'])
diff --git a/debian/rules b/debian/rules
old mode 100755
new mode 100644
index 8a7ff87..655c574
--- a/debian/rules
+++ b/debian/rules
@@ -52,3 +52,9 @@ override_dh_auto_configure:
get-orig-source:
uscan --noconf --force-download --rename --download-current-version --destdir=..
+
+execute_after_dh_install:
+ install -m 0644 -D debian/apparmor-profile debian/atril/etc/apparmor.d/usr.bin.atril
+ install -m 0644 -D debian/apparmor-profile.abstraction debian/atril/etc/apparmor.d/abstractions/atril
+ install -m 0644 -D debian/atril.apport debian/atril/usr/share/apport/package-hooks/source_atril.py
+ dh_apparmor --profile-name=usr.bin.atril -patril
diff --git a/debian/control b/debian/control
index f5bda53..6d72cc9 100644
--- a/debian/control
+++ b/debian/control
@@ -9,6 +9,7 @@ Uploaders: Mike Gabriel <sunweaver@debian.org>,
Vangelis Mouhtsis <vangelis@gnugr.org>,
Martin Wimpress <code@flexion.org>,
Build-Depends: debhelper-compat (= 13),
+ dh-apparmor,
dpkg-dev (>= 1.16.1.1),
gobject-introspection,
intltool,
Patch based on https://github.com/AyatanaIndicators/ayatana-indicator-sound/pull/92
For Trisquel 11.0, Aramo - ayatana-indicator-sound - 22.2.0-2
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac370b2..095c953 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
-project(ayatana-indicator-sound C CXX)
-cmake_minimum_required(VERSION 3.13)
+cmake_minimum_required (VERSION 3.13)
+project (ayatana-indicator-sound VERSION 22.2.0 LANGUAGES C CXX)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE)
@@ -7,8 +7,6 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}")
-set(PACKAGE ${CMAKE_PROJECT_NAME})
-set(PROJECT_VERSION 22.2.0)
find_package(PkgConfig REQUIRED)
include(GNUInstallDirs)
include(UseVala)
diff --git a/src/info-notification.vala b/src/info-notification.vala
index ce92a2a..3a36e52 100644
--- a/src/info-notification.vala
+++ b/src/info-notification.vala
@@ -1,6 +1,6 @@
/*
* Copyright 2015 Canonical Ltd.
- * Copyright 2021 Robert Tari
+ * Copyright 2021-2023 Robert Tari
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -30,22 +30,26 @@ public class IndicatorSound.InfoNotification: Notification
public void show (VolumeControl.ActiveOutput active_output,
double volume,
bool is_high_volume) {
- if (!notify_server_supports ("x-canonical-private-synchronous"))
- return;
/* Determine Label */
- unowned string volume_label = get_notification_label (active_output);
+ string volume_label = get_notification_label (active_output);
/* Choose an icon */
unowned string icon = get_volume_notification_icon (active_output, volume, is_high_volume);
/* Reset the notification */
var n = _notification;
+
+ uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20);
+ volume_label += "\n";
+
+ for (uint nChar = 0; nChar < nChars; nChar++)
+ {
+ volume_label += "◼";
+ }
+
n.update (_("Volume"), volume_label, icon);
n.clear_hints();
- n.set_hint ("x-lomiri-non-shaped-icon", "true");
- n.set_hint ("x-canonical-private-synchronous", "true");
- n.set_hint ("x-lomiri-value-bar-tint", is_high_volume ? "true" : "false");
n.set_hint ("value", ((int32)((volume * 100.0) + 0.5)).clamp(0, 100));
show_notification ();
}
diff --git a/src/warn-notification.vala b/src/warn-notification.vala
index 6a08431..203758e 100644
--- a/src/warn-notification.vala
+++ b/src/warn-notification.vala
@@ -1,5 +1,6 @@
/*
* Copyright 2015 Canonical Ltd.
+ * Copyright 2021-2023 Robert Tari
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,6 +16,7 @@
*
* Authors:
* Charles Kerr <charles.kerr@canonical.com>
+ * Robert Tari <robert@tari.in>
*/
public class IndicatorSound.WarnNotification: Notification
@@ -31,9 +33,6 @@ public class IndicatorSound.WarnNotification: Notification
_("Volume"),
_("Allow volume above safe level?\nHigh volume can damage your hearing."),
"audio-volume-high");
- n.set_hint ("x-lomiri-non-shaped-icon", "true");
- n.set_hint ("x-lomiri-snap-decisions", "true");
- n.set_hint ("x-lomiri-private-affirmative-tint", "true");
n.closed.connect ((n) => {
n.clear_actions ();
});
diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp
index 3ecd856..eb4ee8c 100644
--- a/tests/integration/indicator-sound-test-base.cpp
+++ b/tests/integration/indicator-sound-test-base.cpp
@@ -1,6 +1,6 @@
/*
* Copyright 2015 Canonical Ltd.
- * Copyright 2021 Robert Tari
+ * Copyright 2021-2023 Robert Tari
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3, as published
@@ -72,7 +72,7 @@ void IndicatorSoundTestBase::SetUp()
"GetCapabilities",
"",
"as",
- "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'x-canonical-private-synchronous', 'x-canonical-append', 'x-canonical-private-icon-only', 'x-canonical-truncation', 'private-synchronous', 'append', 'private-icon-only', 'truncation']"
+ "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'private-synchronous', 'append', 'private-icon-only', 'truncation']"
).waitForFinished();
int waitedTime = 0;
@@ -647,14 +647,8 @@ void IndicatorSoundTestBase::checkVolumeNotification(double volume, QString cons
QVariantMap hints;
ASSERT_TRUE(qDBusArgumentToMap(args.at(6), hints));
ASSERT_TRUE(hints.contains("value"));
- ASSERT_TRUE(hints.contains("x-lomiri-non-shaped-icon"));
- ASSERT_TRUE(hints.contains("x-lomiri-value-bar-tint"));
- ASSERT_TRUE(hints.contains("x-canonical-private-synchronous"));
EXPECT_EQ(volume*100, hints["value"]);
- EXPECT_EQ(true, hints["x-lomiri-non-shaped-icon"]);
- EXPECT_EQ(isLoud, hints["x-lomiri-value-bar-tint"]);
- EXPECT_EQ(true, hints["x-canonical-private-synchronous"]);
}
void IndicatorSoundTestBase::checkHighVolumeNotification(QVariantList call)
diff --git a/tests/notifications-mock.h b/tests/notifications-mock.h
index 49b2e66..3ae8da5 100644
--- a/tests/notifications-mock.h
+++ b/tests/notifications-mock.h
@@ -1,6 +1,6 @@
/*
* Copyright 2015 Canonical Ltd.
- * Copyright 2021 Robert Tari
+ * Copyright 2021-2023 Robert Tari
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ class NotificationsMock
DbusTestDbusMockObject * baseobj = nullptr;
public:
- NotificationsMock (const std::vector<std::string>& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "x-canonical-private-synchronous", "x-canonical-append", "x-canonical-private-icon-only", "x-canonical-truncation", "private-synchronous", "append", "private-icon-only", "truncation"}) {
+ NotificationsMock (const std::vector<std::string>& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "private-synchronous", "append", "private-icon-only", "truncation"}) {
mock = dbus_test_dbus_mock_new("org.freedesktop.Notifications");
dbus_test_task_set_bus(DBUS_TEST_TASK(mock), DBUS_TEST_SERVICE_BUS_SESSION);
dbus_test_task_set_name(DBUS_TEST_TASK(mock), "Notify");
diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc
index a9fa55d..92f4672 100644
--- a/tests/notifications-test.cc
+++ b/tests/notifications-test.cc
@@ -1,6 +1,6 @@
/*
* Copyright 2015-2016 Canonical Ltd.
- * Copyright 2021 Robert Tari
+ * Copyright 2021-2023 Robert Tari
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -259,7 +259,6 @@ TEST_F(NotificationsTest, VolumeChanges) {
EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name);
EXPECT_EQ("Volume", notev[0].summary);
EXPECT_EQ(0, notev[0].actions.size());
- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]);
EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]);
/* Set a different volume */
@@ -432,7 +431,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) {
ASSERT_EQ(1, notev.size());
EXPECT_EQ("Volume", notev[0].summary);
EXPECT_EQ("Speakers", notev[0].body);
- EXPECT_GVARIANT_EQ("@s 'false'", notev[0].hints["x-lomiri-value-bar-tint"]);
/* Set high volume with volume change */
notifications->clearNotifications();
@@ -443,7 +441,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) {
ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */
EXPECT_EQ("Volume", notev[0].summary);
EXPECT_EQ("Speakers", notev[0].body);
- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-value-bar-tint"]);
/* Move it back */
volume_warning_mock_set_high_volume(VOLUME_WARNING_MOCK(volumeWarning.get()), false);
@@ -513,7 +510,6 @@ TEST_F(NotificationsTest, DISABLED_ExtendendVolumeNotification) {
EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name);
EXPECT_EQ("Volume", notev[0].summary);
EXPECT_EQ(0, notev[0].actions.size());
- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]);
EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]);
/* Allow an amplified volume */
@@ -628,14 +624,10 @@ TEST_F(NotificationsTest, DISABLED_TriggerWarning) {
if (warning_expected) {
EXPECT_TRUE(volume_warning_get_active(volumeWarning.get()));
ASSERT_EQ(1, notev.size());
- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-snap-decisions"]);
- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-canonical-private-synchronous"]);
}
else {
EXPECT_FALSE(volume_warning_get_active(volumeWarning.get()));
ASSERT_EQ(1, notev.size());
- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-lomiri-snap-decisions"]);
- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]);
}
} // multimedia_active