- commit
- d1dc7d13df506870aa0180a700dd286d5b2a400e
- parent
- 766e64d0636c2a6f8ceb1de9843f7d0ce0fceda5
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2020-09-03 09:40
use get_wch (unicode input support)
Diffstat
| M | cplay.py | 56 | ++++++++++++++++++++++++++++---------------------------- |
1 files changed, 28 insertions, 28 deletions
diff --git a/cplay.py b/cplay.py
@@ -207,17 +207,17 @@ class List: 207 207 yield '' 208 208 209 209 def process_key(self, key):210 -1 if key in [curses.KEY_DOWN, ord('j')]:-1 210 if key in [curses.KEY_DOWN, 'j']: 211 211 self.move_cursor(1)212 -1 elif key in [curses.KEY_UP, ord('k')]:-1 212 elif key in [curses.KEY_UP, 'k']: 213 213 self.move_cursor(-1)214 -1 elif key in [curses.KEY_NPAGE, ord('J')]:-1 214 elif key in [curses.KEY_NPAGE, 'J']: 215 215 self.move_cursor(self.rows - 2)216 -1 elif key in [curses.KEY_PPAGE, ord('K')]:-1 216 elif key in [curses.KEY_PPAGE, 'K']: 217 217 self.move_cursor(-(self.rows - 2))218 -1 elif key in [curses.KEY_END, ord('G')]:-1 218 elif key in [curses.KEY_END, 'G']: 219 219 self.set_cursor(len(self.items))220 -1 elif key in [curses.KEY_HOME, ord('g')]:-1 220 elif key in [curses.KEY_HOME, 'g']: 221 221 self.set_cursor(0) 222 222 else: 223 223 return False @@ -236,7 +236,7 @@ class HelpList(List): 236 236 return item 237 237 238 238 def process_key(self, key):239 -1 if key in [ord('q'), ord('h')]:-1 239 if key in ['q', 'h']: 240 240 app.help = False 241 241 else: 242 242 return super().process_key(key) @@ -270,10 +270,10 @@ class Filelist(List): 270 270 self.cursor = 0 271 271 272 272 def process_key(self, key):273 -1 if key == ord('a'):-1 273 if key == 'a': 274 274 if playlist.add(self.items[self.cursor]): 275 275 self.move_cursor(1)276 -1 elif key == ord('\n'):-1 276 elif key == '\n': 277 277 item = self.items[self.cursor] 278 278 ext = item.rsplit('.', 1)[-1] 279 279 if os.path.isdir(item): @@ -412,26 +412,26 @@ class Playlist(List): 412 412 return 0 413 413 414 414 def process_key(self, key):415 -1 if key == ord('m'):-1 415 if key == 'm': 416 416 self.move_item(1)417 -1 elif key == ord('M'):-1 417 elif key == 'M': 418 418 self.move_item(-1)419 -1 elif key == ord('d'):-1 419 elif key == 'd': 420 420 self.remove_item()421 -1 elif key == ord('D'):-1 421 elif key == 'D': 422 422 self.clear()423 -1 elif key == ord('\n'):-1 423 elif key == '\n': 424 424 self.active = self.cursor 425 425 player.play(self.items[self.active])426 -1 elif key == ord('@'):-1 426 elif key == '@': 427 427 self.set_cursor(self.active)428 -1 elif key == ord('s'):-1 428 elif key == 's': 429 429 self.shuffle()430 -1 elif key == ord('S'):-1 430 elif key == 'S': 431 431 self.sort()432 -1 elif key == ord('r'):-1 432 elif key == 'r': 433 433 self.repeat = not self.repeat434 -1 elif key == ord('R'):-1 434 elif key == 'R': 435 435 self.random = not self.random 436 436 else: 437 437 return super().process_key(key) @@ -498,23 +498,23 @@ class Application: 498 498 def process_key(self, key): 499 499 if self.tab.process_key(key): 500 500 pass501 -1 elif key in range(48, 58):502 -1 set_volume((key & 0x0f) / 9.0)-1 501 elif key in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']: -1 502 set_volume(int(key, 10) / 9.0) 503 503 elif key == curses.KEY_RIGHT: 504 504 player.seek(1) 505 505 elif key == curses.KEY_LEFT: 506 506 player.seek(-1)507 -1 elif key == ord('x'):-1 507 elif key == 'x': 508 508 player.toggle()509 -1 elif key == ord('n'):-1 509 elif key == 'n': 510 510 player.play(playlist.next())511 -1 elif key == ord('h'):-1 511 elif key == 'h': 512 512 self.help = True513 -1 elif key in [ord('q'), ord('Q')]:-1 513 elif key in ['q', 'Q']: 514 514 sys.exit(0)515 -1 elif key == ord('\t'):-1 515 elif key == '\t': 516 516 app.toggle_tabs()517 -1 elif key == ord('l'):-1 517 elif key == 'l': 518 518 self.verbose = not self.verbose 519 519 else: 520 520 return False @@ -536,7 +536,7 @@ class Application: 536 536 continue 537 537 538 538 if sys.stdin in r:539 -1 self.process_key(screen.getch())-1 539 self.process_key(screen.get_wch()) 540 540 if player.stderr_r in r: 541 541 player.parse_progress(player.stderr_r) 542 542