feat: Make entire status bar reverse-video with active pane percentage in normal video

This commit is contained in:
n loewen (aider) 2025-06-08 00:29:20 +01:00
parent a87c324020
commit 96f7b80226
1 changed files with 6 additions and 6 deletions

12
gtm2.py
View File

@ -380,18 +380,18 @@ def draw_status_bars(stdscr, state):
# Use terminal's default colors for the status bar # Use terminal's default colors for the status bar
status_attr = curses.A_NORMAL # Use terminal's default colors status_attr = curses.A_NORMAL # Use terminal's default colors
# Fill the status bar with spaces # Fill the status bar with spaces using reverse video
for x in range(state.width - 1): for x in range(state.width - 1):
try: try:
stdscr.addch(state.height - 1, x, ' ', status_attr) stdscr.addch(state.height - 1, x, ' ', curses.A_REVERSE)
except curses.error: except curses.error:
pass pass
# Add left percentage indicator (only if sidebar is visible) # Add left percentage indicator (only if sidebar is visible)
if state.show_sidebar: if state.show_sidebar:
try: try:
# Use reverse video if left pane is active # Use normal video if left pane is active (since status bar is already reverse)
left_attr = curses.A_REVERSE if state.focus == "left" else status_attr left_attr = status_attr if state.focus == "left" else curses.A_REVERSE
# Add a space before and after the percentage with the same highlighting # Add a space before and after the percentage with the same highlighting
stdscr.addstr(state.height - 1, 0, f" {left_status} ", left_attr) stdscr.addstr(state.height - 1, 0, f" {left_status} ", left_attr)
except curses.error: except curses.error:
@ -422,8 +422,8 @@ def draw_status_bars(stdscr, state):
padded_right_status = f" {right_status} " padded_right_status = f" {right_status} "
right_x = state.width - len(padded_right_status) right_x = state.width - len(padded_right_status)
if right_x >= 0: if right_x >= 0:
# Use reverse video if right pane is active # Use normal video if right pane is active (since status bar is already reverse)
right_attr = curses.A_REVERSE if state.focus == "right" else status_attr right_attr = status_attr if state.focus == "right" else curses.A_REVERSE
stdscr.addstr(state.height - 1, right_x, padded_right_status, right_attr) stdscr.addstr(state.height - 1, right_x, padded_right_status, right_attr)
except curses.error: except curses.error:
pass pass