summary refs log tree commit diff stats
path: root/test/stuff/test3.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/stuff/test3.py')
-rw-r--r--test/stuff/test3.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/stuff/test3.py b/test/stuff/test3.py
new file mode 100644
index 00000000..3b1986b7
--- /dev/null
+++ b/test/stuff/test3.py
@@ -0,0 +1,69 @@
+#!/usr/bin/python3
+# coding=utf-8
+# some tests with curses, threads and unicode
+import os
+import curses
+import time
+import locale
+
+lock = _thread.allocate_lock()
+
+locale.setlocale(locale.LC_ALL, 'en_US.utf8')
+
+blocked = False
+stringy = 'ใ‚‹ใงใ‹'
+stdscr = curses.initscr()
+#win1 = curses.newwin(
+
+curses.noecho()
+curses.cbreak()
+curses.halfdelay(3)
+stdscr.keypad(1)
+#curses.curs_set(0)
+
+stdscr.addstr(4, 0, stringy)
+stdscr.refresh()
+
+class ThreadTest(threading.Thread):
+	def __init__(self, *a, **b):
+		threading.Thread.__init__(self, *a, **b)
+		self.killed = False
+
+	def run(self):
+		global stdscr
+		global blocked
+		for i in range(1,50):
+			while blocked: time.sleep(0.1)
+			blocked = True
+			stdscr.addstr(1, 0, str(i))
+			stdscr.refresh()
+			blocked = False
+			time.sleep(0.1)
+			if self.killed: raise SystemExit()
+
+	def kill(self):
+		self.killed = True
+
+thr = ThreadTest()
+thr.start()
+
+try:
+	while 1:
+		c = stdscr.getch()
+		if c == ord('q'): raise
+		while blocked: time.sleep(0.1)
+		blocked = True
+		stdscr.addstr(0, 0, str(c))
+		stdscr.refresh()
+		blocked = False
+
+except Exception:
+	thr.kill()
+	raise
+finally:
+	curses.nocbreak()
+	stdscr.keypad(1)
+	curses.echo()
+	curses.endwin()
+#	curses.curs_set(1)
+
c/blame/aerc.go?h=0.1.1&id=fe79a9a5879936a7f5b16cc6a8be1d93ec1bfae7'>^
10dd23f ^

577248f ^




5d0402a ^




fa04a1e ^
10dd23f ^


8126d82 ^





aeb7005
648ca98 ^



a21afda ^




1767e4f ^
a21afda ^

a0be5e8 ^

39c93d2 ^

60b351b ^
f406bf5 ^



b60999c ^
8126d82 ^









de122b1 ^
8126d82 ^





f406bf5 ^
8126d82 ^
b60999c ^

f406bf5 ^
77a0f68 ^


1418e1b ^
60b351b ^
de122b1 ^
1418e1b ^
661e3ec ^

305446a ^
6394e38 ^
aeb7005
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104