Description: NixieClock is a Python-based plasmoid for KDE4.X that uses images of real NixieTubes to display time and date. The clock's primary purpose is as an aid for astronomical applications, and has options for showing Universal Time (UTC), Local Sidereal Time (LST), Julian Dan (JD), and Gregorian Date (either local or Universal). All displays may be individually turned on and off.
Looks great.
Doesn't work too well with a sidebar. The timezone gets in the way. Would like to be able to remove that.
Would also be nice to be able to specify date format (dd/mm/yy or mm/dd/yy etc)
...although I am not an astronomer.
But here are some ideas:
Add an option to hide the seconds. This would allow for more sleeping in the applet and thus saves power (especially on laptops).
Make the numbers svg's so they blend with the background. They could then also blend with each other just as in the real valve-displays the glowing of one would be visible in others too.
[*]Please Tag it as "Plasmoid Script"
[*]Upload it with plasmoid as extension, not zip (for GHNS)
Also, it won't start, neither in plasma nor in plasmoidviewer. I got the following backtrace:
Quote:
.kde/share/apps/plasma/plasmoids/NixieClock/contents/code/images/nixieClock.conf: No configuration file found
Traceback (most recent call last):
File "/usr/share/kde4/apps/plasma_scriptengine_python/pyappletscript.py", line 55, in init
self.pyapplet.init()
File "/home/bizzl/.kde4/share/apps/plasma/plasmoids/NixieClock/contents/code/main.py", line 812, in init
clock = Clock()
File "/home/bizzl/.kde4/share/apps/plasma/plasmoids/NixieClock/contents/code/main.py", line 161, in __init__
self.setDefault()
File "/home/bizzl/.kde4/share/apps/plasma/plasmoids/NixieClock/contents/code/main.py", line 316, in setDefault
self.addSite(siteName,siteLong,siteZone,siteZoNa)
File "/home/bizzl/.kde4/share/apps/plasma/plasmoids/NixieClock/contents/code/main.py", line 308, in addSite
self.setSite(siteName)
File "/home/bizzl/.kde4/share/apps/plasma/plasmoids/NixieClock/contents/code/main.py", line 373, in setSite
zoNa = self.zoNa[0]+"S"+zoNa[2]
AttributeError: Clock instance has no attribute 'zoNa'
bizzl -
Thanks for the comments. Unfortunately, you've found the one problem that I was aware of - difficulty with specifying path.
When I originally wrote the clock (as a non-plasmoid), I used sys.path[0] to specify the location of the images and the configuration file. I've found that that doesn't work under plasma, and haven't been able to find a solution. I was hoping that the .kde directory structure was universal enough that I could specify from there, and it seemed to work on several different machines here.
If anyone has any recommendations on that front, that would be appreciated.
Otherwise, the path is specified in the second line of main.py - I'd edit it after installation (rather than unzipping, editing, rezipping and installing). If you do a 'locate NixieClock' after installing the script, you should be able to find out where it was installed, and modify main.py appropriately.
Let me know if you have further problems!
When I originally wrote the clock (as a non-plasmoid), I used sys.path[0] to specify the location of the images and the configuration file. I've found that that doesn't work under plasma, and haven't been able to find a solution.
Replace it by nixiePath = self.package().path() + "contents/code/images/"
However, it still crashes, so this wasn't the only problem.
After a quick check I also removed self. from zoNa = self.zoNa[0]+"S"+zoNa[2]
It work with this two changes.
However... you have changed the code, right? In the new code are dozens of lines that cause trouble, mainly of the "x has no attribute y" kind. So I sended you the code that works for me(tm), maybe it will help you more then my comment...
Thanks - that path did the trick. I suspect the other errors resulted from a separate change I made, renaming the image directory to 'NixieDir' (change made for other reasons).
I've uploaded an updated version, and that should work. Let me know -
-C
I upgraded qt on gentoo as part of a standard world update. In fact I dont know why it upgraded because it only reinstalled itself. But the after math was this message:
* After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt
* and KDE styles and widgets) can no longer be loaded. In this situation you
* should recompile the packages providing these plugins. Also, make sure you
* compile the Qt packages, and the packages that depend on it, with the same
* GCC version and the same USE flag settings (especially the debug flag).
*
* Packages that typically need to be recompiled are kdelibs from KDE4, any
* additional KDE4/Qt4 styles, qscintilla and PyQt4. Before filing a bug report,
* make sure all your Qt4 packages are up-to-date and built with the same
* configuration.
*
* For more information, see http://doc.trolltech.com/4.5/plugins-howto.html
The important part is that after this update the Nixieclock stopped working and now I get the same error specified above:
Installing the package /home/jinlu/side_research/widgets/100937-NixieClock.plasmoid failed.
I have reinstalled all the plasma related programs as well as the programs listed above, but to no avail.
If there is any help, let me know; this is one of my favorite apps. I am an astronomer and my fellow astronomers love it too. :)
So I edited the python code the way that bizzl said to and it works now.
Changed line 373 or 375 (i cant remember) from
zoNa = self.zoNa[0]+"S"+zoNa[2]
to
zoNa = zoNa[0]+"S"+zoNa[2]
now it works fine.
Ratings & Comments
12 Comments
Previously with openSUSE 11.2 RC1 this was working. Now at openSUSE 11.2 nixie clock failes with script initialization failed
Looks great. Doesn't work too well with a sidebar. The timezone gets in the way. Would like to be able to remove that. Would also be nice to be able to specify date format (dd/mm/yy or mm/dd/yy etc)
...although I am not an astronomer. But here are some ideas:Add an option to hide the seconds. This would allow for more sleeping in the applet and thus saves power (especially on laptops).
Make the numbers svg's so they blend with the background. They could then also blend with each other just as in the real valve-displays the glowing of one would be visible in others too.
bizzl - Thanks for the comments. Unfortunately, you've found the one problem that I was aware of - difficulty with specifying path. When I originally wrote the clock (as a non-plasmoid), I used sys.path[0] to specify the location of the images and the configuration file. I've found that that doesn't work under plasma, and haven't been able to find a solution. I was hoping that the .kde directory structure was universal enough that I could specify from there, and it seemed to work on several different machines here. If anyone has any recommendations on that front, that would be appreciated. Otherwise, the path is specified in the second line of main.py - I'd edit it after installation (rather than unzipping, editing, rezipping and installing). If you do a 'locate NixieClock' after installing the script, you should be able to find out where it was installed, and modify main.py appropriately. Let me know if you have further problems!
KStandardDirs? http://api.kde.org/pykde-4.2-api/kdecore/KStandardDirs.html
Quote: When I originally wrote the clock (as a non-plasmoid), I used sys.path[0] to specify the location of the images and the configuration file. I've found that that doesn't work under plasma, and haven't been able to find a solution.
Replace it by nixiePath = self.package().path() + "contents/code/images/"
However, it still crashes, so this wasn't the only problem.
After a quick check I also removed self. from zoNa = self.zoNa[0]+"S"+zoNa[2]
It work with this two changes.
However... you have changed the code, right? In the new code are dozens of lines that cause trouble, mainly of the "x has no attribute y" kind. So I sended you the code that works for me(tm), maybe it will help you more then my comment...
Thanks - that path did the trick. I suspect the other errors resulted from a separate change I made, renaming the image directory to 'NixieDir' (change made for other reasons). I've uploaded an updated version, and that should work. Let me know - -C
Doesn't work for me :( When I try to install, it fails...
@cfigura: yes, it works now out of the box :D @AM088: Do you get something like: Quote: The installation of /tmp/kde-bizzlE6HdTB///100937-NixieClock.plasmoid failed.
followed by
Quote: The installation /tmp/kde-bizzlE6HdTB/// failed.
?
I get those alot, too, but it appears to be a problem with plasmapkg, as it always happens in combination with ghns :(
I upgraded qt on gentoo as part of a standard world update. In fact I dont know why it upgraded because it only reinstalled itself. But the after math was this message: * After a rebuild or upgrade of Qt, it can happen that Qt plugins (such as Qt * and KDE styles and widgets) can no longer be loaded. In this situation you * should recompile the packages providing these plugins. Also, make sure you * compile the Qt packages, and the packages that depend on it, with the same * GCC version and the same USE flag settings (especially the debug flag). * * Packages that typically need to be recompiled are kdelibs from KDE4, any * additional KDE4/Qt4 styles, qscintilla and PyQt4. Before filing a bug report, * make sure all your Qt4 packages are up-to-date and built with the same * configuration. * * For more information, see http://doc.trolltech.com/4.5/plugins-howto.html The important part is that after this update the Nixieclock stopped working and now I get the same error specified above: Installing the package /home/jinlu/side_research/widgets/100937-NixieClock.plasmoid failed. I have reinstalled all the plasma related programs as well as the programs listed above, but to no avail. If there is any help, let me know; this is one of my favorite apps. I am an astronomer and my fellow astronomers love it too. :)
So I edited the python code the way that bizzl said to and it works now. Changed line 373 or 375 (i cant remember) from zoNa = self.zoNa[0]+"S"+zoNa[2] to zoNa = zoNa[0]+"S"+zoNa[2] now it works fine.