'Run the prompt
Displays a prompt and starts to take one line of keyboard input from
the user. When done, calls the callback with the input string as
argument. If history record is enabled, also allows to browse between
previous commands with â and â, and execute them (untouched or
modified). When history is exhausted, fires an alert. It tries to
mimic, in some way, the shell behavior.
Parameters
complete :
Tab-completion. Can be None, "cmd", "file", "group", "qshell" or
"window".
prompt :
text displayed at the prompt, e.g. "spawn: "
callback :
function to call with returned value.
complete :
completer to use.
strict_completer :
When True the return value wil be the exact completer result where
available.'

def startInput(self, prompt, callback, complete=None, strict_completer=False):

    if (self.cursor and self.cursorblink and (not self.active)):
        self.timeout_add(self.cursorblink, self._blink)
    self.display = self.prompt.format(prompt=prompt)
    self.display = pangocffi.markup_escape_text(self.display)
    self.active = True
    self.userInput = ''
    self.archivedInput = ''
    self.show_cursor = self.cursor
    self.cursor_position = 0
    self.callback = callback
    self.completer = self.completers[complete](self.qtile)
    self.strict_completer = strict_completer
    self._update()
    self.bar.widget_grab_keyboard(self)
    if self.record_history:
        self.completer_history = self.history[complete]
        self.position = len(self.completer_history)
