
System tray screenlet
Source (link to git-repo or to original if based on someone elses unmodified work):
Description:
A replacement for the Gnome system tray (aka notification area).
Click on icons to access their options
Click in the gaps between the icons to access screenlet menus
Options
Horizontal or vertical layout
Themes: default, pinstripe, carbon
Notes
Requires python-xlib package.
If the network monitor icon does not appear, right click and select Start network monitor.
Known issues
Does not work properly on Ubuntu 9.04 (Jaunty) with ATI graphics. Probably due to lack of fglrx driver for X-server 1.6. Hopefully this will be fixed soon.
Animated icons (e.g. when searching for a wireless network) may look odd. Increasing the refresh rate setting may help.
Some icons do not return after restarting the screenlet (e.g. nm-applet). Last changelog:
Click on icons to access their options
Click in the gaps between the icons to access screenlet menus
Options
Horizontal or vertical layout
Themes: default, pinstripe, carbon
Notes
Requires python-xlib package.
If the network monitor icon does not appear, right click and select Start network monitor.
Known issues
Does not work properly on Ubuntu 9.04 (Jaunty) with ATI graphics. Probably due to lack of fglrx driver for X-server 1.6. Hopefully this will be fixed soon.
Animated icons (e.g. when searching for a wireless network) may look odd. Increasing the refresh rate setting may help.
Some icons do not return after restarting the screenlet (e.g. nm-applet).
0.1:
-Initial release
0.1.1:
-Fixed bug which prevented rendering of the background
0.1.2:
-Compatible with universal-applets
0.1.3:
-Added michote's code to allow fully transparent background
-Screenlet now conforms to XEMBED 0.5 specification. Most icons will return on restart. There is a list of known good/bad icons in the code.
0.2:
-Horizontal or vertical layout
-Added carbon theme
Ratings & Comments
22 Comments
Name: default Author: mtrauts Version: 1.1 Info: Default theme for SystemTray screenlet Creating icon Creating icon The program 'SystemTrayScreenlet.py' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 580 error_code 8 request_code 72 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
I tried it on Debian GNU/Linux Lenny (5.0). It works. I just needed to install python-xlib package.
I can start this, but all I see is a black strip (or whatever I set the background to). I'm using the screenlets 0.1.2-3 in Debian Squeeze, with Compiz/CompizFusion and nVidia drivers. Running it from a terminal, I get: Quote:/home/jason/.config/Screenlets/SystemTray/default/SystemTray1
LOAD NEW THEME: default
FOUND: /home/jason/.screenlets/SystemTray/themes/default
theme.conf found! Loading option-overrides.
theme.conf loaded:
Name: default
Author: mtrauts
Version: 1.1
Info: Default theme for SystemTray screenlet
<<At this point I delete it>>
[Errno 2] No such file or directory: '/home/jason/.config/Screenlets/SystemTray/default/SystemTray1.ini'
Temporary file didn't exist - nothing to remove.
Removing last instance from session
TODO: remove self.path: /home/jason/.config/Screenlets/SystemTray/default/
Unmanaged
Queue-element <SystemTray1> not found (already removed?)!
The screenlet isn't reporting any errors in your trace but obviously isn't working as it should. Do you already have another system tray running (e.g. in a gnome panel)? If so, remove it before running the screenlet, as gnome only allows one at a time. (On Ubuntu 8.10 the screenlet would grab the icons regardless, in Ubuntu 9.04 Beta the screenlet sometimes grabs the icons, sometimes shows up blank) If that doesn't work, try launching the network monitor from the right-click menu and see if you get errors, or nothing happens.
It worked after logging out and back in again. But now I can't get it to remember its position. The entire screenlets suite is not being particularly stable on my setup, though, so I think I'll have to drop it until I can figure out what the problem is.
I'm trying this out in Jaunty, but it doesn't look so hot: there are horizontal lines running through it and it flashes on every refresh. The first draw is OK, but it's all downhill from there. Any thoughts on what might be happening?
Hi, I have just tested this with a fresh install of Jaunty Beta. 'Out of the box' the screenlet works for me, but only with an opaque background. With a transparent background behaviour is erratic. Once Compiz was enabled (also requiring nvidia drivers on my system) everything worked fine.
I have tried this on a system with an ATI graphics card, and can confirm your bug. It is probably due to the lack of proprietary driver for X 1.6. Hopefully this gets fixed soon!
Either that, or the open-source drivers catch up. Not that I expect that to happen any time soon...
Tried it out on an Eee 1000 with Intel graphics, too. Still can't get it to show much besides a black bar.
Any idea when you will get a chance to get vertical (or even grid) layouts working? I have your screenlet sitting inside a sidebar, and it's getting a little squished...
nice work! Quote:Known issues
If the background is more than 50% transparent, the screenlet will not recognise clicks.
Using this in on_draw works fine for me with fully transparent background:
Quote: def on_draw_shape (self, ctx):
ctx.scale(self.scale, self.scale)
if self.theme:
ctx.set_source_rgba(1, 1, 1, 1)
ctx.rectangle (0,0,self.width,self.height)
ctx.fill()
Thanks michote, that does work well. I'll add it to the next update. This opens some interesting possibilities for themes, such as the 3-d look used with most docks.
Works great and looks awesome. This is just what I was looking for! Now I've turned off gnome-panel and gone with Docky and your screenlet instead. :)
I've added and tested a little your screenlet and I found something very odd: after I execute the screenlet and close, all of my tray icons in exception of sound control disappear! All of them appear after I restart X And BTW, in the next releases considerer adding borders or images for the background of the screenlet, and it would be very good to choose different opacities between background and icons
I have installed it...but It won't start. I don't know why!
A couple of things to check: -Make sure you have version 0.1.1, there was a bug in 0.1 -Make sure you have python-xlib installed If neither of these help, please run the screenlet from the command line and post the output.
ok now works. Thanks!
Hello. I think it's a great idea, but I can't see nothing. This appears when I open the SystemTray screenlet. http://img80.imageshack.us/img80/7226/screenshot2p.png And this appears in command-line. CachingBackend: Loading instances from cache CachingBackend: Loading <SystemTray1> Creating new entry for SystemTrayScreenlet in /tmp/screenlets/screenlets.mario.running Loading instances in: /home/mario/.config/Screenlets/SystemTray/default/ File: SystemTray1.ini /home/mario/.config/Screenlets/SystemTray/default/SystemTray1 LOAD NEW THEME: default FOUND: /home/mario/.screenlets/SystemTray/themes/default theme.conf found! Loading option-overrides. theme.conf loaded: Name: default Author: mtrauts Version: 1.0 Info: Default theme for SystemTrat screenlet Changed scale resetting Set options in SystemTrayScreenlet Changed refresh rate Changed scale resetting LOAD NEW THEME: default FOUND: /home/mario/.screenlets/SystemTray/themes/default theme.conf found! Loading option-overrides. theme.conf loaded: Name: default Author: mtrauts Version: 1.0 Info: Default theme for SystemTrat screenlet Changed colour Restored instances from session 'default' ... creating icon resetting creating icon resetting creating icon resetting I hope you can help me...Thanks
I reproduced your screenshot using version 0.1 of the screenlet in Ubuntu 8.10. Try downloading the updated package, version 0.1.1, this should fix your problem.
Thanks for your answer. I have Ubuntu 8.10, but I have already installed the 0.1.1 version. Any idea? Thanks again.
this should be interesting!!! you are the man =D