summary refs log tree commit diff stats
path: root/ranger/gui/ui.py
diff options
context:
space:
mode:
Diffstat (limited to 'ranger/gui/ui.py')
-rw-r--r--ranger/gui/ui.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/ranger/gui/ui.py b/ranger/gui/ui.py
index a0aa800f..2b6612b1 100644
--- a/ranger/gui/ui.py
+++ b/ranger/gui/ui.py
@@ -8,7 +8,7 @@ import _curses
 
 from .displayable import DisplayableContainer
 from .mouse_event import MouseEvent
-from ranger.ext.keybinding_parser import ALT_KEY
+from ranger.ext.keybinding_parser import KeyBuffer, KeyMaps, ALT_KEY
 
 TERMINALS_WITH_TITLE = ("xterm", "xterm-256color", "rxvt",
 		"rxvt-256color", "rxvt-unicode", "rxvt-unicode-256color",
@@ -41,24 +41,28 @@ class UI(DisplayableContainer):
 	is_set_up = False
 	load_mode = False
 	is_on = False
+	termsize = (24, 80)
+
 	def __init__(self, env=None, fm=None):
 		self._draw_title = os.environ["TERM"] in TERMINALS_WITH_TITLE
-		os.environ['ESCDELAY'] = '25'   # don't know a cleaner way
+		self.keybuffer = KeyBuffer()
+		self.keymaps = KeyMaps(self.keybuffer)
+		self.keymaps.use_keymap('browser')
 
 		if env is not None:
 			self.env = env
 		if fm is not None:
 			self.fm = fm
 
+	def setup_curses(self):
+		os.environ['ESCDELAY'] = '25'   # don't know a cleaner way
 		try:
 			self.win = curses.initscr()
 		except _curses.error as e:
 			if e.args[0] == "setupterm: could not find terminal":
 				os.environ['TERM'] = 'linux'
 				self.win = curses.initscr()
-		self.env.keymaps.use_keymap('browser')
 		self.termsize = self.win.getmaxyx()
-
 		DisplayableContainer.__init__(self, None)
 
 	def initialize(self):
@@ -136,14 +140,14 @@ class UI(DisplayableContainer):
 			self.hint()
 
 		if key < 0:
-			self.env.keybuffer.clear()
+			self.keybuffer.clear()
 
 		elif not DisplayableContainer.press(self, key):
-			self.env.keymaps.use_keymap('browser')
+			self.keymaps.use_keymap('browser')
 			self.press(key)
 
 	def press(self, key):
-		keybuffer = self.env.keybuffer
+		keybuffer = self.keybuffer
 		self.status.clear_message()
 
 		keybuffer.add(key)
d425e0'>a4b4ed71 ^
30b5f112 ^




45a26b11 ^





30b5f112 ^
71679a31 ^

45a26b11 ^
30b5f112 ^
45a26b11 ^
45a26b11 ^
8a113ad6 ^
2f82f50a ^
86c1c388 ^
1a3dc91e ^
45a26b11 ^

d39bcdc1 ^
fbc30231 ^

















cd2458c0 ^

0ae975c2 ^

b21edfaa ^
cd2458c0 ^
0aa758cb ^

d3cc5bd7 ^



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85