import curses
import signal
+import os
def set_window_geometries():
and x_in_screen < screen_size[1]):
stdscr.addch(y_in_screen, x_in_screen, cell)
def draw_scroll_hints():
- def draw_scroll_string(hint_number):
- hint = ' ' + str(hint_number + 1) + ' more ' + unit + ' '
+ def draw_scroll_string(n_lines_outside):
+ hint = ' ' + str(n_lines_outside + 1) + ' more ' + unit + ' '
if len(hint) <= win["size"][ni]:
non_hint_space = win["size"][ni] - len(hint)
hint_offset = int(non_hint_space / 2)
while True:
draw_screen()
char = stdscr.getch()
- if (char >= 0 and chr(char) == 'Q'):
- exit()
+ if (char >= 0):
+ if chr(char) in commands:
+ commands[chr(char)]()
+
def foo():
winmap = ['.', 'o', '.', 'o', 'O', 'o', '.', 'o', '.', 'x', 'y', 'x']
return offset, size, winmap
+def command_quit():
+ io["file_out"].write("QUIT\n")
+ io["file_out"].flush()
+ exit()
+
+
windows = [
{"config": [1, 33], "func": foo},
{"config": [-7, 33], "func": foo},
{"config": [4, 16], "func": foo},
{"config": [0, -34], "func": foo}
]
+io = {
+ "path_out": "server/in"
+}
+commands = {
+ "Q": command_quit
+}
+
sep_size = 1 # Width of inter-window borders and title bars.
stdscr = None
screen_size = [0,0]
-
+if (not os.access(io["path_out"], os.F_OK)):
+ print("No server input file found at expected location.")
+ exit()
+io["file_out"] = open(io["path_out"], "a")
curses.wrapper(main)
+io["file_out"].close()