GNOME 3.12 – סקירה

ערב טוב.

כפי שכתבתי אתמול, GNOME 3.12 שוחרר. אסקור השינויים העיקריים בגרסה זו.

מעטפת

  • נוסף מצב חיבור קווי לרשת, עם אפשרות להחליף בין פרופילי רשתות שונים
  • ניתן להוסיף פריטים לתפריט הנפתח, באמצעות קובץ התג „Actions” בקבצי ‎.desktop, להלן דוגמה מ־geary.desktop:

    Actions=Compose;
    [Desktop Action Compose]
    Name=Compose Message
    ...
    Name[he]=יצירת הודעה
    ...
    Exec=geary mailto:
    OnlyShowIn=X-Messaging Menu;Unity;

    gnome-shell-3-12-jumplist-geary
  • ניתן ליצור תיקיות מותאמות עם יישומים נבחרים באמצעות gsettings או באמצעות הממשק ב־GNOME Software. כיוון שבארץ׳ היישום אינו פועל, רק אפנה לרשומה של Matthias Clasen בנושא, וצילום מסך קטן (בכל זאת ניתן ניתן להתאמה באמצעות gsettings גם בארץ׳):
    gnome-shell-apps-folders
  • תמיכה בהבחנה גבוהה (ב־3.10 נוספה תמיכה ליישומים בלבד, לא למעטפת)
  • הפעלה מהירה יותר, עקב טעינת קובץ בינרי אחד במקום קבצי JavaScript רבים, כמו גם מעבר ל־mosjs24 והתייעלויות נוספות
  • הנפשה עם ריצוף חלונות:
  • הנפשה במעבר בין „הכול” ו”תדיר” בסקירת יישומים והנפשה בהתחברות (התקרבות)
  • ניווט בין חלונות בסקירה באמצעות המקלדת
  • התקדמות רבה בתמיכה ב־Wayland

יישומונים

  • עיצוב חדש ללשוניות (הצילום מרשומה קודמת):
  • שורת כותרת משולבת פקדים בתיבות דו־שיח (יישומון GtkHeaderBar):
    color-chooser-dialog-headerbarfont-chooser-dialog-headerbarfile-chooser-dialog-with-headerbar
  • תיבות דו־שיח המכילות הודעה בלבד עוצבו מחדש:
    new-message-dialog-hewaderbar
  • תמיכה בהדפסה דרך Google Cloud Print
  • תפריט דמוי בלון (GtkPopover):
    gedit-popover
  • גובה זהה לשורת כותרת משולבת פקדים (GtkHeaderBar) בכל היישומים
  • סמלים של מספר יישומים עודכנו. ראה הדף בוויקי. אצרף כאן אחד (512 × 512):

שיפור התמיכה בכיווניות

כתבתי על כך ברשומה קודמת. לצערי לא נוספו דברים מאז, אך די בהם בינתיים.

יישומים

סרטונים – עיצוב חדש של Totem

עיצוב כולל חדש לסגנון GNOME 3, יחד עם אפשרות לסייר ולחפש סרטונים שבתיקיית הבית או במספר ערוצים נתמכים (YouTube, Vimeo, Blip, קדימוני סרטי אפל ועד). ניתן ליצור רשימת השמעה מהסרטונים. להלן שני צילומים (מרשומה קודמת):

totem-overview

totem-watch-video-from-youtube

Gedit – עיצוב חדש

עיצוב כולל חדש לסגנון GNOME 3, הכולל שילוב פקדים בשורת הכותרת (GtkHeaderBar), שימוש ב־GtkPopover במספר מקומות, תפריט צד בכותרת, סרגל צד חדש וכן פתיחת מסמכים שנסגרו באמצעות צירוף המקשים Ctrl+Shift+T יחד עם שינוי צירוף המקשים למסמך חדש מ־Ctrl+N ל־Ctrl+T. נוסף לזה, ניתן לשנות גודל האותיות בתפריט הנפתח (אותיות רישיות, אותיות קטנות, החלפה, אות רישית בראש מילה) ועוד שיפורים רבים.

gedit-new-design-3-12

תמונות

נוספה תמיכה בחיפוש (מתוך היישום עצמו ומהמעטפת), שילוב תמונות מחשבון פייסבוק  וכן נוצרים אלבומים מצילומי מסך באופן אוטומטי.

מסוף

תמיכה בגלישת שורות, חיפוש מסופים מהמעטפת (עוד לא הבנתי למה זה שימושי) ואפשרות לשימוש בערכת נושא כהה (אני משתמש בזה עוד מתחילת פיתוח 3.10, משום מה זה לא נכנס בזמנו).

מוזיקה

נוספה תמיכה ברשימות השמעה. זה בערך הדבר היחיד שהיה חסר לי בגרסה הקודמת. אני נשאר עם Xnoise כי עוד אין אפשרות להסתיר את החלון מבלי לסגור את היישום.

דפדפן

עבודה רבה נעשתה בדפדפן GNOME (נקרא Web, בעבר גם Epiphany). להלן בתמצות:

  • תהליך נפרד לכל לשונית. ניתן לשנות בחזרה לתהליך אחד לכל הלשוניות באמצעות gsettings (לפני שבוע שונה בררת המחדל לתהליך נפרד לכל לשונית !).
  • שורת כותרת חדשה המשלבת את כותרת הדף ואת תיבת הכתובות.
  • הדף „הנצפים ביותר” הפך לדף HTML, עם לא מעט שיפורים. בוצע על ידי Loren. הדבר מאפשר התאמה קלה של ערכת הנושא, שבוצע על ידי Jakub Steiner.
  • מרבית תיבות דו־שיח עוצבו מחדש, בשילוב פקדים בשורת הכותרת (GtkHeaderBar). מדובר בהיסטוריה, ססמאות, העדפות, עוגיות, ססמאות, ניקוי מידע אישי, הוספת קידודים, הוספת סימניה ושמירה דף כיישורם רשת. אולי פספסתי משהו. בוצע על ידי William Jon McCann.
  • מצב גלישה בסתר קיבל מראה חדש. במקום שימוש בערכת נושא כהה, נעשה שימוש בערכת נושא מיוחדת. דומני גם זה עבודה של ג׳ון.
    epiphany-incognito-mode
  • נוסף ממשק לשינוי מנוע החיפוש (עד כה היה ניתן לעשות את זה באמצעות gsettings בלבד).
  • סרגל ההורדות עודכן, כמו גם עדכון לעיצוב דפי about: – גם אלה על ידי ג׳ון.
  • ספק החיפוש פוצל לקובץ בינרי נפרד.
  • מנועה החיפוש בברירת מחדל (DuckDuckGo) כעת גם משתמש ב־HTTPS בברירת מחדל.
  • סרגל חיפוש נפרד לכל לשונית. בוצע על ידי.

הרחבה של שני השיפורים הראשונים ניתן למצוא ברשומה קודמת שלי.

הגדרות

לוח Bluetooth חדש ואפשרות לקבוע רק מתמונות מ־Flickr.

משחקים

חלק גדול ממשחקי GNOME הוסבו לממשק (פריסת החלון, פקדים וכו׳) חדיש. כמו כן מנוע השח־מט נהיה „חכם” פחות. כך גם המנוע של שחקן המחשב ביאגנו. על זה האחרון אדווח באג, כיוון שאני לא מצליח להפסיד (בשחמט אני דווקא לא מצליח לנצח ;-)).

gnome-chess

יישום חדש – רשמקול

יישום הקלטות חדש, בעיקר יודע להקליט ולהשמיע הקלטות קודמות. ההקלטות מאוחסנות בתיקייה „הקלטות” בתיקיית הבית של המשתמש.

gnome-sound-recorder

יישום חדש – יומנים

מציג יומני systemd (בשונה מ־gnome-system-log). נקרא gnome-logs.

gnome-logs

יישם חדש – לקוח IRC חדש – Polari

לקוח IRC חדש, הכולל בין השאר:

  • השלמה אוטומטית
  • ממשק חדיש בעיצוב GNOME 3
  • תמיכה בהודעות פרטיות והצגת מידע על משתמשים
  • תמיכה בהדבקת טקסט גדול דרך fpaste (נראה לי הוסרה לפני כמה ימים מאיזו סיבה)
  • הצגת היסטוריה עם גלילה כלפי מעלה
  • שילוב עם המעטפת (gnome-shell)
  • תמיכה במספר פקודות בסיסיות

polari

תכנה

GNOME Software קיבל הרבה תכונות חדשות, אך כיוון שהיישום לא פועל על ארץ׳, רק אקשר לרשומה של Richard Hughes.

הגדרה ראשונית – gnome-initial-setup – עוצב מחדש

את ה„טוב ביותר” אני משאיר לסוף – עיצוב חדש ליישום שאמור לעלות בהפעלה הראשונית. היישום אמור לאפשר למשתמש להגדיר את המשתמש הראשון שלו, יחד עם הגדרת שפה, פריסת מקלדת, אזור, ססמה ועוד.

נעשתה עבודה כל כך טובה, שאצרף כאן צילומי מסך של כל הדפים ביישום.

gnome-initial-setup-welcome-page

gnome-initial-setup-layout-page

gnome-initial-setup-region-page

gnome-initial-setup-new-user-page

gnome-initial-setup-password-page

gnome-initial-setup-online-accounts-page

gnome-initial-setup-ready-for-use-page

במהלך פיתוח 3.11/3.12 הסתכלתי על שני הדפים הראשונים בלבד. היום, משראיתי את כל הדפים, אני חייב לומר שנעשתה כאן עבודה מדהימה.

ממשק ברור, פשוט, יפה, חדיש, מסודר. כל זה פשוט נראה טוב, יחד עם כל GNOME 3, כעת 3.12 :-)

רק אסיים עם סרטון רשמי המציג את GNOME 3.12. קריינות על ידי קארן סנדלר, היא מנכ״ל קרן GNOME כיום.

אחרית דבר – פתח דבר

GNOME 3.12 כבר זמין במאגר gnome-unstable של ארץ׳, וככל הנראה יגיע בשבוע הקרוב ל־testing ובהמשך ל־core.

פיתוח 3.13/3.14 כבר החל. אני בטוח שנראה תכונות חדשות, אולי גם תיקונים נוספים לתמיכה בכיווניות, ולבסוף – עדכון לתרגום.

אציין שכתיבת הרשומה לקחה לי שעה אחת יותר ממה שתכננתי, לכן אסיים בברכת קיץ נטול יתושים וערב טוב,

יוסף אור

GNOME 3.12 שוחרר !

ערב טוב.

לאחר מחזור פיתוח בן שישה חודשים, שוחררה גרסה 3.12 של שולחן העבודה GNOME !

GNOME 3.12
GNOME 3.12

גרסה זו מכילה 34236 שינויים שנרשמו ב־Git על ידי 1140 תורמים, בהשוואה ל־34786 שינויים על ידי 985 תורמים ב־3.10.

אחוז התרגום עומד על 84% (36191 מחרוזות מתורגמות, 2971 מעורפלות ו־3879 שאינן מתורגמות), בהשוואה ל־84% (35956 מחרוזות מתורגמות, 2638 מעורפלות ו־3745 שאינן מתורגמות) ב־3.10, לעומת 83% ב־3.8. על התרגום אחראי ירון, ולאחרונה גם אני. אנו מקווים שנמצא זמן להעלות את אחוז התרגום לקראת 3.14.

כל המעוניין לעזור במלאכת התרגום יותר ממוזמן להתחבר לערוץ ‎#gnome-il ב־GimpNet ולתאם אתי מה הוא רוצה לתרגם, כדי לחסוך עבודה כפולה. לחלופין ניתן לשלוח לי הודעה לדוא״ל (yoseforb תחת gnome dot org).

יש לציין שהתרגום מתבצע לפי כללי התרגום של מיזם גֶּזֶר.

כמו כן אני שמח לבשר שאין עוד צורך בחשבון Git כדי לתרגם, החל מתחילת פברואר ניתן לעשות זאת ישירות דרך l10n.gnome.org.

כיוון שאני עייף, לא אסקור כאן דבר על התכונות עצמן, אלא אעשה זאת מאוחר יותר. ככל הנראה מחר אכתוב רשומה אחת או יותר בהקשר.

להלן מוטמע סרטון המציג את GNOME 3.12. קריינות על ידי קארן סנדלר, היא מנכ״ל קרן GNOME כיום.

על כל פנים, מחזור הפיתוח הבא, 3.13/3.14 כבר מתחיל. לא אמתין במתח לראות מה יהיה, אלא אכניס בעצמי שינויים. מזל טוב ובהצלחה ל־GNOME !

בברכה,

יוסף אור

Developer Experience Hackfest – קיבלתי מימון !

ערב טוב.

לפני קצת יותר מחודש הוספתי את השם שלי לרשימת המבקשים להצטרף ל־Developer Experience Hackfest, האקתון מאוד מעניין.

בשנה שעברה דנו בו על אי אילו דברים שרצו לראות בטווח הקרוב נכנס ל־GNOME, ואכן חלק גדול מהדברים כבר קיימים (לדוגמה כאן – Grid View, Notifications, Titlebars, Popovers, Revealer widget, Floating bar, Baseline text alignment – הכול כבר קיים).

כחבר בקרן GNOME ביקשתי מימון (טיסה ולינה). ביום שישי האחרון נתבשרתי בהודעה שקיבלתי ממארגן הכנס, כי הבקשה שלי אושרה (יחד עם כל חברי קרן GNOME שביקשו מימון).

הכנס יתקיים בתאריכים 30 באפריל – 2 במאי, בברלין, גרמניה.

אם מישהו מעוניין להצטרף אלי, אשמח מאוד.

בברכה,

יוסף אור

כמה תיקונים ל־RTL שנכנסו ל־GNOME 3.12

ערב טוב.

היום תשוחרר גרסה 3.11.91 של GNOME, גרסת הבטא השנייה לפני 3.12, כאשר בהבעת תכנס לתקפה הקפאת שינויי מחרוזות.

זה הזמן לסכם השינויים הנוגעים לשפה העברית, כלומר תיקונים לשפות המוצגות מימין לשמאל (RTL – Right to Left).

יישומי GNOME שונים

שני תיקונים עיקריים:

חצים הפוכים

בהמשך לתיקונים רבים ב־GNOME 3.10, טרחתי לתקן את כל החצים ההפוכים שראתי. מדובר בסך הכל באותו תיקון במקומות רבים.

ריווח נכון ב־RTL

מדובר בשינוי ב־GTK+‎. עד עכשיו הריווח בוצע באמצעות המאפיינים margin-start ו־margin-left, כאשר אלה היו שגויים בעברית ונכונים רק לשפות משמאל לימין.

הוספתי ל־GTK+‎ המאפיינים margin-start ו־margin-end, אשר מוסיפים את הריווח בצד שמאל או ימין, בהתאם לכיווניות הממשק.

ראה באג 710238.

GNOME Shell

שני תיקונים עיקריים הנוגעים לעברית נכנסו ל־GNOME Shell:

תיקון יישור שגוי במספר מקומות

בבאגים מס׳ 712579, 712594, 712596, 712638 ו־712600 תיקנתי מספר מקומות ב־GNOME Shell בהם דברים הוצגו בצורה הפוכה, ולעתים מעוותת לחלוטין.

אחד מהטלאים נכתב על ידי Florian Müllner, את השאר אני כתבתי. Jasper St. Pierre טרח לסקור את הטלאים ולאשר לי להכניס אותם ל־Git. יצוין שאלה תיקונים פשוטים מאוד. כל כך פשוטים, שכתבתי אותם על אף שאני מתכנת C ולעולם לא למדתי לפתח ב־JavaScript.

להלן צילומי מסך, לפני ואחרי, אותם לקחתי מהבאגים עצמם (תמונות שהעליתי לפני מספר חודשים):

מסך כניסה – לפני התיקון
מסך כניסה – אחרי התיקון
דו שיח להזנת פקודה – לפני התיקון
דו שיח להזנת פקודה – אחרי התיקון

ניתן למצוא בבאגים המקושרים למעלה תמונות נוספות.

תיקון יישור טקסט בתיבת הזנה

עוד במחזור הפיתוח של GNOME 3.10 דיווחתי על באג המתלונן על כך שטקסט בתיבת הזנה מיושר תמיד לשמאל.

התיקון של Florian Müllner היה ליישר טקסט בתיבת הזנה על פי כיוון הממשק הכללי. כלומר יישור לשמאל בממשק משמאל לימין, ויישור לימין בממשק מימין לשמאל. תיקון זה כמובן אינו מושלם. תיקון זה הוכנס ל־GNOME 3.10.

מאוחר יותר כתבתי תיקון שמטפל ביישור בהתאם לתוכן הטקסט, ללא קשר לכיווניות הממשק הכללי.

Emmanuele Bassi, מתחזק Clutter (הבאג הועבר ל־Clutter, כיוון שהבעיה היא ב־Actor של Clutter ולא ב־GNOME Shell עצמו) ביקש שאשנה דברים, שאביא תיקון נכון יותר ובסופו של דבר עשה את זה בעצמו, כאשר הוא גם מתייחס לכיווניות של פריסת המקלדת במקרה בו לא הוזן דבר (מה שלא פועל כרגע) ועוד כמה דברים (ראה בבאג). התיקונים שלו הוכנסו לגרסת הפיתוח הנוכחית של Clutter (ענף clutter-1.18), אשר בעוד מספר שבועות תהפוך לגרסה יציבה ומשם תיכנס להפצות השונות.

אגב, תיקון זה מתקן גם את באג 725060.

צירופי מקשים פועלים בפריסה עברית

אם אדייק, בפריסות עם תווים שאינם לטיניים. תיקון זה נכון לא רק לשפות מימין לשמאל, אלא לשפות שונות באופן כללי.

הבאג לא חדש, תוקן על ידי Rui Matos לפני מספר ימים. כעת ניתן, לדוגמה, לנעול את הכניסה הנוכחית באמצעות הצירוף Super+L, גם כאשר הפריסה הנוכחית בשימוש היא פריסה עברית. זהו עוד שיפור קטן לנוחות השימוש.

תיקונים נוספים ?

יש עוד לא מעט בעיות הדורשות תיקון:

  • יישור הודעות קופצות ב־GNOME Shell. באג מס׳ 711349, קשור במעט להודעות הקופצות
  • יישור נכון בתיבת השיחה הצפה ב־GNOME Shell, שם המצב גרוע להחריד (לעתים טקסט בעברית מיושר לשמאל וטקסט באנגלית מיושר לימין)
  • תמיכה ב־RTL בלקוח הדוא״ל Geary
  • יישור נכון של הודעות בלקוח ה־IRC ‏Polari, גם כאשר ההודעות כתובות בעברית
  • קישורים המכילים תווי יוניקוד בדפדפן GNOME מוצגים בצורה שגויה. כתבתי שני טלאים פשוטים (שלא עושים את העבודה באופן מושלם), אולי יכנסו לפני 3.12. ראה באג 710004

הרשימה עוד ארוכה. נקווה שהיא תקוצר לקראת GNOME 3.14 :-)

בברכה,

יוסף אור

דפדפן GNOME – ממשק חדיש ותמיכה בריבוי תהלכים

ערב טוב.

אחד היישומים החשובים ביותר עבורי ב־GNOME זה דפדפן GNOME, הנקרא Web או Epiphany.

בעבר הייתי משתמש ב־Firefox, עד שראיתי את דפדפן GNOME.

זה האחרון ללא ספק מהיר בהרבה מ־Firefox, צורך הרבה פחות זיכרון ובעיקר מגיע עם ממשק נקי המנצל כמעט את כל המסך להצגת התוכן. כמו כן,  הוא לא עוד דפדפן מנופח שעושה אלף ואחד דברים שאני לא צריך, דברים שבעיקר מכבידים על הגלישה.

במחזור הפיתוח האחרון נוספו מספר תכונות, כאשר כתבתי בעצמי חלק מהן.

תמיכה בריבוי תהליכים

Carlos Garcia Campos, המתחזק הרשמי של WebKitGTK+‎, יחד עם עוד אנשים רבים, הוסיף API ל־WebKitGTK+‎ המאפשר ריבוי תהליכים, ובהמשך השתמש ב־API זה בדפדפן GNOME.

כיוון שלא הכל עובד חלק עם ריבוי תהליכים, כרגע כבררת מחדל זה מושבת, אך ניתן לאפשר באמצעות gsettings:
gsettings set org.gnome.Epiphany process-model 'one-secondary-process-per-web-view'

בהפעלת דפדפן GNOME עם אפשרות זו, כל מופע של WebKitWebView (נוצר אחד כזה לכל לשונית) פועל על גבי תהליך WebKitWebProcess נפרד.

מסיבה זו, אם תתרחש קריסה בלשונית זו או אחרת, שאר הלשוניות תמשכנה לפעול.

יש לציין שכבר ב־3.8 הטיפול ב־ WebKit הופרד לתהליך נפרד, מה שאפשר לממשק להמשיך לפעול גם כשלשוניות קורסות (אז כל הלשוניות יחד). יחד עם זה התוספים הופרדו גם הם לתהליך נפרד, מה שאפר להפעיל תהליך זה עם GTK+ 2 (לא ניתן להריץ באותו תהליך גם את GTK+ 2 וגם את GTK+ 3), כך שתוסף ה־Flash עובד מחוץ לקופסה, ללא בעיות.

רק כדי לסבר את העין:

$ ps -u | grep WebKit
yosefor 6140 0.1 0.7 4324872 57912 tty2 Sl 01:23 0:01 /usr/lib/webkitgtk/WebKitNetworkProcess 15
yosefor 6151 0.0 0.7 2509152 59176 tty2 Sl 01:23 0:00 /usr/lib/webkitgtk/WebKitWebProcess 21
yosefor 6180 0.2 0.6 2569032 55340 tty2 Sl 01:23 0:02 /usr/lib/webkitgtk/WebKitWebProcess 27
yosefor 6260 0.3 0.7 2509948 60456 tty2 Sl 01:25 0:02 /usr/lib/webkitgtk/WebKitWebProcess 33
yosefor 13083 1.1 0.8 2582084 65472 tty2 Sl 01:34 0:01 /usr/lib/webkitgtk/WebKitWebProcess 36
yosefor 13183 7.5 0.8 2579408 66264 tty2 Sl 01:36 0:01 /usr/lib/webkitgtk/WebKitWebProcess 33
yosefor 13213 3.2 0.8 2581292 67432 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 39
yosefor 13237 3.1 0.8 2515808 65388 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 43
yosefor 13262 3.2 0.8 2581332 65364 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 44
yosefor 13284 3.5 0.8 2581328 69484 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 50
yosefor 13308 3.2 0.8 2581352 65404 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 42
yosefor 13331 3.5 0.8 2581340 67400 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 55
yosefor 13354 3.4 0.8 2581308 67516 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 54
yosefor 13379 3.6 0.8 2581304 65404 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 60
yosefor 13405 4.0 0.8 2515780 67372 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 63
yosefor 13430 4.3 0.8 2581304 67520 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 66
yosefor 13458 4.6 0.8 2507596 67416 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 70
yosefor 13480 4.5 0.8 2515844 65408 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 77
yosefor 13502 2.6 0.5 2559848 42892 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 69
yosefor 13525 2.7 0.5 2557976 43376 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 76
yosefor 13556 2.7 0.5 2492440 41360 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 81
yosefor 13579 8.0 0.8 2581288 65452 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 84
yosefor 13606 9.1 0.8 2581248 67384 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 88
yosefor 13630 8.8 0.7 2581376 63360 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 89
yosefor 13652 11.2 0.7 2581376 63436 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 87
yosefor 13677 14.0 0.7 2581332 63328 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 97
yosefor 13703 18.6 0.7 2581304 63452 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 96
yosefor 13714 19.0 0.7 2581292 63312 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 102
yosefor 13751 18.0 0.7 2581368 63348 tty2 Sl 01:36 0:00 /usr/lib/webkitgtk/WebKitWebProcess 108
yosefor 13776 0.0 0.0 12724 1128 pts/2 S+ 01:36 0:00 grep --color=auto WebKit

נראה שפתחתי יותר מדי לשוניות ;-)

שילוב כותרת הדף ותיבת הכתובות

עד עכשיו מרבית השינויים שהכנסתי ל־GNOME היו שינויים קטנים ופשוטים, שינויים קטנים בממשק. לכל היותר כמה עשרות שורות קוד.

היום הכנסתי ל־Git את הקוד ה„אמתי” הראשון שלי. כלומר, קוד פחות פשוט ואפילו קצת מורכב, שעושה יותר מהוספת כפתור, תיקון יישור של כפתור או תיקן ריווח ב־RTL.

הבעיה

כאשר לשונית אחת בלבד פתוחה, או כאשר הרבה לשוניות פתוחות, קשה לראות את כותרת הדף, על אף שלעתים יש בה מידע שימושי (מס׳ הודעות חדשות, שם של ערך בוויקיפדיה וכן הלאה).

הרעיון

שורת הכותרת מכילה כפתורי ניווט ותיבה המכילה את כתובת הדף (להלן תיבת הכתובות). הרעיון הוא להחליף תיבה זו בכותרת הדף, כאשר תת־כותרת מכילה את כתובת הדף.

בפועל

כאשר דף מתחיל להיטען, תיבת הכתובות מוצגת. ברגע שמתקבלת כותרת מהדף, תיבת הכתובות מוסתרת ובמקומה מוצגת כותרת הדף. אם תיבת הכתובות ממוקדת על ידי המשתמש או מתקבלת כותרת ריקה, תיבת הכתובות תמשיך להופיע.

בלחיצה על כותרת הדף (כאשר מוצגת), היא מוסתרת ובמקומה מופיעה תיבת הכתובות. מיקוד חוזר בתוכן הדף יציג שוב את כותרת הדף במקום שורת הכתובות.

יש הנפשה במעבר בין הצגת תיבת הכתובות והצגת כותרת הדף (ולהפך).

בעיה קטנה

אם בלחיצה על כותרת הדף היא מוסתרת ובמקומה מוצגת תיבת הכתובת, הרי לא ניתן להגדיל את החלון או להקטין אותו בלחיצה כפולה, כמו גם לגרור את החלון מהכותרת.

הפתרון שלי הוא למדוד את הזמן לאחר לחיצה. ישנו זמן המוגדר על ידי המערכת כזמן המרבי המפריד בין שתי לחיצות ומגדיר אותן כלחיצה כפולה. אם לאחר רבע מהזמן הזה לא התקבלה לחיצה נוספת, רק אז תוצג תיבת הכתובות.

כיוון שיש באפשרותי להעלות קבצים בגודל של מ״ב אחד בלבד לכל היותר, נבצר ממני להטמיע כאן הסרטה, אלא לקשר לקובץ ‎ .webm בלבד, לכן גם אצרף שני צילומי מסך:

עריכה: תודות לעמיעד, להלן ההסרטה מוטמעת:

וכאן שני צילומי מסך:

כותרת מוצגת
תיבת הכתובות מוצגת
את הקוד אני כתבתי. ביקורת על הקוד והרבה עזרה קיבלתי מ־Carlos Garcia Campos ומ־William Jon McCann. הסקירה התבצעה בבאג מס׳ 711408, כאשר ההגשה ב־Git נמצאת כאן.
מסקירת הקוד למדתי הרבה. לפני זה בעיקר הייתי קורא קוד העושה שימוש ב־GObject. רק עכשיו כתבתי בעצמי קוד כזה, קוד משמעותי, אם כי גם הוא לא גדול במיוחד, אך גדול דיו כדי להבין היטב איך המערכת הזו פועלת.
בברכה,
יוסף אור

GNOME 3.12 – יישומים חדשים וקצת פחות

ערב טוב.

בהמשך לרשומה הקודמת, אסקור מספר חידושים שיכנסו להפצות השונות עם שחרור GNOME 3.12.

Polari – לקוח IRC חדש

אם אני זוכר טוב, Florian Müllner העלה את הקוד (כלומר, שיבט את המאגר שלו ל־git.gnome.org) לקראת סוף מחזור הפיתוח 3.9/3.10. באותו יום הייתה חגיגה של ממש בערוצי ה־IRC של GNOME ב־GimpNet. ממשק נקי, מהודר, מלא באגים ולוקה בחריפות בחוסר תכונות. נכתב בעיקר ב־JavaScript, חלק קטן ב־C.

מאז נוספה תמיכה בהשלמה אוטומטית, ממשק נוח לעריכת התחברויות, ממשק לפתיחת הודעות פרטיות והצגת מידע בסיסי על משתמש. כמו כן ישנה תמיכה במספר פקודות בסיסיות ותמיכה בסיסית בהצגת היסטוריה על ידי גלילה כלפי מעלה.

תכונה נוספת, שימושית ונוחה במיוחד – שילוב עם fpaste. הדבקת קוד לתיבת הטקסט או גרירת קובץ לתוך תצוגת ההודעות תעלה את התוכן ל־fpaste.org ולשיחה תדביק קישור מתאים, במקום התוכן כולו.

Polari
Polari
חיפוש משתמש ופרטים
חיפוש משתמש והצגת מספר פרטים

תוך כתי כתיבה נזכרתי בתכונה החשובה באמת – שילוב הודעות פרטיות עם GNOME Shell.

שילוב GNOME Shell בהודעות פרטיות
שילוב GNOME Shell בהודעות פרטיות

בצילום האחרון ניתן לראות באגים בכיווניות, הן ב־Polari והן ב־GNOME Shell. אני מקווה שיום אחד מישהו יתקן את זה, כאשר המישהו הזה עלול להיות אני :-)

יש לציין שניתן לבנות את Polari גם עם הגרסה היציבה של GTK+/Glib. למשתמשי ארץ׳ המעוניינים, העליתי ל־AUR קבצים לבניית היישום, תחת השם polari-git.

אגב, Polari עדיין מלא באגים וחסר תכונות, מכאן ועד להודעה חדשה.

המפתח הוא Florian Müllner, עיצוב ראשוני על ידי William Jon McCann, חלק על ידי Jakub Steiner. סמליל מדהים על ידי Sam Hewitt.

אגב יישום IRC ל־GNOME, קיים ערוץ IRC ישראלי לתמיכה וסתם בלי קשר על GNOME, תחת #gnome-il ב־GImpNet.

יישום הקלטה חדש – רשמקול

יישום הקלטות חדש, עם עיצוב נקי ומהודר. נכתב ב־JavaScript ועושה שימוש ב־GStreamer. המפתחת היא Meg Ford. נקרא GNOME Sound Recorder. עוד בפיתוח.

כרגע עוד אין יותר מדי תכונות. יש בעיקר יכולת להקליט שמע ולהגדיר את תבנית הקובץ, אשר ישמר לתיקייה „הקלטות” בתיקיית הבית של המשתמש.

gnome-sound-recorder-overview

gnome-sound-recorder-record-sound

יישום חדש להצגת יומני מערכת מ־Systemd

יישום חדש המציג יומני מערכת. בשונה מ־gnome-system-log, הוא לא רק קורא יומנים מ־/var/log אלא משתמש ב־Systemd. זה עובד לא רע.

היישום נכתב ב־C על ידי David King. כרגע לא עושה מספיק כדי שאצרף צילום מסך. אני בספק אם ישוחרר לקראת 3.12.

יישום חדש ישן – עיצוב חדש ל־Totem

כבר שני מחזורי פיתוח שנדחה העיצוב החדש של Totem. ב־3.8 נדחה וגם ב־3.10, כשכבר היה קוד ב־Git. הפעם זה מגיע, על אף שצריך עוד עבודה.

המפתח הוא Bastien Nocera, כאשר הקוד הוא אותו קוד של Totem, נכתב ב־C. עיצוב על ידי William Jon McCann.

הממשק פשוט מדהים, לכן לא אחסוך בצילומי מסך :-)

totem-overview

totem-channels-page

totem-apple's-trailers

totem-search-youtube

totem-watch-video-from-youtube

totem-volum-in-popover

totem-option-to-save-youtube-video

אין יותר מדי מה להגיד, התמונות עושות את שלן.

יצוין כי לאחר מספר שניות בהן העכבר לא זז, או לאחר לחיצה על הסרטון, הלוח המרחף נעלם. במסך מלא גם הלוח העליון. הזזה נוספת של העכבר תגלה אותם. זה פועל בצורה מאוד נוחה, עם הנפשה.

כמו כן ניתן לבחור מספר סרטונים ולהציג או אותם בזה אחר זה או בסדר אקראי.

היישום משתמש בספרייה Grilo ולא ב־Gstreamer. תוספים ל־Grilo מספקים גישה לערוצים השונים.

ובכן, אני מרשה לעצמי לומר ש־GNOME נהיה טוב יותר ויותר מגרסה לגרסה :-)

בברכה,

יוסף אור

GNOME 3.12 מתקרב – החידושים

ערב טוב.

אנחנו נמצאים קצת פחות משבוע לפני כניסתה לתוקף של הקפאת שינויי ממשק, וקצת פחות משלושה שבועות לפני הקפאת מחרוזות.

הקפאת מחרוזות פירושה שצריך להתחיל לעבוד ברצינות על התרגום. את זה אשאיר לרשומה אחרת.

הקפאת ממשק פירושה, ובכן, לחץ למפתחים. גם אני רוצה להספיק להכניס עוד כמה דברים ל־3.12, אני מקווה שאספיק.

אסקור ברשומה זו ובמספר רשומות שתבאנה אחריה את השינויים שכבר נכנסו. אני מקווה שהם נראים טוב, אבל גם ממתין למבול של תלונות :-)

עיצוב חדש ללשוניות

העיצוב לא תוכנן מהיום, וכנראה יעבור עוד שינויים בהמשך. הרעיון הכללי הוא עיצוב נקי שמנצל את כל המקום הזמין.

את העיצוב הנוכחי ניתן למצוא כאן, כאשר כאן, כאן וכאן ניתן למצוא מספר אבי טיפוס לעיצוב. פרטים מלאים בדף המתאים בוויקי. המעצב הוא Jakub Steiner.

עיצוב חדש ל־Gedit

עוד במחזור הפיתוח הקודם (3.9./310) ראיתי את תחילת העיצוב ואף את הקוד עצמו בענף ב־Git, הפיתוח במחזור זה צבר תאוצה ואף נכנס לענף הפיתוח הראשי. העיצוב אינו מסיר תכונות, ואמנם התוספים דורשים עדכון עקב שינויי API (בעיקר לתפריטים, כמו גם קוד שהועבר ל־GtkSourceView). אלה הרשמיים כבר עברו את השינויים המתאימים.

יש לציין שהתפריט הנמצא בתוך מעין בועה קופצת (Popover) עוד אינו ב־Git. שיניתי קצת את הקוד כך שישתמש ב־API חדש שהוכנס שלשום ל־GTK+ ויציג את זה. אני מקווה שזה יכנס (עם שינויים אלה ואחרים) ל־3.12. אולי נראה את זה רק לקראת 3.14.

כמו כן משום מה חלק מהמחרוזות מוצגות באנגלית למרות שהן כולן מתורגמות. זה באג. מקווה שהוא יתוקן בקרוב.

לפיתוח אני משתמש ב־Geany. ‏Geany הפסיק לפעול ביום ראשון עקב כמה שינויים ב־Glib (כנראה, עוד לא דיווחתי על באג), לכן יצא לי להשתמש קצת ב־Gedit ליום יומיים. ההתרשמות – Gedit חסר המון תכונות בסיסיות, אך בעל התכונה שחסרה ב־Geany – ממשק נקי. הצלחתי להתמקד בקוד, רוב המסך מלא בקוד ולא בתפריטים ובסרגלי כלים. זה כנראה מה שמדרבן אותי לתקן פה ושם דברים מזעריים ב־Gedit, ואולי יום אחד לנסות להפוך אותו לשימושי. עכשיו – בחזרה ל־Geany, עם ממשק מהעשור הקודם :-)

עיצוב חדש למנהל הארכיונים – File Roller

בוצע על ידי Paolo Bacchilega. למעשה עוד יישום שהוסב לעיצוב החדש של GNOME 3, ואמנם יש עוד כמה פינות שצריך לסגור.

מנהל הארכיונים – עיצוב חדש

עיצוב חדש למספר משחקים

חלק גדול ממשחקי GNOME כבר הוסבו לעיצוב החדש. אין הכוונה לעיצוב המשחקים עצמם, אלא לעיצוב הממשק שמסביב.

האורות כבויים ושח מט
האורות כבויים ושח מט

גם המשחקים ארבע בשורה, ארבע צלעות (Tetravex), חמש או יותר, טאלי, יאגנו, פיצוץ בצבעים וקוודראפאזל הוסבו לעיצוב החדש, אך שאר המשחקים עודם עם תפריטים וסרגלי כלים בסגנון GNOME 2.

זה לא הכול

יש עוד רשימה ארוכה של שינויים הניכרים למשתמש. כמו כמה שינויים ב־GNOME Shell עצמו, אך אותם אשיר לרשומות הבאות :-)

Developer Experience Hackfest – 2014

בתור חבר בקרן GNOME, אוכל לבקש מימון טיסה ולינה ל־Developer Experience (בין 30 באפריל ל־2 במאי), האקתון פיתוח במינכן. שאלתי את מארגן ההאקתון (Allan Day) על מגבלה זו או אחרת, ואם אכן אוכל ובקשת המימון שלי תתקבל, ובכן, אני מקווה שיהיה מעניין :-)

נ.ב. אשמח לדעתך אם עדיף צילומי מסך במקום הסרטה קצרה.

בברכה,

יוסף אור

שלום !

ערב טוב.

כאן אני כותב את הרשומה הראשונה שלי.

ניתן לראות בדף אודות פרט או שניים עלי. בגדול אני תורם ל־GNOME בקוד ובתיקוני באגים קטנים, ואני אף חבר בקרן GNOME.

בחודשים האחרונים אני גם מתחזק את תרגום GNOME, בעוד לירון אין די זמן. הפעם אכתוב על מצב התרגום.

אם אפתח את GNOME 3.10 בעברית בהפצה כלשהי (ArchLinux, Fedora), המערכת בכללותה תהיה מתורגמת. 84% מ־3.10 מתורגם, כאשר מה שנותר זה כ־2,500 מחרוזות של Evolution (עוד יישום שיעבור מהעולם, כנראה לא יתורגם), עוד יישום או שניים שלא תורגמו וכל השאר אלה קצוות שצריך לסגור, מחרוזות בודדות בכל יישום.

הקצוות הללו נורא מציקות. כמה מחרוזות בכל יישום. אלה המחרוזות שנוספות בכל גרסה ואנו לא מספיקים לתרגם אותם. מאוד לא נוח לעין לראות ביישום שכולו בעברית מחרוזת בודדת באנגלית.

נוסף לאלה, במחזור הפיתוח הקודם וגם בזה הנוכחי (3.10 ו־3.12) נוספו לכל יישום מספר קטן של מחרוזות גדולות, אשר תוצגנה ב־GNOME Software כתיאור כללי של היישום, היכולות שלו ומספר צילומי מסך (ראה AppData Specification).

את המחרוזות הללו אני שם בעדיפות נמוכה, משתי סיבות:

  • הן לא מוצגות ביישום עצמו, אלא ב־GNOME Software בלבד, אני מעדיף להשקיע קודם בתרגום הממשק.
  • כיום GNOME Software פועל על מעט מאוד הפצות, לכן אני יכול להרשות לעצמי להתעכב עם התרגום שלו.

כמובן, אני מדלג על מחרוזות אלה רק כשנראה לי שהן דורשות ממני מאמץ יתר בתרגום.

המצב ב־3.12 דומה מאוד. התרגום עומד על 84%, ואנו כחודש לפני הקפאת מחרוזות, קצת פחות מחודשיים לפני שחרור הגרסה היציבה הבאה של GNOME.

אבל זה לא הכל. יש יישומים, תוספים וספריות שנמצאים בדף שונה, תחת יישומי GNOME נוספים. חלק מהספריות שם אינן דורשות תרגום (פלט למסוף לא עובר תרגום), חלק מהיישומים מיושנים ואינם בפיתוח, שרק צריכים לצאת מהרשימה הזו, ובסוף אנחנו נשארים עם חצי מהרשימה, פחות או יותר. אני מניח שמדובר ביותר מעשרת אלפים מחרוזות.

רק אבהיר – מדובר ביישומים של ממש, לא ביישומים ישנים ש„זרקו” אותם לרשימת צדדית. בין היישומים ברשימה זו: gnome-tweak-tool, gparted, pitivi, polari, geary, shotwell, gthumb, goobox ואלה רק היישומים שהעין שלי תפסה. אלה לא יישומים שאפשר להשאיר ללא תרגום.

ובקיצור – יש עוד המון עבודה לתרגום GNOME. ואני עוד חולם על היום בו אתחיל לתרגם את דפי העזרה ;-)

לאחרונה תרגמתי שני יישומים, לפני שבועיים את Goobox והיום את gThumb.

עם gThumb עשיתי טעות. התרגום האחרון היה מ־2009. מאז כנראה כמעט כל המחרוזות התחלפו. מתוך 1087 מחרוזות לתרגום קיבלתי 202 מתורגמות, שמכעט את כולן שיניתי, 491 מעורפלות (כלומר נוצרו באופן אוטומטי על ידי intltool, למעשה לא מתורגמות) ועוד 394 לא מתורגמות.

עשיתי עבודה כפולה. עברתי מחרוזת מחרוזת, עיינתי בתרגום ה„קודם” וכמעט ולא השארתי מחרוזת במצבה הקודם („שמור” -> „שמירה” זו הדוגמה הנפוצה).

התוצאה היא שעוד אצטרך לעבור שוב על כל התרגום שלי, כי עשיתי שם כל מני טעויות, שבדרך כלל נבעו מבלבול עם התרגום הקודם.

מה הייתה איכות התרגום הקודם לא אוכל לדעת, כי כמעט כל הממשק השתנה. וזו סיבה למספר צילומי מסך :-)

gThumb-Hebrew-02-02-2014-Browse-mode
gThumb במצב דפדוף
gThumb במצב דפדוף
gThumb במצב עריכת תמונה

יישום נוסף שתרגמתי, יישום קטן במיוחד, gitg, שאחרי עבודה מ־Jesse van den Kieboom תומך גם ב־RTL בצורה כמעט מושלמת:

gitg מציג את רשימת ההגשות
gitg מציג את רשימת ההגשות
יצירת הגשה ב־gitg
יצירת הגשה ב־gitg

אני מקווה שהמינוח ב־gitg לא ממש רע. אם משהו נראה לא טוב, אשמח לשמוע. לא פעם אני עושה אחרת ממה שחושבים (הרווח לפני סימן הקריאה בכותרת מכוון).

בברכה,
יוסף אור