Command line shows multiple lines
This commit is contained in:
parent
1dd9f79553
commit
69fc5db07d
|
@ -37,6 +37,24 @@ def get(key, all=False):
|
|||
return settings[key.upper()]
|
||||
|
||||
|
||||
#def replace(key,value):
|
||||
# global settings
|
||||
# if (key in settings) == True:
|
||||
# del settings[key]
|
||||
# set(key,value)
|
||||
|
||||
|
||||
def pop(key):
|
||||
global settings
|
||||
value = None
|
||||
if (key in settings) == True:
|
||||
values = settings[key]
|
||||
if len(values) > 0:
|
||||
value = values.pop(0)
|
||||
return value
|
||||
|
||||
|
||||
|
||||
# Read settings from file
|
||||
def readfile(file):
|
||||
write("Reading file: "+file,True)
|
||||
|
|
|
@ -17,6 +17,7 @@ from bt.message import *
|
|||
import bt.needle
|
||||
|
||||
import cline.loop
|
||||
import cline.message
|
||||
import settings
|
||||
|
||||
global maxxy, stdscr, thread
|
||||
|
@ -38,8 +39,9 @@ def open():
|
|||
settings.set("stdscr", stdscr)
|
||||
settings.set("maxxy", maxxy)
|
||||
settings.set("prompt", ">>> ")
|
||||
#settings.set("clinex", 0)
|
||||
#settings.set("cliney", 0)
|
||||
settings.set("clinex", 0)
|
||||
settings.set("cliney", 0)
|
||||
settings.set("write", cline.message.insert)
|
||||
|
||||
# Start loop in new thread
|
||||
thread = bt.needle.Needle(cline.loop.loop)
|
||||
|
|
|
@ -20,18 +20,20 @@ def addch(input):
|
|||
if c == 10:
|
||||
input = enter(input)
|
||||
|
||||
elif c == 127:
|
||||
input = backspace(input)
|
||||
|
||||
elif(c >= 32 and c<= 126):
|
||||
input += curses.keyname(c)
|
||||
|
||||
elif c == 127:
|
||||
input = backspace(input)
|
||||
|
||||
return input
|
||||
|
||||
|
||||
|
||||
# Remove the last character in input
|
||||
def backspace(input):
|
||||
stdscr = settings.get("stdscr")
|
||||
stdscr.deleteln()
|
||||
l = len(input)
|
||||
if(l>4):
|
||||
return input[:l-1]
|
||||
|
|
|
@ -13,7 +13,7 @@ import settings
|
|||
|
||||
# Command line related imports
|
||||
from addch import addch
|
||||
from message import insert
|
||||
from message import *
|
||||
|
||||
|
||||
global halt
|
||||
|
@ -28,11 +28,11 @@ def loop():
|
|||
#stdscr = settings.get("stdscr")
|
||||
input = settings.get("prompt")
|
||||
(y, x) = settings.get("stdscr").getyx()
|
||||
insert(input, y)
|
||||
disp(input)
|
||||
|
||||
while halt == False:
|
||||
input = addch(input)
|
||||
insert(input, y)
|
||||
disp(input)
|
||||
|
||||
|
||||
def quit():
|
||||
|
|
|
@ -8,8 +8,18 @@ __date__ ="$Dec 19, 2009 11:57:19 PM$"
|
|||
|
||||
import settings
|
||||
|
||||
def insert(string, y):
|
||||
stdscr = settings.get("stdscr")
|
||||
|
||||
stdscr.deleteln()
|
||||
# Add string to line y
|
||||
def insert(string):
|
||||
stdscr = settings.get("stdscr")
|
||||
y = settings.pop("cliney")
|
||||
y+=1
|
||||
settings.set("cliney", y)
|
||||
stdscr.addstr(y, 0, string)
|
||||
|
||||
|
||||
# Replace the string on the current line
|
||||
def disp(string):
|
||||
stdscr = settings.get("stdscr")
|
||||
stdscr.addstr(settings.get("cliney"), 0, string)
|
||||
#insert(string, settings.get("cliney"))
|
||||
|
|
|
@ -7,6 +7,7 @@ __author__="bjschuma"
|
|||
__date__ ="$Dec 19, 2009 11:38:46 PM$"
|
||||
|
||||
from manager import manager
|
||||
import settings
|
||||
|
||||
|
||||
# Check for valid input
|
||||
|
@ -18,4 +19,7 @@ def run(input):
|
|||
manager.run(split[0],split[1:])
|
||||
else:
|
||||
manager.run(input)
|
||||
|
||||
y = settings.get("cliney")
|
||||
settings.replace("cliney", y+1)
|
||||
return prompt
|
||||
|
|
Loading…
Reference in New Issue