A helper/wrapper class for libappindicator

If you have a cool piece of software to share, but you are not hosting it officially yet, please dump it in here. If you have code snippets that are useful, please donate!
nmset
Knows some wx things
Knows some wx things
Posts: 29
Joined: Fri Nov 26, 2010 4:48 pm

A helper/wrapper class for libappindicator

Postby nmset » Sat Sep 12, 2015 3:37 pm

Hello,

I just want to share a class that helps using libappindicator with wxWidgets, in case it might be useful.

Please see the attachement.
Attachments
appindic-1.tar.gz
(20.95 KiB) Downloaded 53 times
appindic-0.tar.gz
(20.7 KiB) Downloaded 49 times

User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2092
Joined: Wed Jan 28, 2009 11:57 am
Location: Dar es Salaam, United Republic of Tanzania
Contact:

Re: A helper/wrapper class for libappindicator

Postby evstevemd » Wed Sep 30, 2015 4:23 pm

What is libindicator and what the class does?
Its not helpful to just dump the code :)
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
[Ubuntu 15.04/Windows 10 Pro - GCC/MinGW, CodeLite IDE et al]

nmset
Knows some wx things
Knows some wx things
Posts: 29
Joined: Fri Nov 26, 2010 4:48 pm

Re: A helper/wrapper class for libappindicator

Postby nmset » Thu Oct 01, 2015 8:31 am

As far as I can tell, libindicator itself is a base library on top of which many indicators have been built by Canonical, to suit their Unity desktop I suppose. An indicator is a GUI item sitting in the desktop's panel. You seem to be using Ubuntu, 'aptitude search indicator' will list a lot of those indicators.

libappindicator is one of those indicators. It makes an icon with a menu appear in the panel's 'system tray'.

This class wraps around libappindicator, expects a wxWenu and an icon, and shows the icon in the 'system tray'. The menu appears with a right-click on the icon. The icon would appear irrespective of xrender being used by the DE. For instance, it still appears in KDE4 through xrender, and in KDE5 with (K)StatusNotifier. wxTaskBar does not work with KDE5.

User avatar
evstevemd
Part Of The Furniture
Part Of The Furniture
Posts: 2092
Joined: Wed Jan 28, 2009 11:57 am
Location: Dar es Salaam, United Republic of Tanzania
Contact:

Re: A helper/wrapper class for libappindicator

Postby evstevemd » Thu Oct 01, 2015 8:54 am

nmset wrote:As far as I can tell, libindicator itself is a base library on top of which many indicators have been built by Canonical, to suit their Unity desktop I suppose. An indicator is a GUI item sitting in the desktop's panel. You seem to be using Ubuntu, 'aptitude search indicator' will list a lot of those indicators.

libappindicator is one of those indicators. It makes an icon with a menu appear in the panel's 'system tray'.

This class wraps around libappindicator, expects a wxWenu and an icon, and shows the icon in the 'system tray'. The menu appears with a right-click on the icon. The icon would appear irrespective of xrender being used by the DE. For instance, it still appears in KDE4 through xrender, and in KDE5 with (K)StatusNotifier. wxTaskBar does not work with KDE5.


So basically this is extension to wxTaskBar to work in ubuntu and KDE correct? If so, why not contribute to wx directly?
You can start a topic about it in wx-dev list
https://groups.google.com/forum/#!forum/wx-dev
Chief Justice: We have trouble dear citizens!
Citizens: What it is his honor?
Chief Justice:Our president is an atheist, who will he swear to?
[Ubuntu 15.04/Windows 10 Pro - GCC/MinGW, CodeLite IDE et al]

nmset
Knows some wx things
Knows some wx things
Posts: 29
Joined: Fri Nov 26, 2010 4:48 pm

Re: A helper/wrapper class for libappindicator

Postby nmset » Thu Oct 01, 2015 7:34 pm

If you see https://groups.google.com/d/msg/wx-dev/ ... XE-gIHsc8J, we can say that this class is Linux only and hence does have its place in a cross-platform library.

In general, wxWidgets maintainers are well aware of things posted here that can be interesting enough for them to look at. I therefore think that this class does not have such meaning for the wxWidgets library.

nmset
Knows some wx things
Knows some wx things
Posts: 29
Joined: Fri Nov 26, 2010 4:48 pm

Re: A helper/wrapper class for libappindicator

Postby nmset » Sat Oct 08, 2016 4:21 pm

Hello,

After playing again with the app-indicator thing, I ended up with a much simpler code, attached in this post. It just plugs the wxMenu::m_menu object representing a GtkMenu in the indicator. The shown GTK menu has all the attributes of the source wxMenu, of which it is another representation, and changes as the source menu is modified.

Of course, it's for WXGTK builds on Linux only.

Cheers.
Attachments
appindic-2.tar.gz
(21.85 KiB) Downloaded 66 times


Return to “The Code Dump”

Who is online

Users browsing this forum: No registered users and 6 guests