centering
This commit is contained in:
@@ -57,6 +57,8 @@ class slide_reader:
|
||||
self.page=0
|
||||
self.width=None
|
||||
self.height=None
|
||||
self.max_width=None
|
||||
self.max_height=None
|
||||
self.data=[]
|
||||
self.re_image_convert=re.compile("(.*)(!\[.*\])\((.*)\)>")
|
||||
self.re_command=re.compile("(.*)`(.*)`>(.*)")
|
||||
@@ -95,7 +97,12 @@ class slide_reader:
|
||||
self.toc()
|
||||
self.pages=len(self.data)
|
||||
self.inc_page_no(0)
|
||||
|
||||
self.max_width=0
|
||||
self.max_height=0
|
||||
for page in self.data:
|
||||
self.max_height=max(self.max_height, len(page))
|
||||
for row in page:
|
||||
self.max_width=max(self.max_width, len(row))
|
||||
|
||||
def get_data(self):
|
||||
return self.data
|
||||
@@ -136,6 +143,10 @@ class slide_reader:
|
||||
return self.height
|
||||
def get_page_width(self):
|
||||
return self.width
|
||||
def get_max_height(self):
|
||||
return self.max_height
|
||||
def get_max_width(self):
|
||||
return self.max_width
|
||||
|
||||
def toc(self):
|
||||
if self.opts.toc:
|
||||
@@ -254,6 +265,8 @@ Keyboard shortcuts:
|
||||
execution = parser.add_argument_group('execution')
|
||||
control = parser.add_argument_group('controls')
|
||||
|
||||
content.add_argument("--center",action="store_true",dest="center",default=False,
|
||||
help="Center slides on screen.")
|
||||
content.add_argument("--dc",action="store_true",dest="dark_colors",default=False,
|
||||
help="Use dark colorscheme, better for white background terminals.")
|
||||
content.add_argument("-m",action="store_false",dest="autocolor",default=True,
|
||||
@@ -302,10 +315,11 @@ def page_print(reader,opts,offset):
|
||||
scrsize=opts.size
|
||||
# clear page
|
||||
bc.clear()
|
||||
if False: # Placeholder for 80x25 center alignment
|
||||
align_x_offset=scrsize[1]/2-40
|
||||
if opts.center: # Placeholder for 80x25 center alignment
|
||||
align_width=reader.get_max_width()
|
||||
align_x_offset=scrsize[1]/2-align_width/2
|
||||
align_pad=" "*align_x_offset
|
||||
align_y_offset=scrsize[0]/2-12
|
||||
align_y_offset=scrsize[0]/2-reader.get_max_height()/2
|
||||
bc.down_line(align_y_offset)
|
||||
else:
|
||||
align_pad=""
|
||||
@@ -317,6 +331,8 @@ def page_print(reader,opts,offset):
|
||||
print(align_pad+colorify(coloring+page[0],opts)+bc.Z)
|
||||
|
||||
# Print page rows
|
||||
if not opts.wrap:
|
||||
page=[cut_line(row,scrsize[1]-1) for row in page]
|
||||
parsed=md_color.parse(page)
|
||||
if opts.autocolor:
|
||||
colored=md_color.colorize(parsed,not opts.color,opts.dark_colors)
|
||||
@@ -331,11 +347,11 @@ def page_print(reader,opts,offset):
|
||||
if row_i<offset[0]: continue
|
||||
row=page[row_i]
|
||||
#page[1+offset[0]:]:
|
||||
if not opts.wrap:
|
||||
row=cut_line(row,scrsize[1]-1)
|
||||
row_lines=0
|
||||
else:
|
||||
if opts.wrap:
|
||||
row_lines=int(float(len(row))/scrsize[1])
|
||||
else:
|
||||
row_lines=0
|
||||
|
||||
colored_row=colored[row_i]#=colorify(row,opts)
|
||||
if offset[1]==r+1+offset[0]:
|
||||
colored_row=add_highlight(row,opts)
|
||||
|
||||
Reference in New Issue
Block a user