diff options
-rw-r--r-- | examples/plugins/lunar | 48 | ||||
-rw-r--r-- | src/plugins/lunar.py | 2 |
2 files changed, 49 insertions, 1 deletions
diff --git a/examples/plugins/lunar b/examples/plugins/lunar new file mode 100644 index 0000000..d2798da --- /dev/null +++ b/examples/plugins/lunar @@ -0,0 +1,48 @@ +# -*- python -*- + +# A xpybar configuration example testing the features of plugins.chase + +import time +import threading + +from plugins.lunar import Lunar +from plugins.clock import Clock + + +OUTPUT, HEIGHT, YPOS, TOP = 0, 12, 24, True + + +clock = Clock(sync_to = Clock.SECONDS) + +start_ = start +def start(): + start_() + async(lambda : clock.continuous_sync(lambda : bar.invalidate())) + + +def redraw(): + lunar_ = Lunar() + fraction = lunar_.fraction + waxing = lunar_.waxing + terminator = lunar_.terminator + illumination = lunar_.illumination * 100 + if terminator == 0: + terminator = '0°' + elif terminator > 0: + terminator = '%.0f°E' % terminator + else: + terminator = '%.0f°W' % -terminator + phase = 'new moon' + if fraction < 0.25: phase = 'waxing crescent' + elif fraction == 0.25: phase = 'first quarter' + elif fraction < 0.50: phase = 'waxing gibbous' + elif fraction == 0.50: phase = 'full moon' + elif fraction < 0.75: phase = 'waning gibbous' + elif fraction == 0.75: phase = 'last quarter' + else: phase = 'waning crescent' + colour = '34' if waxing else '31' + text = 'Lunar: \033[%sm%.0f\033[m%% %s %0.4f %s' + text %= (colour, illumination, terminator, fraction, phase) + bar.clear() + bar.draw_coloured_text(0, 10, 0, 2, text) + diff --git a/src/plugins/lunar.py b/src/plugins/lunar.py index 43f707a..48443db 100644 --- a/src/plugins/lunar.py +++ b/src/plugins/lunar.py @@ -62,7 +62,7 @@ class Lunar: self.fraction = ((now - ref) / Lunar.SYNODIC_MONTH) % 1 self.waxing = self.fraction <= 0.5 # we get an off by one without equality - self.terminator = 90 - 360 * fraction # sunlit trailing + self.terminator = 90 - 360 * self.fraction # sunlit trailing if self.terminator < -90: self.terminator += 180 # visible side |