Velocity/core/statusbar.py
2022-03-14 07:21:55 +00:00

36 lines
1.1 KiB
Python

import curses
def refresh(stdscr, height, width, mode, colors=None, theme="inverted", icon="λ", file="[No Name]"):
if colors is None:
colors = [8, 6, 14, 2]
if theme == "inverted":
# Add spaces on either end
icon = f" {icon} "
mode = f" {mode} "
file = f" {file} "
else:
# Subtract one from all colours
for index, color in enumerate(colors):
colors[index] -= 1
# Add spaces before each part
icon = f" {icon}"
mode = f" {mode}"
file = f" {file}"
# Render icon
stdscr.addstr(height - 2, 0, icon, curses.color_pair(colors[0]) | curses.A_BOLD)
# Render mode
stdscr.addstr(height - 2, len(icon), mode, curses.color_pair(colors[1]) | curses.A_BOLD)
# Render file name
stdscr.addstr(height - 2, len(icon) + len(mode), file, curses.color_pair(colors[2]) | curses.A_BOLD)
# Rest of the bar
stdscr.addstr(height - 2, len(icon) + len(mode) + len(file), " " * (width - (len(icon) + len(mode) + len(file))),
curses.color_pair(colors[3]))