lemonbar: Move all lemonbar parsing to units.
Remove i3 workspaces dependency on lemonbar. Implement sorting and alignment of modules
This commit is contained in:
@@ -10,11 +10,9 @@ import i3_lemonbar_config as config
|
||||
import i3_lemonbar_common as common
|
||||
import i3_lemonbar_modules as modules
|
||||
import i3_lemonbar_parser as lemonparser
|
||||
import i3_workspaces as wspaces
|
||||
|
||||
p_conky_slow = None
|
||||
p_lemonbar = None
|
||||
i3_ws_obj = None
|
||||
|
||||
def assert_only_instance():
|
||||
"""
|
||||
@@ -90,19 +88,16 @@ def clean_up():
|
||||
nice_delete(config.fifo_file_status)
|
||||
nice_term(p_conky_slow)
|
||||
modules.stop_all()
|
||||
if i3_ws_obj is not None:
|
||||
i3_ws_obj.quit()
|
||||
sys.exit(0)
|
||||
|
||||
def write_sys_status():
|
||||
global i3_ws_obj
|
||||
|
||||
i3_ws_obj = wspaces.i3ws(logger=common.logger, fifo_file=config.fifo_file_status)
|
||||
i3_ws_obj.work()
|
||||
|
||||
def queue_parse_job(job):
|
||||
common.parsing_queue.put(job)
|
||||
|
||||
def keep_fifo_open():
|
||||
with open(config.fifo_file_status, 'w', buffering=1) as fifo_write:
|
||||
while True:
|
||||
fifo_write.write('HEARTBEAT\n')
|
||||
time.sleep(30)
|
||||
def put_fifo_in_queue():
|
||||
with open(config.fifo_file_status, 'r', buffering=1) as fifo_read:
|
||||
# Let parser read from fifo
|
||||
@@ -263,8 +258,8 @@ if __name__ == "__main__":
|
||||
# Create readers before writers
|
||||
i3_thread(target = exec_commands, desc='Exec commands thread')
|
||||
i3_thread(target = parse_status, desc='Parse status thread')
|
||||
i3_thread(target = keep_fifo_open, desc='')
|
||||
i3_thread(target = put_fifo_in_queue, desc='')
|
||||
i3_thread(target = write_sys_status, desc='Write sys status thread')
|
||||
i3_thread(target = user_screen, desc='Screen thread for user commands')
|
||||
modules.start_all()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user