From 0db3a6e7014011eddeddfd69ac12b80d23a1f019 Mon Sep 17 00:00:00 2001 From: Arjun Satarkar Date: Mon, 1 Jan 2024 00:17:32 +0530 Subject: Initial commit --- .gitignore | 1 + requirements.txt | 1 + terminal_clock.py | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 .gitignore create mode 100644 requirements.txt create mode 100755 terminal_clock.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f21b54 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/venv/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8c809f2 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pyfiglet==1.0.2 diff --git a/terminal_clock.py b/terminal_clock.py new file mode 100755 index 0000000..5340359 --- /dev/null +++ b/terminal_clock.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +import pyfiglet +import curses +import time + + +def main(window): + try: + curses.curs_set(0) # Invisible cursor + except curses.error: + pass + try: + curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK) + except ValueError: # There are no colours; life goes on + pass + window.bkgd(" ", curses.color_pair(1)) + while True: + figlet = pyfiglet.Figlet("lcd", justify="center", width=window.getmaxyx()[1]) + + window.erase() + try: + window.addstr( + figlet.renderText( + time.strftime("%H:%M:%S\n%Y-%m-%d\n", time.localtime()) + ), + curses.color_pair(1) | curses.A_BOLD, + ) + except curses.error: # Screen too small or something + pass + window.refresh() + + time.sleep(0.5) + + +try: + curses.wrapper(main) +except KeyboardInterrupt: + pass -- cgit v1.2.3-57-g22cb