diff --git a/nboard b/nboard index d3c524d..3feac25 100755 --- a/nboard +++ b/nboard @@ -14,10 +14,14 @@ def main(stdscr): k='NOU' height, width = stdscr.getmaxyx() vx = vy = tx = ty = 0 + cx = width // 2 cy = height // 2 + stdscr.move(cy,cx) while True: + cx = width // 2 + cy = height // 2 stdscr.clear() @@ -25,32 +29,13 @@ def main(stdscr): # detect where to move cursor if k == 'KEY_UP': - cy += -1 + vy += -1 if k == 'KEY_DOWN': - cy += 1 + vy += 1 if k == 'KEY_LEFT': - cx += -1 + vx += -1 if k == 'KEY_RIGHT': - cx += 1 - - # enter view move mode - if k == '&': - stdscr.addstr(height-1, 0, 'Welcome to switch view mode. press an arrow key to move the view or a if you wanted a &'[:width-1]) - k = stdscr.getkey() - if k == 'a': - k = '&' - if k == 'KEY_UP': - vy += -1 - cy = height - if k == 'KEY_DOWN': - vy += 1 - cy = 0 - if k == 'KEY_LEFT': - vx += -1 - cx = width - if k == 'KEY_RIGHT': - vx += 1 - cx = 0 + vx += 1 # make sure the cursor is on the screen # this is not nessesary for the view as it is infinite @@ -61,8 +46,8 @@ def main(stdscr): cy = min(height-2, cy) # calculate true position - tx = cx + (vx * width) - width // 2 - ty = cy + (vy * height) - (height-1) // 2 + tx = cx + (vx) - width // 2 + ty = cy + (vy) - (height-1) // 2 # get json data with open(dataPath, 'r') as openfile: @@ -71,10 +56,10 @@ def main(stdscr): # if valid key pressed, write it if k in allowedChars: data[str((ty,tx))] = k - cx = min(width-1, cx+1) + vx = vx+1 with open(dataPath, 'w') as outfile: json.dump(data, outfile) - tx = cx + (vx * width) - width // 2 + tx = cx + (vx) - width // 2 # draw the screen stdscr.move(0, 0) @@ -85,7 +70,7 @@ def main(stdscr): # display some info - stdscr.addstr(height-1, 0, 'x: {}, y: {}, arrow keys to move, & key to move to the next pane'.format(tx, ty)[:width-1]) + stdscr.addstr(height-1, 0, 'x: {}, y: {}, arrow keys to move'.format(tx, ty)[:width-1]) # move the cursor where its actually supposed to be