Wicogen
בוחרים תמונה, או נותנים לו למצוא אחת ברשת, ו-Wicogen הופך אותה לאייקון של תיקייה ב-Windows.
- נבנתה על עבודה של קוד פתוח: 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 תוכנת התקנה מוסיפה לסייר הקבצים תפריט קליק ימני, כך שהגדרת אייקון לוקחת קליק אחד, בלי לפתוח את האפליקציה.
איך זה נבנה
- ספטמבר 2023גרסה ראשונהתוכנת Windows אחת: בוחרים תמונה או מחפשים לפי שם התיקייה ב-Google, ב-Bing או ב-IMDB, עם סגנון דיסק לעטיפות.
- ספטמבר 2023תיקונים ראשוניםגרסה 1.0.1 מנקה את היומן בכל הרצה, ולא נעצרת יותר כש-IMDB לא מוצא כלום.
- ספטמבר 2023גרסה 1.1גרירה ושחרור, חיפוש ב-MyAnimeList, אורך חיפוש שאפשר לכוונן וערכת צבעים חדשה.
- אוקטובר 2023גרסה 1.2: תוכנת התקנה ותפריט קליק ימניתוכנת התקנה והסרה, התפריט בסייר הקבצים, גרסה ניידת בפחות מחצי מהגודל ובחירת ערכת צבעים.
- אוקטובר 2023גרסאות 1.2.1 ו-1.2.2תיקיות עם שמות דומים כבר לא מקבלות אותו אייקון, וסייר הקבצים מציג אייקונים חדשים מהר יותר.
03 / דגשים
כל תמונה, אייקון אמיתי
מקבלת 31 סוגי קובצי תמונה, מ-PNG ו-JPG ועד WebP ו-TIFF, ויוצרת אייקון בשבעה גדלים, מ-16 עד 256 פיקסלים.
מוצאת את התמונה בשבילכם
מחפשת לפי שם התיקייה ב-Google, ב-Bing, ב-IMDB או ב-MyAnimeList. אתם בוחרים תמונה, או שהיא בוחרת.
ספרייה שלמה בבת אחת
מצב מרובה נותן לכל תת-תיקייה אייקון משלה בהרצה אחת, ויכול גם ליצור את התיקיות לפי שמות התמונות.
קליק אחד בסייר הקבצים
הגרסה המותקנת מוסיפה לתפריט הקליק הימני הגדרה, בחירה ואיפוס של אייקון התיקייה, וניקוי מטמון האייקונים.
סגנון דיסק לעטיפות
ממסגרת עטיפה של סרט, סדרה או אנימה כמו קופסת DVD, כך שספריית מדיה נראית כמו מדף.
האייקון החדש מופיע
מנקה את מטמון האייקונים של Windows ומרעננת או מפעילה מחדש את סייר הקבצים, כך שאייקונים חדשים מופיעים בלי אתחול.
04 / מסכים
7 מסכיםהערת עיצובחלון אחד, בלי מדריך: הכלים בצד, לשונית לכל דרך עבודה, והסבר קצר שקופץ מעל כל אפשרות. גרסה 1.2 הוסיפה בחירת ערכת צבעים, ותוכנת ההתקנה וההסרה בנויות באותו מראה.







05 / השפעה
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 הייתה האפליקציה הראשונה שלי לציבור.
רעיון קטן שלקחתי עד הסוף, עד תוכנת התקנה, תפריט קליק ימני ושש גרסאות בשבעה שבועות.
