|
|
|
@ -1922,70 +1922,71 @@ class MemBox(Box):
|
|
|
|
|
|
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
Draw.buffer("mem_misc", out_misc, only_save=True) |
|
|
|
|
|
|
|
|
|
#* Mem |
|
|
|
|
cx = 1; cy = 1 |
|
|
|
|
|
|
|
|
|
out += f'{Mv.to(y, x+1)}{THEME.title}{Fx.b}Total:{mem.string["total"]:>{cls.mem_width - 9}}{Fx.ub}{THEME.main_fg}' |
|
|
|
|
if cls.graph_height > 0: |
|
|
|
|
gli = f'{Mv.l(2)}{THEME.mem_box(Symbol.title_right)}{THEME.div_line}{Symbol.h_line * (cls.mem_width - 1)}{"" if CONFIG.show_disks else THEME.mem_box}{Symbol.title_left}{Mv.l(cls.mem_width - 1)}{THEME.title}' |
|
|
|
|
if cls.graph_height >= 2: |
|
|
|
|
gbg = f'{Mv.l(1)}' |
|
|
|
|
gmv = f'{Mv.l(cls.mem_width - 2)}{Mv.u(cls.graph_height - 1)}' |
|
|
|
|
|
|
|
|
|
big_mem: bool = True if cls.mem_width > 21 else False |
|
|
|
|
for name in cls.mem_names: |
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
if cls.mem_size > 2: |
|
|
|
|
out += (f'{Mv.to(y+cy, x+cx)}{gli}{name.capitalize()[:None if big_mem else 5]+":":<{1 if big_mem else 6.6}}{Mv.to(y+cy, x+cx + cls.mem_width - 3 - (len(mem.string[name])))}{Fx.trans(mem.string[name])}' |
|
|
|
|
f'{Mv.to(y+cy+1, x+cx)}{gbg}{Meters.mem[name](None if cls.resized else mem.percent[name])}{gmv}{str(mem.percent[name])+"%":>4}') |
|
|
|
|
cy += 2 if not cls.graph_height else cls.graph_height + 1 |
|
|
|
|
else: |
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{name.capitalize():{5.5 if cls.mem_size > 1 else 1.1}} {gbg}{Meters.mem[name](None if cls.resized else mem.percent[name])}{mem.string[name][:None if cls.mem_size > 1 else -2]:>{9 if cls.mem_size > 1 else 7}}' |
|
|
|
|
cy += 1 if not cls.graph_height else cls.graph_height |
|
|
|
|
#* Swap |
|
|
|
|
if cls.swap_on and CONFIG.show_swap and not CONFIG.swap_disk and mem.swap_string: |
|
|
|
|
if h - cy > 5: |
|
|
|
|
if cls.graph_height > 0: out += f'{Mv.to(y+cy, x+cx)}{gli}' |
|
|
|
|
cy += 1 |
|
|
|
|
|
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{THEME.title}{Fx.b}Swap:{mem.swap_string["total"]:>{cls.mem_width - 8}}{Fx.ub}{THEME.main_fg}' |
|
|
|
|
cy += 1 |
|
|
|
|
for name in cls.swap_names: |
|
|
|
|
try: |
|
|
|
|
#* Mem |
|
|
|
|
cx = 1; cy = 1 |
|
|
|
|
|
|
|
|
|
out += f'{Mv.to(y, x+1)}{THEME.title}{Fx.b}Total:{mem.string["total"]:>{cls.mem_width - 9}}{Fx.ub}{THEME.main_fg}' |
|
|
|
|
if cls.graph_height > 0: |
|
|
|
|
gli = f'{Mv.l(2)}{THEME.mem_box(Symbol.title_right)}{THEME.div_line}{Symbol.h_line * (cls.mem_width - 1)}{"" if CONFIG.show_disks else THEME.mem_box}{Symbol.title_left}{Mv.l(cls.mem_width - 1)}{THEME.title}' |
|
|
|
|
if cls.graph_height >= 2: |
|
|
|
|
gbg = f'{Mv.l(1)}' |
|
|
|
|
gmv = f'{Mv.l(cls.mem_width - 2)}{Mv.u(cls.graph_height - 1)}' |
|
|
|
|
|
|
|
|
|
big_mem: bool = True if cls.mem_width > 21 else False |
|
|
|
|
for name in cls.mem_names: |
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
if cls.mem_size > 2: |
|
|
|
|
out += (f'{Mv.to(y+cy, x+cx)}{gli}{name.capitalize()[:None if big_mem else 5]+":":<{1 if big_mem else 6.6}}{Mv.to(y+cy, x+cx + cls.mem_width - 3 - (len(mem.swap_string[name])))}{Fx.trans(mem.swap_string[name])}' |
|
|
|
|
f'{Mv.to(y+cy+1, x+cx)}{gbg}{Meters.swap[name](None if cls.resized else mem.swap_percent[name])}{gmv}{str(mem.swap_percent[name])+"%":>4}') |
|
|
|
|
out += (f'{Mv.to(y+cy, x+cx)}{gli}{name.capitalize()[:None if big_mem else 5]+":":<{1 if big_mem else 6.6}}{Mv.to(y+cy, x+cx + cls.mem_width - 3 - (len(mem.string[name])))}{Fx.trans(mem.string[name])}' |
|
|
|
|
f'{Mv.to(y+cy+1, x+cx)}{gbg}{Meters.mem[name](None if cls.resized else mem.percent[name])}{gmv}{str(mem.percent[name])+"%":>4}') |
|
|
|
|
cy += 2 if not cls.graph_height else cls.graph_height + 1 |
|
|
|
|
else: |
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{name.capitalize():{5.5 if cls.mem_size > 1 else 1.1}} {gbg}{Meters.swap[name](None if cls.resized else mem.swap_percent[name])}{mem.swap_string[name][:None if cls.mem_size > 1 else -2]:>{9 if cls.mem_size > 1 else 7}}'; cy += 1 if not cls.graph_height else cls.graph_height |
|
|
|
|
|
|
|
|
|
if cls.graph_height > 0 and not cy == h: out += f'{Mv.to(y+cy, x+cx)}{gli}' |
|
|
|
|
|
|
|
|
|
#* Disks |
|
|
|
|
if CONFIG.show_disks and mem.disks: |
|
|
|
|
cx = x + cls.mem_width - 1; cy = 0 |
|
|
|
|
big_disk: bool = True if cls.disks_width >= 25 else False |
|
|
|
|
gli = f'{Mv.l(2)}{THEME.div_line}{Symbol.title_right}{Symbol.h_line * cls.disks_width}{THEME.mem_box}{Symbol.title_left}{Mv.l(cls.disks_width - 1)}' |
|
|
|
|
for name, item in mem.disks.items(): |
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
if not name in Meters.disks_used: |
|
|
|
|
continue |
|
|
|
|
if cy > h - 2: break |
|
|
|
|
out += Fx.trans(f'{Mv.to(y+cy, x+cx)}{gli}{THEME.title}{Fx.b}{item["name"]:{cls.disks_width - 2}.12}{Mv.to(y+cy, x + cx + cls.disks_width - 11)}{item["total"][:None if big_disk else -2]:>9}') |
|
|
|
|
out += f'{Mv.to(y+cy, x + cx + (cls.disks_width // 2) - (len(item["io"]) // 2) - 2)}{Fx.ub}{THEME.main_fg}{item["io"]}{Fx.ub}{THEME.main_fg}{Mv.to(y+cy+1, x+cx)}' |
|
|
|
|
out += f'Used:{str(item["used_percent"]) + "%":>4} ' if big_disk else "U " |
|
|
|
|
out += f'{Meters.disks_used[name]}{item["used"][:None if big_disk else -2]:>{9 if big_disk else 7}}' |
|
|
|
|
cy += 2 |
|
|
|
|
|
|
|
|
|
if len(mem.disks) * 3 <= h + 1: |
|
|
|
|
if cy > h - 1: break |
|
|
|
|
out += Mv.to(y+cy, x+cx) |
|
|
|
|
out += f'Free:{str(item["free_percent"]) + "%":>4} ' if big_disk else f'{"F "}' |
|
|
|
|
out += f'{Meters.disks_free[name]}{item["free"][:None if big_disk else -2]:>{9 if big_disk else 7}}' |
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{name.capitalize():{5.5 if cls.mem_size > 1 else 1.1}} {gbg}{Meters.mem[name](None if cls.resized else mem.percent[name])}{mem.string[name][:None if cls.mem_size > 1 else -2]:>{9 if cls.mem_size > 1 else 7}}' |
|
|
|
|
cy += 1 if not cls.graph_height else cls.graph_height |
|
|
|
|
#* Swap |
|
|
|
|
if cls.swap_on and CONFIG.show_swap and not CONFIG.swap_disk and mem.swap_string: |
|
|
|
|
if h - cy > 5: |
|
|
|
|
if cls.graph_height > 0: out += f'{Mv.to(y+cy, x+cx)}{gli}' |
|
|
|
|
cy += 1 |
|
|
|
|
if len(mem.disks) * 4 <= h + 1: cy += 1 |
|
|
|
|
|
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{THEME.title}{Fx.b}Swap:{mem.swap_string["total"]:>{cls.mem_width - 8}}{Fx.ub}{THEME.main_fg}' |
|
|
|
|
cy += 1 |
|
|
|
|
for name in cls.swap_names: |
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
if cls.mem_size > 2: |
|
|
|
|
out += (f'{Mv.to(y+cy, x+cx)}{gli}{name.capitalize()[:None if big_mem else 5]+":":<{1 if big_mem else 6.6}}{Mv.to(y+cy, x+cx + cls.mem_width - 3 - (len(mem.swap_string[name])))}{Fx.trans(mem.swap_string[name])}' |
|
|
|
|
f'{Mv.to(y+cy+1, x+cx)}{gbg}{Meters.swap[name](None if cls.resized else mem.swap_percent[name])}{gmv}{str(mem.swap_percent[name])+"%":>4}') |
|
|
|
|
cy += 2 if not cls.graph_height else cls.graph_height + 1 |
|
|
|
|
else: |
|
|
|
|
out += f'{Mv.to(y+cy, x+cx)}{name.capitalize():{5.5 if cls.mem_size > 1 else 1.1}} {gbg}{Meters.swap[name](None if cls.resized else mem.swap_percent[name])}{mem.swap_string[name][:None if cls.mem_size > 1 else -2]:>{9 if cls.mem_size > 1 else 7}}'; cy += 1 if not cls.graph_height else cls.graph_height |
|
|
|
|
|
|
|
|
|
if cls.graph_height > 0 and not cy == h: out += f'{Mv.to(y+cy, x+cx)}{gli}' |
|
|
|
|
|
|
|
|
|
#* Disks |
|
|
|
|
if CONFIG.show_disks and mem.disks: |
|
|
|
|
cx = x + cls.mem_width - 1; cy = 0 |
|
|
|
|
big_disk: bool = True if cls.disks_width >= 25 else False |
|
|
|
|
gli = f'{Mv.l(2)}{THEME.div_line}{Symbol.title_right}{Symbol.h_line * cls.disks_width}{THEME.mem_box}{Symbol.title_left}{Mv.l(cls.disks_width - 1)}' |
|
|
|
|
for name, item in mem.disks.items(): |
|
|
|
|
if Collector.collect_interrupt: return |
|
|
|
|
if not name in Meters.disks_used: |
|
|
|
|
continue |
|
|
|
|
if cy > h - 2: break |
|
|
|
|
out += Fx.trans(f'{Mv.to(y+cy, x+cx)}{gli}{THEME.title}{Fx.b}{item["name"]:{cls.disks_width - 2}.12}{Mv.to(y+cy, x + cx + cls.disks_width - 11)}{item["total"][:None if big_disk else -2]:>9}') |
|
|
|
|
out += f'{Mv.to(y+cy, x + cx + (cls.disks_width // 2) - (len(item["io"]) // 2) - 2)}{Fx.ub}{THEME.main_fg}{item["io"]}{Fx.ub}{THEME.main_fg}{Mv.to(y+cy+1, x+cx)}' |
|
|
|
|
out += f'Used:{str(item["used_percent"]) + "%":>4} ' if big_disk else "U " |
|
|
|
|
out += f'{Meters.disks_used[name]}{item["used"][:None if big_disk else -2]:>{9 if big_disk else 7}}' |
|
|
|
|
cy += 2 |
|
|
|
|
|
|
|
|
|
if len(mem.disks) * 3 <= h + 1: |
|
|
|
|
if cy > h - 1: break |
|
|
|
|
out += Mv.to(y+cy, x+cx) |
|
|
|
|
out += f'Free:{str(item["free_percent"]) + "%":>4} ' if big_disk else f'{"F "}' |
|
|
|
|
out += f'{Meters.disks_free[name]}{item["free"][:None if big_disk else -2]:>{9 if big_disk else 7}}' |
|
|
|
|
cy += 1 |
|
|
|
|
if len(mem.disks) * 4 <= h + 1: cy += 1 |
|
|
|
|
except (KeyError, TypeError): |
|
|
|
|
return |
|
|
|
|
Draw.buffer(cls.buffer, f'{out_misc}{out}{Term.fg}', only_save=Menu.active) |
|
|
|
|
cls.resized = cls.redraw = False |
|
|
|
|
|
|
|
|
|