summary refs log tree commit diff stats
path: root/code/ui.py
diff options
context:
space:
mode:
Diffstat (limited to 'code/ui.py')
-rw-r--r--code/ui.py39
1 files changed, 38 insertions, 1 deletions
diff --git a/code/ui.py b/code/ui.py
index 0e48a68a..7d8fd828 100644
--- a/code/ui.py
+++ b/code/ui.py
@@ -1,4 +1,41 @@
+import curses
 class UI():
+	def __init__(self, options):
+		self.scr = curses.initscr()
+		self.scr.leaveok(1)
+		curses.noecho()
+		curses.halfdelay(3)
+
+		self.options = options
+		self.directories = None
+		self.pwd = None
+		self.cf = None
+		self.termsize = None
+		self.rows = 0
+		self.cols = 0
+
+	def feed(self, directories, pwd, cf, termsize):
+		self.directories = directories
+		self.pwd = pwd
+		self.cf = cf
+		self.termsize = termsize
+		self.cols = termsize.x
+		self.rows = termsize.y
+
+	def exit(self):
+		curses.nocbreak()
+		curses.echo()
+		curses.endwin()
+
 	def draw(self):
 		import time
-		time.sleep(0.1)
+		self.scr.erase()
+		for i in range(1, len(self.pwd)):
+			self.scr.addstr(i, 0, self.pwd[i])
+		self.scr.refresh()
+
+	def get_next_key(self):
+		key = self.scr.getch()
+		curses.flushinp()
+		return key
+