feat: Add optional mouse support with --mouse command-line flag

This commit is contained in:
n loewen (aider) 2025-06-07 20:46:15 +01:00
parent aa1ef500b0
commit f48d090c4e
1 changed files with 7 additions and 5 deletions

12
gtm
View File

@ -117,10 +117,11 @@ def get_diff_info(current_commit, prev_commit, filename):
return added_lines, deleted_lines
def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_deletions=False):
def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_deletions=False, enable_mouse=False):
curses.curs_set(0)
curses.mousemask(curses.ALL_MOUSE_EVENTS)
curses.mouseinterval(0)
if enable_mouse:
curses.mousemask(curses.ALL_MOUSE_EVENTS)
curses.mouseinterval(0)
stdscr.keypad(True)
# Initialize colors if terminal supports them
@ -360,7 +361,7 @@ def main(stdscr, filename, show_whole_diff=False, show_additions=False, show_del
continue
# Mouse interaction
if key == curses.KEY_MOUSE:
if enable_mouse and key == curses.KEY_MOUSE:
try:
_, mx, my, _, bstate = curses.getmouse()
@ -438,6 +439,7 @@ if __name__ == "__main__":
parser.add_argument("-d", "--diff", action="store_true", help="Highlight newly added and deleted lines")
parser.add_argument("--diff-additions", action="store_true", help="Highlight newly added lines in green")
parser.add_argument("--diff-deletions", action="store_true", help="Show deleted lines in red")
parser.add_argument("-m", "--mouse", action="store_true", help="Enable mouse support for navigation")
parser.add_argument("-v", "--version", action="store_true", help="Show version number")
parser.add_argument("filename", nargs="?", help="File to view history for")
@ -457,5 +459,5 @@ if __name__ == "__main__":
print(f"Error: File '{filename}' does not exist")
sys.exit(1)
curses.wrapper(main, filename, args.diff, args.diff_additions, args.diff_deletions)
curses.wrapper(main, filename, args.diff, args.diff_additions, args.diff_deletions, args.mouse)