powerline/scripts/powerline-render

44 lines
1.2 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env python
# vim:fileencoding=utf-8:noet
'''Powerline prompt and statusline script.'''
import sys
import os
2012-11-26 16:16:39 +01:00
try:
from powerline.shell import ShellPowerline, get_argparser, finish_args
except ImportError:
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(os.path.realpath(__file__)))))
from powerline.shell import ShellPowerline, get_argparser, finish_args # NOQA
2013-01-10 19:55:18 +01:00
def write(output):
try:
sys.stdout.write(output)
except UnicodeEncodeError:
sys.stdout.write(output.encode('utf-8'))
2013-01-10 19:55:18 +01:00
if __name__ == '__main__':
args = get_argparser(description=__doc__).parse_args()
finish_args(args)
2013-03-31 22:01:51 +02:00
powerline = ShellPowerline(args, run_once=True)
2013-05-06 17:13:31 +02:00
segment_info = {'args': args, 'environ': os.environ}
if args.renderer_arg:
segment_info.update(args.renderer_arg)
if args.side.startswith('above'):
for line in powerline.render_above_lines(
width=args.width,
segment_info=segment_info,
mode=os.environ.get('_POWERLINE_MODE'),
):
write(line)
sys.stdout.write('\n')
args.side = args.side[len('above'):]
if args.side:
rendered = powerline.render(
width=args.width,
side=args.side,
segment_info=segment_info,
mode=os.environ.get('_POWERLINE_MODE'),
)
write(rendered)