boon

unix terminal framework
git clone https://git.ce9e.org/boon.git

commit
4d9cb4b000ac2a1d9081a8d754fa58f07660db3e
parent
e7921dd2b14ad5ad7c01581f2c28118be1bf3a4b
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2020-07-11 15:35
return str instead of bytes from getch

Diffstat

M boon.py 30 +++++++++++++++---------------

1 files changed, 15 insertions, 15 deletions


diff --git a/boon.py b/boon.py

@@ -13,18 +13,18 @@ curses.setupterm()
   13    13 
   14    14 # FIXME: tigertstr uses \x1bO (SS3) instead of \x1b[ (CSI) as prefix
   15    15 # https://en.wikipedia.org/wiki/ANSI_escape_code
   16    -1 KEY_BACKSPACE = curses.tigetstr('kbs')
   17    -1 KEY_ESC = b'\x1b'
   18    -1 KEY_HOME = curses.tigetstr('khome')
   19    -1 KEY_END = curses.tigetstr('kend')
   20    -1 KEY_INSERT = curses.tigetstr('kich1')
   21    -1 KEY_DELETE = curses.tigetstr('kdch1')
   22    -1 KEY_PPAGE = curses.tigetstr('kpp')
   23    -1 KEY_NPAGE = curses.tigetstr('knp')
   24    -1 KEY_UP = curses.tigetstr('kcuu1')
   25    -1 KEY_DOWN = curses.tigetstr('kcud1')
   26    -1 KEY_RIGHT = curses.tigetstr('kcuf1')
   27    -1 KEY_LEFT = curses.tigetstr('kcub1')
   -1    16 KEY_BACKSPACE = curses.tigetstr('kbs').decode('ascii')
   -1    17 KEY_ESC = '\x1b'
   -1    18 KEY_HOME = curses.tigetstr('khome').decode('ascii')
   -1    19 KEY_END = curses.tigetstr('kend').decode('ascii')
   -1    20 KEY_INSERT = curses.tigetstr('kich1').decode('ascii')
   -1    21 KEY_DELETE = curses.tigetstr('kdch1').decode('ascii')
   -1    22 KEY_PPAGE = curses.tigetstr('kpp').decode('ascii')
   -1    23 KEY_NPAGE = curses.tigetstr('knp').decode('ascii')
   -1    24 KEY_UP = curses.tigetstr('kcuu1').decode('ascii')
   -1    25 KEY_DOWN = curses.tigetstr('kcud1').decode('ascii')
   -1    26 KEY_RIGHT = curses.tigetstr('kcuf1').decode('ascii')
   -1    27 KEY_LEFT = curses.tigetstr('kcub1').decode('ascii')
   28    28 
   29    29 
   30    30 def getsize():
@@ -90,7 +90,7 @@ def getch():
   90    90 		flags[6][termios.VMIN] = 0
   91    91 		flags[6][termios.VTIME] = 0
   92    92 		termios.tcsetattr(fd, termios.TCSADRAIN, flags)
   93    -1 		return os.read(fd, 8)
   -1    93 		return os.read(fd, 8).decode('ascii')
   94    94 
   95    95 
   96    96 # https://github.com/tartley/colorama/blob/master/colorama/ansi.py
@@ -149,11 +149,11 @@ class Example(App):
  149   149 		self.keys = ['f', 'b', 'z']
  150   150 
  151   151 	def on_key(self, key):
  152    -1 		if key == b'q':
   -1   152 		if key == 'q':
  153   153 			sys.exit(0)
  154   154 		elif key == KEY_BACKSPACE:
  155   155 			self.keys.pop()
  156    -1 		else:
   -1   156 		elif key in 'abcdefghijklmnopqrstuvwxyz':
  157   157 			self.keys.append(key)
  158   158 
  159   159 	def render(self):