Discussion:
FOSS replacement of hald-addon-bme and libbmeipc
Ивайло Димитров
2012-05-27 15:36:47 UTC
Permalink
Based on the information available here http://lists.maemo.org/pipermail/maemo-developers/2011-June/028452.html and some additional information from Mer libbmeipc replacement I wrote a semi-working :

https://gitorious.org/libbmeipc/libbmeipc
https://gitorious.org/hald-addon-bme/hald-addon-bme

libbmeipc just needs to read temperature to be fully functional as replacement

hald-addon-bme is still missing charger support. Anyway, it could be easily added if the kernel provides it. So far the kernel that can be used is kernel-cssu (a community kernel to be) from here: http://maemo.merlin1991.at/cssu/community-devel/pool/free/k/kernel-cssu/

I hope there will be some interest for full implementation and improvements of BME replacement libraries/binaries.

Ivo.
Naikel Aparicio
2012-06-08 00:27:46 UTC
Permalink
Question to my fellow developers:
I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.
The thing is in orderto do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?
Thanks in advance,
Naikel Aparicio
Scorpius @ tmo
t***@gmail.com
2012-06-08 04:54:58 UTC
Permalink
The maemo5 module has the notification stuff. Check if it does what you need

http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html

Timo


Naikel Aparicio kirjoitti 8.6.2012 3:27:

Question to my fellow developers:

I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.

The thing is in order
to do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?

Thanks in advance,

Naikel Aparicio
Scorpius @ tmo
Naikel Aparicio
2012-06-08 05:34:17 UTC
Permalink
Not really.

Those are the banners and notes, as you can see in screenshots in http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-informationbox.html

What I want is the notification bubble. Sadly anyway I just found libhildon-plugins-notify-sv.so didn’t implement correctly the org.freedesktop.Notifications notifications. Maemo will only attach the notifications depending on the hint category to a predefined program, that is Modest for email, Conversations for IM/chat, etc. It’s not customizable. If you don’t set a category hint in your notification the daemon simply ignores everything and shows a notification that is totally useless with no sound, no LED alert, no vibration, no attachment to another widget and most importantly: it never updates itself.

That means if you write your own email client, you can’t create notifications that are attached to it; if you set the category “email-message” it will always be attached to modest. When I say “attach” is that the notification belongs to the same widget and it doesn’t appear as a new window, it appears as if it were the same window than the application that generated it.

Naikel

From: ***@gmail.com
Sent: Friday, June 08, 2012 12:24 AM
To: maemo-***@maemo.org ; Naikel Aparicio
Subject: Re: GtkWidget* handler from QWidget

The maemo5 module has the notification stuff. Check if it does what you need



http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html



Timo


Naikel Aparicio kirjoitti 8.6.2012 3:27:


Question to my fellow developers:
I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.
The thing is in orderto do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?
Thanks in advance,
Naikel Aparicio
Scorpius @ tmo
Mohammad Abu-Garbeyyeh
2012-06-08 05:58:40 UTC
Permalink
Hi,

The predefined config file can be edited (thanks to thp for his "example" - he did it in gpodder)

Anyway, you need to add something like this to your debian/postinst

# Add Sociality to the notification bubble settings
NOTIFICATIONS_CONF="/etc/hildon-desktop/notification-groups.conf"
NOTIFICATIONS_KEY="sociality-new-notifications"


if ! grep -q "$NOTIFICATIONS_KEY" "$NOTIFICATIONS_CONF"; then
echo -n "Updating $NOTIFICATIONS_CONF..."
cat >>$NOTIFICATIONS_CONF << EOF

### BEGIN Added by sociality postinst ###

[sociality-new-notifications]
Destination=Sociality
Icon=general_facebook
LED-Pattern=PatternCommonNotification

### END Added by sociality postinst ###

EOF
echo "done."
fi

Change all values to whatever you need, then use the key you defined in your app's code.
The user might need to restart parts of hildon or just reboot, but it works :)

--
Regards,
Mohammad Abu-Garbeyyeh
Post by Naikel Aparicio
Not really.
Those are the banners and notes, as you can see in screenshots in http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-informationbox.html
What I want is the notification bubble. Sadly anyway I just found libhildon-plugins-notify-sv.so didn’t implement correctly the org.freedesktop.Notifications notifications. Maemo will only attach the notifications depending on the hint category to a predefined program, that is Modest for email, Conversations for IM/chat, etc. It’s not customizable. If you don’t set a category hint in your notification the daemon simply ignores everything and shows a notification that is totally useless with no sound, no LED alert, no vibration, no attachment to another widget and most importantly: it never updates itself.
That means if you write your own email client, you can’t create notifications that are attached to it; if you set the category “email-message” it will always be attached to modest. When I say “attach” is that the notification belongs to the same widget and it doesn’t appear as a new window, it appears as if it were the same window than the application that generated it.
Naikel
Sent: Friday, June 08, 2012 12:24 AM
Subject: Re: GtkWidget* handler from QWidget
The maemo5 module has the notification stuff. Check if it does what you need
http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html
Timo
I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.
The thing is in order to do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?
Thanks in advance,
Naikel Aparicio
_______________________________________________
maemo-developers mailing list
https://lists.maemo.org/mailman/listinfo/maemo-developers
Naikel Aparicio
2012-06-08 07:34:14 UTC
Permalink
You guys are so awesome!!

Using the conf file I could make the notifications stack together (using Group) with custom icon and they also attach to a window!

But it attaches to the main window of my application. It seems you can set a hint (defined by Split-In-Threads) to assign different destinations (different windows) but I wonder how can you set the different child windows with those values...

... or maybe I understood it all wrong (I’m reading hildon-home source).

Naikel

From: Mohammad Abu-Garbeyyeh
Sent: Friday, June 08, 2012 1:28 AM
To: Naikel Aparicio
Cc: mailto:maemo-***@maemo.org
Subject: Re: GtkWidget* handler from QWidget

Hi,

The predefined config file can be edited (thanks to thp for his "example" - he did it in gpodder)

Anyway, you need to add something like this to your debian/postinst

# Add Sociality to the notification bubble settings
NOTIFICATIONS_CONF="/etc/hildon-desktop/notification-groups.conf"
NOTIFICATIONS_KEY="sociality-new-notifications"


if ! grep -q "$NOTIFICATIONS_KEY" "$NOTIFICATIONS_CONF"; then
echo -n "Updating $NOTIFICATIONS_CONF..."
cat >>$NOTIFICATIONS_CONF << EOF

### BEGIN Added by sociality postinst ###

[sociality-new-notifications]
Destination=Sociality
Icon=general_facebook
LED-Pattern=PatternCommonNotification

### END Added by sociality postinst ###

EOF
echo "done."
fi

Change all values to whatever you need, then use the key you defined in your app's code.
The user might need to restart parts of hildon or just reboot, but it works :)
--
Regards,
Mohammad Abu-Garbeyyeh

On Jun 8, 2012, at 8:34 AM, "Naikel Aparicio" <***@gmail.com> wrote:


Not really.

Those are the banners and notes, as you can see in screenshots in http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-informationbox.html

What I want is the notification bubble. Sadly anyway I just found libhildon-plugins-notify-sv.so didn’t implement correctly the org.freedesktop.Notifications notifications. Maemo will only attach the notifications depending on the hint category to a predefined program, that is Modest for email, Conversations for IM/chat, etc. It’s not customizable. If you don’t set a category hint in your notification the daemon simply ignores everything and shows a notification that is totally useless with no sound, no LED alert, no vibration, no attachment to another widget and most importantly: it never updates itself.

That means if you write your own email client, you can’t create notifications that are attached to it; if you set the category “email-message” it will always be attached to modest. When I say “attach” is that the notification belongs to the same widget and it doesn’t appear as a new window, it appears as if it were the same window than the application that generated it.

Naikel

From: ***@gmail.com
Sent: Friday, June 08, 2012 12:24 AM
To: maemo-***@maemo.org ; Naikel Aparicio
Subject: Re: GtkWidget* handler from QWidget

The maemo5 module has the notification stuff. Check if it does what you need



http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html



Timo


Naikel Aparicio kirjoitti 8.6.2012 3:27:


Question to my fellow developers:
I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.
The thing is in orderto do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?
Thanks in advance,
Naikel Aparicio
Scorpius @ tmo

_______________________________________________
maemo-developers mailing list
maemo-***@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers
Kristóf Timur
2012-06-08 13:28:33 UTC
Permalink
Hello Naikel,

The code I talked about is here:
http://vcs.maemo.org/svn/q-extras/q-extras/

Here is an example on how you can use the notification:
http://vcs.maemo.org/svn/q-extras/q-extras/examples/notification/

And you can find how to attach it to your window in Mohammad's mail.

Cheers,
Timur

---

From: Naikel Aparicio
Sent: Friday, June 08, 2012 9:34 AM
To: maemo-***@maemo.org
Subject: Re: GtkWidget* handler from QWidget

You guys are so awesome!!

Using the conf file I could make the notifications stack together (using
Group) with custom icon and they also attach to a window!

But it attaches to the main window of my application. It seems you can set
a hint (defined by Split-In-Threads) to assign different destinations
(different windows) but I wonder how can you set the different child windows
with those values...

... or maybe I understood it all wrong (I’m reading hildon-home source).

Naikel

From: Mohammad Abu-Garbeyyeh
Sent: Friday, June 08, 2012 1:28 AM
To: Naikel Aparicio
Cc: mailto:maemo-***@maemo.org
Subject: Re: GtkWidget* handler from QWidget

Hi,

The predefined config file can be edited (thanks to thp for his "example" -
he did it in gpodder)

Anyway, you need to add something like this to your debian/postinst


# Add Sociality to the notification bubble settings
NOTIFICATIONS_CONF="/etc/hildon-desktop/notification-groups.conf"
NOTIFICATIONS_KEY="sociality-new-notifications"


if ! grep -q "$NOTIFICATIONS_KEY" "$NOTIFICATIONS_CONF"; then
echo -n "Updating $NOTIFICATIONS_CONF..."
cat >>$NOTIFICATIONS_CONF << EOF

### BEGIN Added by sociality postinst ###

[sociality-new-notifications]
Destination=Sociality
Icon=general_facebook
LED-Pattern=PatternCommonNotification

### END Added by sociality postinst ###

EOF
echo "done."
fi


Change all values to whatever you need, then use the key you defined in your
app's code.
The user might need to restart parts of hildon or just reboot, but it works
:)
--
Regards,
Mohammad Abu-Garbeyyeh

On Jun 8, 2012, at 8:34 AM, "Naikel Aparicio" <***@gmail.com> wrote:



Not really.

Those are the banners and notes, as you can see in screenshots in
http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-informationbox.html

What I want is the notification bubble. Sadly anyway I just found
libhildon-plugins-notify-sv.so didn’t implement correctly the
org.freedesktop.Notifications notifications. Maemo will only attach the
notifications depending on the hint category to a predefined program, that
is Modest for email, Conversations for IM/chat, etc. It’s not customizable.
If you don’t set a category hint in your notification the daemon simply
ignores everything and shows a notification that is totally useless with no
sound, no LED alert, no vibration, no attachment to another widget and most
importantly: it never updates itself.

That means if you write your own email client, you can’t create
notifications that are attached to it; if you set the category
“email-message” it will always be attached to modest. When I say “attach”
is that the notification belongs to the same widget and it doesn’t appear as
a new window, it appears as if it were the same window than the application
that generated it.

Naikel

From: ***@gmail.com
Sent: Friday, June 08, 2012 12:24 AM
To: maemo-***@maemo.org ; Naikel Aparicio
Subject: Re: GtkWidget* handler from QWidget


The maemo5 module has the notification stuff. Check if it does what you need



http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html



Timo



Naikel Aparicio kirjoitti 8.6.2012 3:27:


Question to my fellow developers:

I want to attach a Maemo native notification (those orange bubbles) to a
QWidget. Using GLIB, it’s easy; you call
notify_notification_attach_to_widget or add a hint with “attach-widget”.

The thing is in order
to do that you need the GtkWidget* handler of the window, and all I got is a
QWidget. Is there a way do it?

Thanks in advance,

Naikel Aparicio
Scorpius @ tmo
Naikel Aparicio
2012-06-08 16:50:10 UTC
Permalink
I don’t know if you all received this email about attaching the notification
to a child window of the application and not the main one. Again thank you
very much!

---cut-here---

I found a way. In the source of the task-navigator (hd-task-navigator.c in
hildon-desktop) says:

/*
* -- @nodest: What notifications this thumbnails is destination
for.
* Taken from the _HILDON_NOTIFICATION_THREAD
property
* of the thumbnail's client or its WM_CLASS hint.

So well that’s what I did in Qt:

#include <X11/Xlib.h>
#include <X11/Xatom.h>

(...)

QString test = “thread example”;

// Set the thread name
Atom atom = XInternAtom(QX11Info::display(),
"_HILDON_NOTIFICATION_THREAD", False);
if (atom)
{
XChangeProperty (QX11Info::display(),
winId(),
atom,
XA_STRING,
8,
PropModeReplace,
(unsigned char *)test.toUtf8().constData(),
test.toUtf8().length()
);
}

I verified the settings using xprop:

[sbox-FREMANTLE_X86: ~] > xprop -id 18874418 | grep THREAD
_HILDON_NOTIFICATION_THREAD(STRING) = “thread example”

... and now the notification attaches to the correct window if it has a hint
“message-thread” as “thread example”.

Thank you so much for your help!! It was very hard to do, and I had to read
a lot of the source code.

Naikel

t***@sch.bme.hu
2012-06-08 06:00:23 UTC
Permalink
Hello Naikel,

There are two things that come to my mind:
- I implemented a Qt-based api for that stuff a long time ago
- It's not possible to attach them to your window, but it's possible to add an entry to a config file, and then it will attach the notification to your window
- Led/vibration notifications are possible by setting a notification hint, regardless of whether or not it's attached to your window.

If you wish, I can point you to the right direction. :)

Timur
Sent from my Nokia N950



On 2012.06.08. 7:34 Naikel Aparicio wrote:

Not really.

Those are the banners and notes, as you can see in screenshots in http://doc.qt.nokia.com/qt-maemo-4.6/maemo5-informationbox.html

What I want is the notification bubble. Sadly anyway I just found libhildon-plugins-notify-sv.so didn’t implement correctly the org.freedesktop.Notifications notifications. Maemo will only attach the notifications depending on the hint category to a predefined program, that is Modest for email, Conversations for IM/chat, etc. It’s not customizable. If you don’t set a category hint in your notification the daemon simply ignores everything and shows a notification that is totally useless with no sound, no LED alert, no vibration, no attachment to another widget and most importantly: it never updates itself.

That means if you write your own email client, you can’t create notifications that are attached to it; if you set the category “email-message” it will always be attached to modest. When I say “attach” is that the notification belongs to the same widget and it doesn’t appear as a new window, it appears as if it were the same window than the application that generated it.

Naikel

From: ***@gmail.com
Sent: Friday, June 08, 2012 12:24 AM
To: maemo-***@maemo.org ; Naikel Aparicio
Subject: Re: GtkWidget* handler from QWidget

The maemo5 module has the notification stuff. Check if it does what you need

http://doc.qt.nokia.com/qt-maemo/qtmaemo5.html

Timo

Naikel Aparicio kirjoitti 8.6.2012 3:27:

Question to my fellow developers:

I want to attach a Maemo native notification (those orange bubbles) to a QWidget. Using GLIB, it’s easy; you call notify_notification_attach_to_widget or add a hint with “attach-widget”.

The thing is in order
to do that you need the GtkWidget* handler of the window, and all I got is a QWidget. Is there a way do it?

Thanks in advance,

Naikel Aparicio
Scorpius @ tmo
Loading...