diff --git a/reporting/markslider.py b/reporting/markslider.py index 9c17ab7..79e318c 100755 --- a/reporting/markslider.py +++ b/reporting/markslider.py @@ -20,7 +20,7 @@ '''Markslider: a slideshow engine based on markdown.''' __author__ = "Ville Rantanen " -__version__ = "0.7" +__version__ = "0.8" import sys,os,argparse,re from argparse import ArgumentParser @@ -185,12 +185,14 @@ def get_interactive_help_text(): return ''' left/right,page up/down,home,end change page q exit browser + M modify file with VIM r reload the file s toggle status bar t toggle timer (reqs. --timer switch) ,/. scroll page up/down move highlight - h help''' + enter execute highlighted line + h help''' def setup_options(): ''' Create command line options ''' @@ -397,15 +399,19 @@ def browser(opts,filename): if inkey==ord('r'): reader.read() offset=offset_change(opts,reader,offset,(0, 0)) + if inkey==ord('M'): + modify_file(reader,offset) + reader.read() + offset=offset_change(opts,reader,offset,(0, 0)) if inkey==ord(','): offset=offset_change(opts,reader,offset,(-1, 0)) if inkey==ord('.'): offset=offset_change(opts,reader,offset,(1, 0)) - if inkey==65: + if inkey==65: # up offset=offset_change(opts,reader,offset,(0, -1)) - if inkey==66: + if inkey==66: # down offset=offset_change(opts,reader,offset,(0, 1)) - if inkey==13: + if inkey==13: # enter launch(reader,opts,offset) break @@ -497,6 +503,13 @@ def launch(reader,opts,offset): shell=True) return return + +def modify_file(reader,offset): + row=1 + for page in range(reader.page): + row+=len(reader.data[page]) + subprocess.call("vim +%d -c 'exe \"normal! zt\"' -c %d %s"%(row,row+offset[1],reader.filename), + shell=True) def take_screenshot(reader,opts): out_file=os.path.join(opts.screenshots,"slide%03d.png"%(reader.page+1))