מעקב אחרי העכבר בטרמינל
-
למדתי היום דבר חדש שהפתיע אותי, לא יודע אם זה מעניין למישהו, אבל אותי זה הפתיע
אפשר בתוכנות שרצים בטרמינל לעקוב אחרי העכבר גם בלי לחיצה כלשהו
הכרתי תוכנות שמאפשרים שימוש בעכבר בטרמינל באמצעות לחיצות, אבל אף פעם לא ראיתי תוכנה שעוקבת אחרי העכבר בלי לחיצההנה דוגמה שכתבתי בפייתון (הזזת העכבר על גבי הטרמינל בעת שהתוכנה פועלת תשאיר עקבות, לחיצה על q כדי לצאת מהתוכנה):
from curses import ( initscr, cbreak, noecho, mousemask, getmouse, endwin, ALL_MOUSE_EVENTS, REPORT_MOUSE_POSITION, KEY_MOUSE, ) from collections import deque trail = deque(maxlen=20) stdscr = initscr() cbreak() noecho() stdscr.keypad(True) mousemask(ALL_MOUSE_EVENTS | REPORT_MOUSE_POSITION) print("\033[?1003h\n") while True: c = stdscr.get_wch() if c == "q": break if c == KEY_MOUSE: id, x, y, z, bstate = getmouse() trail.append((x, y)) stdscr.clear() for x, y in trail: stdscr.addch(y, x, "█") stdscr.move(0, 0) print("\033[?1003l\n") endwin()
הנ"ל מבוסס על קוד זה ב-C
-
@Y-Excel-Access לא הייתי קורא לזה UX אלא חדירה (גסה) לפרטיות
בכל מקרה החידוש פה הוא שזה אפשרי בטרמינל -
@dovid אכן זה לא מובן מאיליו
יש היסטוריה עשירה של כל מיני הוספות שהוסיפו מחברי תוכנות טרמינלים ("מסופים מדומים") על הקודים המקוריים של הטרמינלים האמיתיים הישנים, (כמובן בטרמינל אמיתי אין עכבר כלל)
יש רמות שונות של תמיכה בהוספות אלו. המקור של תוספת זו כנראה מ-xterm, על פי רוב הוא האב טיפוס שכולם מנסים לחקות
בינתיים לא נתקלתי בטרמינל שלא תומך, אבל לא נסיתי הרבה