You are not logged in.

#1 2017-03-04 18:50:31

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

xfce4-notifyd

Xfce4 in stretch is, as I understand it, in transition between GTK2 and GTK3. Mostly it's still using GTK2 (xfce4-session, xfwm4, thunar) but some of the components are using GTK3 (notably xfce4-terminal and xfce4-notifyd).

This affects BL because we use xfce4-notifyd, which now doesn't accept a border-radius of less than 1, meaning it doesn't quite match our square-cornered Openbox themes, and which looks fugly when used with compton, the window fades out leaving the shadow behind for a second. This post shows the small difference in appearance between the notification corners and the windows...
https://forums.bunsenlabs.org/viewtopic … 310#p46310

Admittedly, it's barely noticeable, but it bugs me massively, and the shadow-fade issue is glaring.

I'm opening this thread to begin discussion on solutions, workarounds, or just dealing with it. tongue

Offline

#2 2017-03-04 19:16:45

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

I mentioned this issue in another thread and cpoakes made some suggestions, you can start reading that discussion here...
https://forums.bunsenlabs.org/viewtopic … 365#p46365

I followed up on downgrading (forward-porting?) the jessie version on stretch and, by gosh, it worked!

Screenshot_2017-03-04_14-39-13.th.png

This will satisfy my nit-pickiness on my system, but I'm sure it's only a matter of time before I get the dreaded "You have held broken packages" message from apt. Also, I could only create a dark-text-on-light-background theme successfully, dark-on-light worked for everything except the button text which stubbornly remained dark. Also, I can't test the "progress bar" that appears on computers that give visual feedback when adjusting volume or screen brightness levels.

Offline

#3 2017-03-05 03:20:34

cpoakes
Member
Registered: 2016-12-02
Posts: 108

Re: xfce4-notifyd

@hhh - Thanks for your post to the related thread Openbox with rounded corners. Have you spent any time analyzing that patch eliminating square corners and forcing radius 0px to 6px? Can you tell if this was a design decision (creating a new canon: round corners only) or was this the "good enough" fix to another problem.

<rant>This is not the configurability, flexibility, or backward compatibility I expect: XFCE goes GNOME.</rant>

Since stretch is near stable, if the jessie version can be up-ported, it should last the life of stretch without dependency problems. It will require special (1:0.3.4 style) version numbering and package configuration to keep out of the way of the jessie package, but it can be done.

What do you make of notify-osd and mate-notification-daemon?

Offline

#4 2017-03-05 15:54:17

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

@cp (BTW, cp oakes or c poakes, or neither? smile )...

re: your first question, that's out of my realm. The paragraph, if it even is the explanation, is poorly worded...

+    /* Always use a small rounded corners. This should not be necessary in 
+     * theory, as Adwaita defined border-radius: 0 0 6px 6px; for the 
+     * app-notification and osd css classes. The problem is that Gtk for some
+     * reason gets the border-radius as gint and not as GtkBorder. Getting 
+     * this way the first value only, which is 0. */
+    if ( radius == 0 ) {
+        radius = 6;
     }

I don't know what gint is, and 0 0 6px 6px to me means the bottom-left and top-left borders have a 6 pixel radius (?). And if GTK is reading 0 only, shouldn't Adwaita notifications be square?

mate-notifications are a decent suggestion. They were fairly primitive in jessie and may still be in stretch, but they were somewhat theme-able and support square corners in jessie. I'll test them next.

I'm testing notify-osd now. They fade gracefully with compton, thankfully. I have to look into theming still. OOTB the notification covers my top-positioned panel, and on-hover fades it so severly that it looks like a compton shadow with some very dim text in it. Also, clicking it doesn't dismiss the message, though I think that's configurable.

notify-osd is a bit of a fiasco in Debian, it seems. Installing the package creates a *.desktop file in /etc/xdg/autostart with the following 'Exec='  line...

/usr/lib/notify-osd/notify-osd

Ha ha!, fooled you Stupid User! On i386 bin is at /usr/lib/i386-linux-gnu/notify-osd !!!

https://packages.debian.org/stretch/i38 … d/filelist
https://packages.debian.org/stretch/amd … d/filelist

Thanks for your interest in this (and all your recent help with BL, period!) big_smile

BTW, a nice summary of why rounded corners are friendlier...
https://designmodo.com/rounded-corners/

Offline

#5 2017-03-05 16:00:38

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

Nice, as I previewed my post above, I remembered that I there is no Adwaita xfce4-notifyd theme. That led me to these pages, which should help...
http://docs.xfce.org/apps/notifyd/theming
https://git.xfce.org/apps/xfce4-notifyd … lt/gtk.css

The second one is important as that gtk.css is blank, except for a 'this is the default theme' comment, when you install xfce4-notifyd in stretch.

Theming for BL Helium is going to be a major, time-consuming, hair-pulling PITA. I spent over 2 hours messing with just the GTK2 portion of Debian's arc-theme package and only made a dent in it, they use a ton of image files. Grrr.

Offline

#6 2017-03-05 20:25:07

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

notify-osd is a bust. The config tool only works on Unity, apparently. Besides, even though the patched version from Launchpad that allows tweaking backports and installs fine, I'm looking for a solution that uses a stretch package, as per our policy (we follow Debian stable, everything else is UAYOR).

I'll try mate next, and I also discovered dunst, which looks promising.

Offline

#7 2017-03-05 20:27:34

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

cpoakes wrote:

Since stretch is near stable, if the jessie version can be up-ported, it should last the life of stretch without dependency problems. It will require special (1:0.3.4 style) version numbering and package configuration to keep out of the way of the jessie package, but it can be done.

Wasn't sure I could figure out dch, but I think I succeeded. The version in sid is 0.3.5-1.

Reading package lists... Done                      
Building dependency tree       
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hhh@base:~$ apt-cache policy xfce4-notifyd
xfce4-notifyd:
  Installed: 0.3.5-0+hhhorb
  Candidate: 0.3.5-0+hhhorb
  Version table:
 *** 0.3.5-0+hhhorb 100
        100 /var/lib/dpkg/status
     0.3.4-1 500
        500 http://ftp.us.debian.org/debian stretch/main i386 Packages
hhh@base:~$ 

Offline

#8 2017-03-06 07:27:57

Head_on_a_Stick
Member
From: London
Registered: 2015-09-29
Posts: 8,759
Website

Re: xfce4-notifyd

@hhh: I think you will have to bump the epoch rather than the actual version number.

See section 5.6.12 ("Version") of this link:

https://www.debian.org/doc/debian-polic … ields.html

epoch

    This is a single (generally small) unsigned integer. It may be omitted, in which case zero is assumed. If it is omitted then the upstream_version may not contain any colons.

    It is provided to allow mistakes in the version numbers of older versions of a package, and also a package's previous version numbering schemes, to be left behind.

So the BL version would be 1:0.2.4-3 (I think).

EDIT: wrong version number...

Last edited by Head_on_a_Stick (2017-03-06 07:41:34)


“Et ignotas animum dimittit in artes.” — Ovid, Metamorphoses, VIII., 18.

Forum Rules   •   How to report a problem   •   Software that rocks

Offline

#9 2017-03-06 07:51:55

ohnonot
...again
Registered: 2015-09-29
Posts: 4,646
Website

Re: xfce4-notifyd

hhh wrote:

notify-osd is a bust.

use dunst instead?
i'm very happy with it.


BL quote proposals to this thread please.
how to ask smart questions | my repos / my repos | my blog
---
Thank you for posting direct image links!

Offline

#10 2017-03-06 13:04:38

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

@HoaS, I'm using stretch and investigating this for Helium. I used that number because it's lower than the version in stretch but well above jessie's. Won't your number get replaced when I upgrade? I'll look carefully at that link at lunchtime.

@ohnonot, I mentioned that dunst looked promising. It's stand-alone, configurable and in the repo. Post your config as a reverence, please?

Offline

#11 2017-03-06 13:12:21

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

@HoaS, I think I see what your saying. The stretch version has an implied epoch of 0, so an epoch of 1 is actually a higher version number. Thanks!

Offline

#12 2017-03-06 13:17:07

earlybird
ほやほや
Registered: 2015-12-16
Posts: 738
Website

Re: xfce4-notifyd

ohnonot wrote:
hhh wrote:

notify-osd is a bust.

use dunst instead?
i'm very happy with it.

I'm using it too; it runs rocksolid and is probably flexible enough to tune.

Packaging the latest code from upstream, or making modifications we need, would also be an easy task (since the last release is from 2014, despite changes getting pushed to master https://github.com/dunst-project/dunst, Debian won't package/have it).

Offline

#13 2017-03-06 13:19:01

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

^Do you know if the stretch version is at least usable as-is, so we can continue our policy of stable packages by default and then break it as you wish?

Offline

#14 2017-03-06 13:24:13

earlybird
ほやほや
Registered: 2015-12-16
Posts: 738
Website

Re: xfce4-notifyd

hhh wrote:

^Do you know if the stretch version is at least usable as-is, so we can continue our policy of stable packages by default and then break it as you wish?

https://packages.debian.org/search?keyw … ection=all

Stretch has 1.1, which is the version I'm using on my own computer too BTW (I've been trying to reduce maintenance by not using git builds so much) and it runs perfectly fine. It's also the experience I'm basing my recommendation on.

But after a long pause, there have been lots of fixes (also on an internal level/dbus handling,...) since January https://github.com/dunst-project/dunst/ … t-activity, so I think considering building our own – should stretch not receive an update for dunst – is worth considering.

Offline

#15 2017-03-06 17:13:42

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

^Sounds good, even if we don't use dunst as our default.

Up-porting xfce4-notifyd for us anal-retentive types is another post-install option, it seems to be working fine. With the guidance I received above, I have the following installed...

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hhh@base:~$ apt-cache policy xfce4-notifyd
xfce4-notifyd:
  Installed: 1:0.2.4-3.bunsen
  Candidate: 1:0.2.4-3.bunsen
  Version table:
 *** 1:0.2.4-3.bunsen 100
        100 /var/lib/dpkg/status
     0.3.4-1 500
        500 http://ftp.us.debian.org/debian stretch/main i386 Packages
hhh@base:~$ 

If anyone on stretch wants to create this locally as I have, just follow the "Create debs..." tutorial using the *.dsc file from xfce4-notifyd in jessie and use the following line at the dch line...

dch -v 1:0.2.4-3.bunsen --force-distribution stretch "Rebuild jessie package for stretch"

@anyone, please post if this is glaringly wrong. See man debchange for more info.

Last edited by hhh (2017-03-06 22:24:57)

Offline

#16 2017-03-06 19:06:04

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 2,042
Website

Re: xfce4-notifyd

I've been using dunst now for years as well, with this config.

Install goes like

apt-get install libnotify-bin
apt-get remove notification-daemon
apt-get install dunst
notify-send "troloooololololll"

Offline

#17 2017-03-06 21:02:50

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

Great, and thanks for the config!

Offline

#18 2017-03-06 21:26:34

stevep
MX Linux Developer
Registered: 2016-08-08
Posts: 381

Re: xfce4-notifyd

hhh wrote:

^Sounds good, even if we don't use dunst as our default.

Up-porting xfce4-notifyd for us anal-retentive types is another post-install option, it seems to be working fine. With the guidance I received above, I have the following installed...

hhh@base:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
hhh@base:~$ apt-cache policy xfce4-notifyd
xfce4-notifyd:
  Installed: 1:0.2.4-3~bpo70+
  Candidate: 1:0.2.4-3~bpo70+
  Version table:
 *** 1:0.2.4-3~bpo70+ 100
        100 /var/lib/dpkg/status
     0.3.4-1 500
        500 http://ftp.us.debian.org/debian stretch/main i386 Packages
hhh@base:~$ 

If anyone on stretch wants to create this locally as I have, just follow the "Create debs..." tutorial using the *.dsc file from xfce4-notifyd in jessie and use the following line at the dch line...

dch -v 1:0.2.4-3~bpo70+ --force-distribution stretch "Rebuild jessie package for stretch"

@anyone, please post if this is glaringly wrong. See man debchange for more info.

The "~bpo70+" at the end identifies it as a wheezy-backports package. I'd recommend using something that identifies it as an BL Helium package, like Ubuntu would make the rebuild from Debian in their own repo as "0.2.4-3ubuntu1"  It's ok to use a separator such as "+ubuntu1" or ".ubuntu1" if you wish, but the "~" has a special purpose for backports: the "~" makes it seen by apt as a lower version than just the plain "-3" version.  This allows for a smooth upgrade from, say, a "-3~bpo8+1" jessie-backports build to the Stretch "-3" build if the user's doing an upgrade from Jessie to Stretch in-place.

Offline

#19 2017-03-06 21:31:30

cpoakes
Member
Registered: 2016-12-02
Posts: 108

Re: xfce4-notifyd

@hhh - The up-ported epoch versioned (1:0.2.4-....) xfce4-notifyd seems a good candidate for helium as it provides both square and round corners. It's also a good companion to the patched round-corner version of OB if that gets considered for helium. BTW - it's cp, but @cpoakes might be less confusing for others following along.

@stevep - TIL: the magic associated with the tilde in version numbers. Thanks.

Offline

#20 2017-03-06 22:07:53

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

@stevep, noted. I assume @twoion will build our packages when that stage comes, but I'll change it locally to get the hang of it. wink I'll edit the dch command I posted above.

@cpoakes, our policy has been to only include stable packages in our ISOs (I think yad was the one exception we made for Helium), but to offer alternatives via our backports repo with the warning that you get to keep the pieces if it breaks. And cpoakes it shall be. big_smile

In related news...
https://forums.bunsenlabs.org/viewtopic … 607#p46607

Offline

#21 2017-03-07 04:51:47

cpoakes
Member
Registered: 2016-12-02
Posts: 108

Re: xfce4-notifyd

hhh wrote:

@cpoakes, our policy has been to only include stable packages in our ISOs (I think yad was the one exception we made for Helium), but to offer alternatives via our backports repo with the warning that you get to keep the pieces if it breaks.

Nope. A quick check shows the hydrogen ISO includes upstream versions of: compton, obmenu, and yad (there may be more). During development, there was talk of BL being a Debian Pure Blend: a repo containing only scripts and metapackages, nothing compiled from source. This looked promising, that is until it broke.

One example: the power icon was missing from the taskbar tray when using xfce4-power-manager. In an oversight by the XFCE team, they assumed all users employed the xfce taskbar and new xfce power plugin. XFCE responded quickly to fix the problem well before jessie was released but after the hard freeze; it was not in stable. Sticking to the Debian Pure Blend roadmap, the team opted to find a jessie-only workaround. Seemed both a divergence from the CrunchBang way (which includes many updated execs) and an unnecessary accommodation for purity. With that decision and some others, I wandered off to play in my own impure jessie sandbox.

When I came back to the finished product, surprise! There are executables in the bunsen repos. This combination of scripts and executables crafts the BL experience; it diverges from the mothership, however limited. With this history, I hope the team is more chill about exceptions. When there is no time or will to test a modified package, that is a good argument to skip it. But when a package with a minor fix (or older version) is the best solution, "purity" with stable is not. Case in point: a helium up-port of xfce4-notify_0.2.4 should be seriously evaluated. It is stable, stretch-compatible, backward compatible with existing theme configs, and avoids problems with the GTK3 version.

As for using rounded corners on OB, that is outside of the box. It is an aesthetic design decision (like RPi made for PIXEL). I am happy to discuss maintainance, testing, support, limitations, and feature-completeness if roundness is a design goal.

Offline

#22 2017-03-07 10:35:58

earlybird
ほやほや
Registered: 2015-12-16
Posts: 738
Website

Re: xfce4-notifyd

cpoakes wrote:
hhh wrote:

@cpoakes, our policy has been to only include stable packages in our ISOs (I think yad was the one exception we made for Helium), but to offer alternatives via our backports repo with the warning that you get to keep the pieces if it breaks.

Nope. A quick check shows the hydrogen ISO includes upstream versions of: compton, obmenu, and yad (there may be more). During development, there was talk of BL being a Debian Pure Blend: a repo containing only scripts and metapackages, nothing compiled from source. This looked promising, that is until it broke.

One example: the power icon was missing from the taskbar tray when using xfce4-power-manager. In an oversight by the XFCE team, they assumed all users employed the xfce taskbar and new xfce power plugin. XFCE responded quickly to fix the problem well before jessie was released but after the hard freeze; it was not in stable. Sticking to the Debian Pure Blend roadmap, the team opted to find a jessie-only workaround. Seemed both a divergence from the CrunchBang way (which includes many updated execs) and an unnecessary accommodation for purity. With that decision and some others, I wandered off to play in my own impure jessie sandbox.

When I came back to the finished product, surprise! There are executables in the bunsen repos. This combination of scripts and executables crafts the BL experience; it diverges from the mothership, however limited. With this history, I hope the team is more chill about exceptions. When there is no time or will to test a modified package, that is a good argument to skip it. But when a package with a minor fix (or older version) is the best solution, "purity" with stable is not. Case in point: a helium up-port of xfce4-notify_0.2.4 should be seriously evaluated. It is stable, stretch-compatible, backward compatible with existing theme configs, and avoids problems with the GTK3 version.

As for using rounded corners on OB, that is outside of the box. It is an aesthetic design decision (like RPi made for PIXEL). I am happy to discuss maintainance, testing, support, limitations, and feature-completeness if roundness is a design goal.


Woah, the problem with the border radii is a apparently a GTK bug/idiosyncrasy: Commit 61480bcf48e458ce0543e6e98f4c5b4b36f7d607 from xfce4-notifyd:

+    /* Always use a small rounded corners. This should not be necessary in 
+     * theory, as Adwaita defined border-radius: 0 0 6px 6px; for the 
+     * app-notification and osd css classes. The problem is that Gtk for some
+     * reason gets the border-radius as gint and not as GtkBorder. Getting 
+     * this way the first value only, which is 0. */
+    if ( radius == 0 ) {
+        radius = 6;
     }

They just ignore whatever the CSS says. That's not the idea behind CSS-enabled desktop applications sad

To clarify, you suggest a divergence from previous backporting/porting efforts in that we/I would have to really fork the xfce4-notifyd package and maintain it against the BL changeset, which would mean a partial revert of (at least) the above-mentioned commit, and testing, or keep a legacy notiyd package, whereas until now our ports were always fresh-from-the-source packages built to get upstream bug fixes into BL.

Offline

#23 2017-03-07 13:27:08

brontosaurusrex
Middle Office
Registered: 2015-09-29
Posts: 2,042
Website

Re: xfce4-notifyd

Actually in what cases is notification-system even usefull? (I haven't had one installed on this machine for about a week without even noticing anything...)

Last edited by brontosaurusrex (2017-03-07 13:27:53)

Offline

#24 2017-03-07 13:46:09

hhh
Meep!
Registered: 2015-09-17
Posts: 9,905
Website

Re: xfce4-notifyd

Low power on a laptop is very useful. Many music players have options to give the artist name, song title, album and even cover art on song change, which is nice. I liked having visual feedback when changing volume levels (the panel applet is pretty weak for that) when my multimedia keys worked. tongue Notification of when a file or torrent download is complete. That sort of thing.

Offline

#25 2017-03-07 20:00:20

damo
....moderator....
Registered: 2015-08-20
Posts: 6,051

Re: xfce4-notifyd

^ And you can use it for home-brewed notes, popups, reminders etc


Be Excellent to Each Other...
The Bunsenlabs Lithium Desktop » Here
FORUM RULES and posting guidelines «» Help page for forum post formatting
Artwork on DeviantArt  «» BunsenLabs on DeviantArt

Offline

Board footer

Powered by FluxBB