משהו שאני גאה בו
נכתב ב-2 באוגוסט 2007, 16:04 | על-ידי לירון | קטגוריות: כללי
12
לכבוד יום הולדתי ה-25 שחל אתמול, הנה פוסט שבו אני טופח לעצמי על השכם. אבל לא רק! נראה לי שזה יעניין חלק מכם.
מי מכם שמשתמש בפיירפוקס או בת'אנדרבירד תחת ווינדוז, בטח שם לב לתופעה המעצבנת שאי אפשר להחליף את כיוון זרימת הטקסט מ-LTR ל-RTL וההיפך עם Ctrl+Shift כמו בשאר תוכנות ווינדוז, אלא רק עם Ctrl+Shift+X. הסיבה לכך היא שתשתית ה-JavaScript/XUL של מוזילה לא מאפשרת לתפוס ארוע של Ctrl+Shift לבד.
הדבר הזה עיצבן אותי, אז החלטתי לכתוב תוכנה שממפה את Ctrl+Shift ל-Ctrl+Shift+X בתוך חלונות של מוזילה. אבל זה לא סיפק אותי, כי היתה לי תחושה שיש פתרון יותר טוב.
את ההיכרות שלי עם ארועי מקלדת ב-JS עשיתי כשכתבתי את זה עבור חבר ששהה בחו"ל, ולכן, כשהתחלתי להתעסק עם ה-Ctrl+Shift, עלה לי רעיון – אמנם אי אפשר לדעת מתי לוחצים Ctrl+Shift ביחד, אבל אפשר "לנחש" מתי, כי אפשר לדעת מתי המשתמש לוחץ על Ctrl ועל Shift, בנפרד, ומתי הוא עוזב אותם. אם נזהה שבשלב מסוים שניהם היו לחוצים, נדע שצריך להחליף כיוון. ככה בניתי את הדף הזה, שמדגים את הקונספט.
פתחתי באג בנושא בבאגזילה של BiDiUI, ועכשיו זה הולך להיות ממומש באחת הגרסאות הבאות. נכון מגניב?
your de man!
(איך אני בלולקטאיזם?)
מצוינת
אני עובד עם לינוקס אז אני לא מכיר את הבעיה, אבל כל הכבוד על היוזמה!
בלינוקס אין מקש מערכת סטנדרטי לשינוי כיוון הזרימה?
אדוני, אתה פאקינג גאון. אני מוריד את הכובע.
באג: לפעמים לוחצים Ctrl+Shift כדי לסמן מילה, לא כדי להחליף כיוון. איך מבדילים? כשזה להחליף כיוון, לוחצים Ctrl+Shift ומיד משחררים. כשזה לסמן מילה, לוחצים Ctrl+Shift ואז חץ, וזה מסמן מילה שלמה.
תיקון: להחליף את הכיוון רק אם היתה לחיצה על Ctrl+Shift ואחריה שחרור, בלי שום כפתור אחר בדרך.
זה מה שדף ההדגמה עושה עכשיו. ז"א, מחליף רק אם אין שום כפתור אחר בדרך. ל-ShiftFox יש את הבעיה הזאת, אם אני זוכר נכון, אבל מבחינתי, מרגע שגיליתי שאפשר ליישם את זה ממש בתוך השועל, אין טעם להשקיע בו, לא?
מגניב לאללה!
יפה!
האם אי אפשר לזהות איזה ממקשי השליטה נלחצו, ולהחליף כיוון רק אם הטקסט בצד הנגדי?
מה, אם זה קטרל ושיפט ימניים או שמאליים? לא, השועל עוד לא תומך בזה. זה יהיה רק כשיישמו את DOM3 או משהו כזה. לא זוכר.
ניסיתי את התוכנה על מוזילה פיירפוקס 2.0.0.6, ולא הצלחתי אפילו להגיע למצב שאני לוחץ קטרל+שיפט+עוד מקש. אני לוחץ קטרל, וברגע שאני נוגע בשיפט זה מתהפך, עוד לפני ששחררתי. באקספלורר קטרל-שיפט הופך את הכיוון רק אחרי שמשחררים.
עידוק – אתה צודק, התוכנה פגומה בקטע הזה, אין ספק. אני פשוט לא מתכוון לתקן אותה כי מבחינתי הוא patch מאוד מאוד מאוד מכוער, כשאפשר לעשות patch הרבה פחות מכוער – זה שהצעתי למפתחי BiDiUI. אין לי בעיה שמישהו אחר יתקן אותה, זה לא מאוד מסובך, אני אפילו מוכן לשים את זה באתר שלי (בשמחה), אבל אין לי ממש סבלנות לעשות את זה בעצמי…
למעשה, כל מה שיש לעשות זה ליישם את הפתרון שכבר מצאתי בצורת בניית מערך של ההקשות האחרונות. אני יישמתי אותו בצורה סופר-פשוטה וקלה להבנה כי זה היה Proof of Concept, ובכלל בשפה אחרת (JS), אבל לא יהיה קשה להעביר את זה ל-VC.