English
תנועה
נגישותפרטיות
סיפור הפרויקט15 / 15ספטמבר 2023 – אוקטובר 2023

Wicogen

בוחרים תמונה, או נותנים לו למצוא אחת ברשת, ו-Wicogen הופך אותה לאייקון של תיקייה ב-Windows.

תפקיד
מפתח יחיד
ארגון
פרויקט אישי, קוד פתוח
תקופה
ספטמבר 2023 – אוקטובר 2023
הקשר
פרויקט אישי
צוות וקרדיטים
  • נבנתה על עבודה של קוד פתוח: CustomTkinter,‏ tkinterdnd2 ו-CTkToolTip לממשק, ו-Pillow לתמונות. החיפוש ב-Google וב-Bing הוא עיבוד שלי ל-bing-image-downloader של גורו פראסד סינג (ברישיון MIT), והקוד של תפריט הקליק הימני מבוסס על קטע קוד של סאם בירץ׳. האייקון של האפליקציה ואייקוני הכפתורים הם מ-Flaticon (של Freepik ושל riajulislam), וערכות הצבעים Harlequin ו-NightTrain הן של קלייב בוסטוק.

01 / האתגר

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

ב-Windows אפשר לתת לתיקייה אייקון משלה, אבל רק דרך כמה חלונות הגדרות, ורק מקובץ אייקון. תמונה רגילה צריך קודם להמיר בכלי אחר. בספרייה של סרטים, סדרות או פרויקטים זה אומר למצוא תמונה, להמיר אותה ולהגדיר אותה – תיקייה אחרי תיקייה.

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

  • אייקון של תיקייה מקבל רק קובץ אייקון, לא תמונה
  • כל תיקייה מוגדרת ביד, אחת אחת
  • למצוא תמונה טובה זה חיפוש בפני עצמו
  • Windows ממשיך פעמים רבות להציג את האייקון הישן

02 / מה בניתי

Wicogen היא אפליקציית דסקטופ עם שתי דרכי עבודה. מקובץ: בוחרים תמונה ותיקייה, או תיקייה שלמה של תמונות, וכל תמונה הופכת לאייקון של התיקייה שנקראת בשמה. מהרשת: מצביעים על תיקייה, והאפליקציה מחפשת לפי השם של כל תיקייה ב-Google, ב-Bing, ב-IMDB או ב-MyAnimeList, מורידה את התוצאות, ונותנת לבחור תמונה או בוחרת בעצמה.

בשתי הדרכים Wicogen יוצרת קובץ אייקון אמיתי בשבעה גדלים, מורה ל-Windows להשתמש בו לתיקייה הזאת ומרעננת את סייר הקבצים כדי שהשינוי ייראה. סגנון הדיסק ממסגר עטיפות של סרטים וסדרות כמו קופסת DVD. מגרסה 1.2 תוכנת התקנה מוסיפה לסייר הקבצים תפריט קליק ימני, כך שהגדרת אייקון לוקחת קליק אחד, בלי לפתוח את האפליקציה.

איך זה נבנה

  1. ספטמבר 2023גרסה ראשונהתוכנת Windows אחת: בוחרים תמונה או מחפשים לפי שם התיקייה ב-Google, ב-Bing או ב-IMDB, עם סגנון דיסק לעטיפות.
  2. ספטמבר 2023תיקונים ראשוניםגרסה 1.0.1 מנקה את היומן בכל הרצה, ולא נעצרת יותר כש-IMDB לא מוצא כלום.
  3. ספטמבר 2023גרסה 1.1גרירה ושחרור, חיפוש ב-MyAnimeList, אורך חיפוש שאפשר לכוונן וערכת צבעים חדשה.
  4. אוקטובר 2023גרסה 1.2: תוכנת התקנה ותפריט קליק ימניתוכנת התקנה והסרה, התפריט בסייר הקבצים, גרסה ניידת בפחות מחצי מהגודל ובחירת ערכת צבעים.
  5. אוקטובר 2023גרסאות 1.2.1 ו-1.2.2תיקיות עם שמות דומים כבר לא מקבלות אותו אייקון, וסייר הקבצים מציג אייקונים חדשים מהר יותר.

03 / דגשים

01

כל תמונה, אייקון אמיתי

מקבלת 31 סוגי קובצי תמונה, מ-PNG ו-JPG ועד WebP ו-TIFF, ויוצרת אייקון בשבעה גדלים, מ-16 עד 256 פיקסלים.

02

מוצאת את התמונה בשבילכם

מחפשת לפי שם התיקייה ב-Google, ב-Bing, ב-IMDB או ב-MyAnimeList. אתם בוחרים תמונה, או שהיא בוחרת.

03

ספרייה שלמה בבת אחת

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

04

קליק אחד בסייר הקבצים

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

05

סגנון דיסק לעטיפות

ממסגרת עטיפה של סרט, סדרה או אנימה כמו קופסת DVD, כך שספריית מדיה נראית כמו מדף.

06

האייקון החדש מופיע

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

04 / מסכים

7 מסכים

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

שישה אייקונים מרובעים עם שמות התיקיות שלהם: Conference Clock,‏ Hamal,‏ MILESTONE,‏ MobileSign,‏ Pinger ו-TaazTV, כל אחד מצילום מסך של הפרויקט
01 האייקונים מההרצה הזאת. Wicogen יצרה כל אחד מתמונה, כאן צילומי מסך של פרויקטים שלי, והגדירה אותו כאייקון של התיקייה באותו שם.
Wicogen בלשונית From Folder\File, עם שמירת יחס התמונה ויצירת תיקיות חדשות מסומנות, נתיב המקור C:/Demo/Pictures ותיקיית היעד C:/Demo/My projects
02 הלשונית "מתיקייה או מקובץ" במצב מרובה: תיקייה של תמונות, תיקיית יעד, ותיקיות חדשות שנקראות בשמות התמונות.
Wicogen בלשונית From the net, עם Google כמקור ו-folder icon כמונח החיפוש, והסבר קופץ מעל האפשרות Select image manually
03 הלשונית "מהרשת", מוגדרת לחפש ב-Google לפי השם של כל תיקייה, עם אחד ההסברים הקצרים שקופצים מעל כל אפשרות.
שני חלונות של Wicogen זה לצד זה: ערכת NightTrain בגוונים כחולים כהים, וערכת Harlequin בסגול ובירוק
04 שתי ערכות הצבעים הנוספות, NightTrain ו-Harlequin של קלייב בוסטוק, שבוחרים בסרגל הצד.
תפריט הקליק הימני של תיקייה בסייר הקבצים, עם בחירת אייקון לתיקייה, איפוס האייקון וניקוי מטמון האייקונים
05 הגרסה המותקנת מוסיפה את הפעולות של Wicogen לתפריט הקליק הימני של כל תיקייה.
תפריט הקליק הימני של תמונה בסייר הקבצים, עם האפשרות להגדיר את התמונה כאייקון של התיקייה
06 על תמונה, "הגדרת התמונה כאייקון של התיקייה" הופכת אותה לאייקון של התיקייה שבה היא נמצאת.
חלון ההתקנה של Wicogen עם תיקיית ההתקנה וארבע אפשרויות, ולידו חלון ההסרה
07 תוכנת ההתקנה של גרסה 1.2 (קיצורי דרך, תפריט הקליק הימני, תוכנת הסרה) ותוכנת ההסרה.

05 / השפעה

1,000+הורדות
6גרסאות בשבעה שבועות
4מקומות שבהם היא מחפשת תמונה
2גרסאות: עם תוכנת התקנה, וניידת

Wicogen היא האפליקציה הראשונה שפרסמתי לכל מי שרוצה להוריד. היא הורדה 1,000+ פעמים.

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

06 / התפקיד והטכנולוגיה

בניתי את Wicogen לבד, מהרעיון ועד הגרסאות הציבוריות: הממשק, יצירת האייקונים, חיפוש התמונות, תוכנת ההתקנה ותפריט הקליק הימני, בניית התוכנה ל-Windows והערות השחרור. פרסמתי את הקוד ב-GitHub ברישיון Mozilla Public License 2.0.

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

טכנולוגיות

  • Python
  • CustomTkinter
  • tkinter
  • Pillow
  • requests
  • threading
  • PyInstaller

איך זה בנוי

Wicogen היא אפליקציית דסקטופ ב-Python של כ-2,300 שורות, בין האפליקציה עצמה, רכיב הקליק הימני ותוכנת ההתקנה. הממשק בנוי ב-CustomTkinter, עם tkinterdnd2 לגרירה ושחרור ו-CTkToolTip להסברים על כל הגדרה. Pillow יוצרת כל אייקון: היא משלימה את התמונה לריבוע, או ממסגרת אותה בסגנון הדיסק, ושומרת קובץ אייקון אחד עם שבעה גדלים. אחר כך האפליקציה כותבת את הקובץ הנסתר desktop.ini שמפנה את התיקייה לאייקון שלה, מסמנת את התיקייה כך ש-Windows יקרא אותו, ומבקשת מסייר הקבצים להתרענן. יצירת האייקונים והחיפוש רצים ברקע, כך שהחלון ממשיך להגיב. החיפוש ב-Google וב-Bing עובר דרך עיבוד שלי לכלי הורדה בקוד פתוח, ב-IMDB דרך שירות ההצעות הציבורי שלו וב-MyAnimeList דרך החיפוש באתר, עם requests ו-tqdm להורדות. תוכנת ההתקנה, בעצמה אפליקציית CustomTkinter, פורסת את התוכנה, יוצרת קיצורי דרך עם pywin32 ורושמת את תפריט הקליק הימני ברישום של Windows למשתמש הנוכחי, ויודעת גם להסיר את כל זה. כל גרסה נארזה כתוכנת Windows עם auto-py-to-exe ‏(PyInstaller); מגרסה 1.2 הגרסה הניידת נבנתה מסביבה וירטואלית נקייה, רק עם החבילות שהיא צריכה.

Wicogen הייתה האפליקציה הראשונה שלי לציבור.

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

פרקים