about summary refs log tree commit diff stats
path: root/ranger/gui/ui.py
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2009-12-04 15:28:23 +0100
committerhut <hut@lavabit.com>2009-12-04 15:28:23 +0100
commitcc952d63d81e410d1c7dd3bfbe91ee6cfdd3d7a8 (patch)
tree1847868fa91abab4bba2df3a7d5212c467d7521b /ranger/gui/ui.py
parentb810fe28876d750495ac05d9993ce02afb561c01 (diff)
downloadranger-cc952d63d81e410d1c7dd3bfbe91ee6cfdd3d7a8.tar.gz
"openwith_quick" console mode added
Diffstat (limited to 'ranger/gui/ui.py')
-rw-r--r--ranger/gui/ui.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/ranger/gui/ui.py b/ranger/gui/ui.py
index 79077cbc..5cc519b1 100644
--- a/ranger/gui/ui.py
+++ b/ranger/gui/ui.py
@@ -19,22 +19,23 @@ class MouseEvent():
 
 class UI():
 	def __init__(self, env, commandlist, colorscheme):
+		import os
+		os.environ['ESCDELAY'] = '25' # don't know a cleaner way
+
 		self.env = env
 		self.commandlist = commandlist
 		self.colorscheme = colorscheme
 		self.is_set_up = False
+		self.win = curses.initscr()
 
 		self.widgets = []
 
 	def initialize(self):
-		# dunno if there's a better way for doing this:
-		import os
-		os.environ['ESCDELAY'] = '25'
 
-		self.win = curses.initscr()
 		self.win.leaveok(0)
 		self.win.keypad(1)
 
+		curses.cbreak()
 		curses.noecho()
 		curses.halfdelay(20)
 		curses.curs_set(0)
@@ -48,7 +49,17 @@ class UI():
 		if not self.is_set_up:
 			self.is_set_up = True
 			self.setup()
-			self.resize()
+		self.resize()
+
+	def exit(self):
+		from ranger.helper import log
+		log("exiting ui!")
+		self.win.keypad(0)
+		curses.nocbreak()
+		curses.echo()
+		curses.curs_set(1)
+		curses.mousemask(0)
+		curses.endwin()
 
 	def handle_mouse(self, fm):
 		try:
@@ -108,11 +119,6 @@ class UI():
 		cmd.execute(fm)
 		self.env.key_clear()
 
-	def exit(self):
-		curses.nocbreak()
-		curses.echo()
-		curses.endwin()
-
 	def draw(self):
 		self.win.erase()
 		for widg in self.widgets: