def run(thread_shutdown_event=None, pl_shutdown_event=None, pl_config_loader=None, interval=None): powerline = Powerline( 'wm', renderer_module='pango_markup', shutdown_event=pl_shutdown_event, config_loader=pl_config_loader, ) powerline.update_renderer() if not thread_shutdown_event: thread_shutdown_event = powerline.shutdown_event while not thread_shutdown_event.is_set(): # powerline.update_interval may change over time used_interval = interval or powerline.update_interval start_time = monotonic() s = powerline.render(side='right') request = 'powerline_widget:set_markup(\'' + s.translate({ '\'': '\\\'', '\\': '\\\\' }) + '\')\n' client = Popen(['awesome-client'], shell=False, stdout=PIPE, stderr=PIPE, stdin=PIPE) client.stdin.write(request.encode('utf-8')) client.stdin.close() read_to_log(powerline.pl, client) thread_shutdown_event.wait( max(used_interval - (monotonic() - start_time), 0.1))
import time from threading import Lock import i3 from powerline import Powerline from powerline.lib.monotonic import monotonic if __name__ == '__main__': name = 'wm' if len(sys.argv) > 1: name = sys.argv[1] powerline = Powerline(name, renderer_module='i3bar') powerline.update_renderer() interval = 0.5 print('{"version": 1, "custom_workspace": true}') print('[') print('\t[[],[]]') lock = Lock() def render(event=None, data=None, sub=None): global lock with lock: s = '[\n' + powerline.render(side='right')[:-2] + '\n]\n' s += ',[\n' + powerline.render(side='left')[:-2] + '\n]' print(',[\n' + s + '\n]')
# vim:fileencoding=utf-8:noet from __future__ import print_function from powerline import Powerline from powerline.lib.monotonic import monotonic import sys import time import i3 from threading import Lock name = 'wm' if len( sys.argv ) > 1: name = sys.argv[1] powerline = Powerline(name, renderer_module='i3bgbar') powerline.update_renderer() interval = 0.5 print( '{"version": 1, "custom_workspace": true}' ) print( '[' ) print( ' [[],[]]' ) lock = Lock() def render( event=None, data=None, sub=None ): global lock with lock: s = '[\n' + powerline.render(side='right')[:-2] + '\n]\n' s += ',[\n' + powerline.render(side='left' )[:-2] + '\n]' print( ',[\n' + s + '\n]' )