mardi 27 janvier 2015

Guidence on writing a system tray daemon


I'm using openbox and I want to write a pipemenu to serve as a system tray. For this, I need some kind of a way to access the information on which applications are registered with the system tray and ideally, their state (new mail, etc). As far as I understand, when a system tray is running, applications providing such functionality register with it and the window manager no longer manages their windows - it's up to the system tray. So I cannot simply run a system tray (e.g. in tint2) that stays hidden and write a script that gets a list of apps currently running in the tray, correct?. So what I thought of attempting is to write a simple system tray that will provide a command line interface that I can use in a pipemenu. This system tray should not create any (visible windows) or display any icons/notifications. Judging from this: http://ift.tt/1uxtFxs it must create a window with a _NET_SYSTEM_TRAY_Sn property, so that applications know it provides the functionality of a system tray. But I am at a loss as to HOW to do that and what else it needs to do (e.g. listen for messages from the apps). I know this probably won't be trivial, but can someone give me links for further reading/documentation? I have experience in mostly python and perl, but I can go with any other language if needed.



Aucun commentaire:

Enregistrer un commentaire