أداة احترافية لتوليد وتحويل الأيقونات لجميع المنصات (CLI وGUI) — يدعم العربية والإنجليزية
| شعار نسخة الطرفية | شعار نسخة الواجهة |
|---|---|
- 🆕 وضع batch غير تفاعلي للـ CLI — 5 علامات تتخطى الواجهة التفاعلية (ممتاز لـ CI/CD والاستدعاء البرمجي).
- 🆕
--jsonoutput — سطر JSON واحد على stdout لتسهيل القراءة من برامج خارجية. - 🆕 Hybrid fallback — أي علم batch مفقود يرجع تلقائياً لخطوته التفاعلية، لا يكسر استخدام v2.1.
- 🆕 تثبيت بأمر واحد عبر curl (انظر أدناه).
- 🆕 مثبّت ذكي: اختر CLI أو GUI أو كلاهما (تفاعلي أو بـ
--cli/--gui/--all)، يكتشف مدير الحزم (apt/dnf/pacman/zypper/apk) ويُثبّت الاعتماديات الناقصة تلقائياً. - 🆕 CLI launcher متعدد البيئات: عند النقر من قائمة البرامج يكتشف terminal متاح من بين 14 emulator (KDE/GNOME/XFCE/MATE/Cinnamon/LXDE/LXQt/Deepin/elementary/sway/X11).
- 🐛 إصلاح bug قديم: التوزيع على المنصات الفرعية كان يفشل بصمت في بعض البيئات بسبب
IFS=$'\n\t'(kان ينتج 46 ملف بدلاً من 111). أُصلح فيgt_distribute.
للقائمة الكاملة: CHANGELOG.md.
- ✅ 38 حجم أيقونة (من 16px إلى 1024px) — يغطي 8 منصات
- ✅ واجهتان (سطر الأوامر CLI والواجهة الرسومية GUI)
- ✅ i18n: العربية والإنجليزية — كشف تلقائي من
LANGأو--lang=ar|en - ✅ وضع batch + JSON للاستدعاء البرمجي والـ CI
- ✅ تثبيت آلي مع اكتشاف مدير الحزم
- ✅ توليد .ico متعدد الأحجام لـ Windows
- ✅ توليد .icns لـ macOS (عند توفر الأدوات)
- ✅ ملف README تلقائي داخل الحزمة المُصدَّرة
- ✅ ضغط تلقائي (ZIP / tar.gz)
- ImageMagick – لمعالجة الصور وتحويل الأحجام
- zenity – للواجهة الرسومية (GUI)
- iconutil / icnsutils – لتوليد .icns (macOS)
- git – لاستنساخ المستودع (للتثبيت اليدوي)
| نظام التشغيل | الأوامر |
|---|---|
| Ubuntu/Debian | sudo apt update && sudo apt install imagemagick zenity git |
| Fedora | sudo dnf install ImageMagick zenity git |
| Arch Linux | sudo pacman -S imagemagick zenity git |
| openSUSE | sudo zypper install ImageMagick zenity git |
ملاحظة: يمكنك استخدام الأداة بدون zenity إذا كنت تفضل واجهة سطر الأوامر فقط.
تثبيت تفاعلي — يسألك أي نسخة تريد (CLI / GUI / كلاهما):
bash <(curl -sSL https://raw.githubusercontent.com/SalehGNUTUX/GT-IconScaler/main/install.sh)اختيار صريح — لتثبيت غير تفاعلي بنسخة محددة:
# نسخة الطرفية فقط (CLI + batch + --json):
bash <(curl -sSL https://raw.githubusercontent.com/SalehGNUTUX/GT-IconScaler/main/install.sh) --cli -y
# نسخة Zenity الرسومية فقط:
bash <(curl -sSL https://raw.githubusercontent.com/SalehGNUTUX/GT-IconScaler/main/install.sh) --gui -y
# كلاهما (الافتراضي إن لم تختر):
bash <(curl -sSL https://raw.githubusercontent.com/SalehGNUTUX/GT-IconScaler/main/install.sh) --all -yأضف
sudoفي البداية لتثبيت نظامي (لجميع المستخدمين). المثبّت يكتشف مدير الحزم (apt/dnf/pacman/zypper/apk) ويُثبّت الاعتماديات الناقصة تلقائياً.
git clone https://github.com/SalehGNUTUX/GT-IconScaler.git
cd GT-IconScaler
chmod +x install.sh
./install.sh # للتثبيت المحلي (للمستخدم الحالي)
# أو
sudo ./install.sh # للتثبيت النظامي (لجميع المستخدمين)git clone https://github.com/SalehGNUTUX/GT-IconScaler.git
cd GT-IconScaler
chmod +x GT-IconScaler.sh GT-IconScaler-GUI.sh
./GT-IconScaler.sh # للتشغيل المباشربعد التثبيت: إذا لم تظهر الأيقونات في قائمة البرامج فوراً، نفّذ
gtk-update-icon-cache ~/.local/share/icons/hicolorأو سجّل خروج وعد للدخول.
gt-iconscaler # كشف تلقائي للغة من LANG
gt-iconscaler --lang=en # فرض الإنجليزية
GT_LANG=ar gt-iconscaler # عبر متغير البيئة
gt-iconscaler --help # عرض المساعدة
gt-iconscaler --version # عرض الإصدارستظهر لك واجهة تفاعلية تطلب:
- اختيار ملف الأيقونة (PNG, SVG, JPG, WebP)
- اختيار مجلد التصدير
- تحديد اسم الحزمة
- اختيار المنصات المطلوبة (Linux, PWA, Android, iOS, watchOS, Windows, Electron)
- اختيار نوع الضغط (ZIP, tar.gz, أو بدون ضغط)
gt-iconscaler-gui # كشف تلقائي للغة
gt-iconscaler-gui --lang=en # فرض لغةنافذة رسومية بـ zenity توجّهك عبر جميع الخطوات.
| الأولوية | المصدر | مثال |
|---|---|---|
| 1 | --lang= |
--lang=en |
| 2 | GT_LANG env |
GT_LANG=ar |
| 3 | LANG env |
LANG=ar_SA.UTF-8 |
| 4 | الافتراضي | en |
تخطّى الواجهة التفاعلية بتمرير كل المعاملات مرة واحدة — مناسب للـ CI/CD والاستدعاء البرمجي.
gt-iconscaler \
--icon=/path/logo.png \
--output=/path/dist \
--name=myapp-icons \
--platforms=all \
--compress=zipالقيم المدعومة:
--platforms=:all·linux-pwa·linux-pwa-android·linux-electron·mobile·windows--compress=:zip·targz·both·none
--json يُخرج سطر JSON واحد (يكتم الديكور — مناسب للاستدعاء من برنامج):
$ gt-iconscaler --json --icon=logo.png --output=/tmp --name=app \
--platforms=all --compress=zip
{"final_dir":"/tmp/app","done":38,"failed":0,"has_ico":true,"has_icns":true,"icns_method":"imagemagick","compress":"zip","archives":["/tmp/app.zip"]}أي علم مفقود يرجع لخطوته التفاعلية تلقائياً — الوضع الهجين مدعوم.
| المنصة | المسار | الاستخدام | الأحجام المدعومة |
|---|---|---|---|
| Linux | linux/ |
hicolor XDG Icon Theme | 16, 22, 24, 32, 48, 64, 96, 128, 256, 512 |
| PWA | pwa/ |
Web Manifest + Apple Touch + Chrome Android | 16, 32, 48, 72, 96, 128, 144, 152, 167, 180, 192, 196, 256, 384, 512 |
| Android | android/ |
mipmap-ldpi → mipmap-xxxhdpi | 36, 48, 72, 96, 144, 192 |
| iOS | ios/ |
App Icon (iPhone, iPad, App Store) | 20, 29, 40, 58, 60, 76, 80, 87, 100, 120, 152, 167, 180, 512, 1024 |
| watchOS | watchos/ |
Apple Watch (38mm/44mm) | 48, 55, 58, 88, 100, 172, 196, 216 |
| Windows Tiles | windows/ |
MS Store + Win10/11 Tiles (PWA/MSIX) | 44, 50, 70, 150, 310 |
| Windows ICO | .ico |
ملف ICO متعدد الأحجام | 16, 24, 32, 48, 64, 128, 256 |
| macOS | .icns |
ملف ICNS (إذا توفرت الأدوات) | 16, 32, 64, 128, 256, 512, 1024 |
| Electron | electron/ |
أيقونات تطبيقات Electron | 16, 32, 64, 128, 256, 512, 1024 |
| Favicon | favicon/ |
أيقونات المتصفح | 16, 32, 48 |
بعد تشغيل الأداة، سيتم إنشاء مجلد به الهيكل التالي:
اسم_الحزمة-icons/
├── all/ # جميع الأحجام (مصدر للمنصات الأخرى)
│ ├── 16x16/
│ ├── 32x32/
│ └── ... (جميع الأحجام)
├── linux/ # أيقونات Linux (hicolor)
│ ├── 16x16/apps/
│ ├── 32x32/apps/
│ └── ...
├── pwa/ # أيقونات تطبيقات الويب
│ ├── icon-16x16.png
│ ├── icon-32x32.png
│ └── ...
├── android/ # أيقونات Android
│ ├── mipmap-ldpi/ic_launcher.png
│ ├── mipmap-mdpi/ic_launcher.png
│ └── ...
├── ios/ # أيقونات iOS / iPadOS
│ ├── Icon-20.png
│ ├── Icon-29.png
│ └── ...
├── watchos/ # أيقونات Apple Watch
│ ├── AppIcon-48.png
│ ├── AppIcon-88.png
│ └── ...
├── windows/ # Microsoft Tiles (Win10/11)
│ ├── StoreLogo-44.png
│ ├── Square70x70Logo.png
│ ├── Square150x150Logo.png
│ └── Square310x310Logo.png
├── electron/ # أيقونات Electron
│ └── icon.png
├── favicon/ # أيقونات المتصفح
│ ├── favicon.ico
│ ├── favicon-16x16.png
│ └── favicon-32x32.png
├── اسم_الأيقونة.ico # ملف Windows متعدد الأحجام
├── اسم_الأيقونة.icns # ملف macOS (إن توفر)
└── README.md # ملف توضيحي للمخرجات
الحل: هذا الخطأ من السكربتات القديمة. المثبت الجديد يتعامل معه تلقائياً. إذا ظهر، نفّذ:
mkdir -p bin src include libالحل: ثبّت ImageMagick باستخدام مدير الحزم الخاص بك:
# Ubuntu/Debian
sudo apt install imagemagick
# Fedora
sudo dnf install ImageMagick
# Arch
sudo pacman -S imagemagickالحل: أعد تشغيل الطرفية أو أضف المسار يدوياً:
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcالحل: ثبّت zenity أو استخدم النسخة الطرفية (CLI):
# تثبيت zenity
sudo apt install zenity # Ubuntu/Debian
sudo dnf install zenity # Fedora
sudo pacman -S zenity # Archالحل: استخدم sudo للتثبيت النظامي:
sudo ./install.shالحل: استخدم أيقونة مصدر بدقة عالية (1024x1024 أو أكبر) بصيغة PNG مع خلفية شفافة.
استخدم السكربت الجاهز — يحذف الملفات التنفيذية، وملفات .desktop، وجميع مقاسات الأيقونات، ثم يحدّث ذاكرة التخزين المؤقت:
./uninstall.sh # لإزالة التثبيت المحلي
# أو
sudo ./uninstall.sh # لإزالة التثبيت النظامينرحب بمساهماتكم! يمكنكم المساعدة من خلال:
- الإبلاغ عن مشاكل – عبر Issues
- اقتراح تحسينات – عبر Pull Requests
- ترجمة الواجهات – إضافة دعم لغات جديدة
- تطوير المثبت – دعم المزيد من مديري الحزم
git clone https://github.com/SalehGNUTUX/GT-IconScaler.git
cd GT-IconScaler
chmod +x *.sh
# عدّل السكربتات حسب الحاجة
./GT-IconScaler.sh # للاختبارهذا المشروع مرخص تحت رخصة GNU General Public License v3.0 – انظر ملف LICENSE للتفاصيل.
GNUtux (SalehGNUTUX)
⭐ إذا أعجبك المشروع، لا تنسَ وضع نجمة على GitHub!
شكراً لاستخدامك GT-IconScaler
آخر تحديث: 30 مايو 2026 — v2.2.0