الجزء الأول وثائق Arfedoracontrolcenter

بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته



الجزء الأول وثائق Arfedoracontrolcenter .

 




تعريف :


قمت من خلال بايثون بعمل  برنامج يشبه مركز تحكم جنوم القديم ,البرنامج يعمل من خلال الإضافات plugins يشبه كثيرا فكرة مركز تحكم اعجوبة الذي سبق وكان لي بعض التجارب عليه لاكن هذا البرنامج كتبته من الصفر .

هذا رابط البرنامج مشروح طريقة التثبيت التجربة كانت على فيدورا من المفروض ان يعمل على كل التويزعات طالما يتوفر pygobject ,مازلت لم أحزمة ولم أجمع كل الإعتماديات التي يريدها لاكن كبداية يحتاج pygobject أي PyGi و يحتاج مكتبات بايثون مثل python3-dbus .

https://github.com/yucefsourani/arfedoraccframework

ممكن ان يقرأ البرنامج أكثر من نوع من الإضافات (ستتوضح الامور أكثر أثناء الشرح ) .




هيكلية البرنامج :


1- هذا مجلد مكتبة arfedoraccframework سيتم نقله إلى مجلد مكتبات Python شيء مثل هذا usr/lib64/python3.6/site-packages/ .


2-هذا الملف التنفيذي للبرنامج سيتم نقله إلى مجلد usr/bin/  .

3-هذا مجلد الأيقونات كل الصور التي نستخدمها نضعها داخله ممكن ان يوضع هذا المجلد في مجلد عام مثلا  إسم البرنامج عندي كما في الصورة arfedotacontrolcenter ممكن نقل هذا المجلد إلى
 usr/share/arfedoracontrolcenter/ وممكن أيضا نقله إلى مجلد خاص بالمسبتخدم مثلا عندي home/youcef/.local/share/arfedoracontrolcenter/ مع العلم إذا تواجدت صورة بذات الإسم في المجلدين الأفضلية دائما للمجلد الموجود في مجلد المنزل الخاص بالمستخدم .

4-مجلد plugins وهو المجلد الذي يحتوي الإضافات التي هي عبارة عن ملفات python وأيضا يخضع هذا المجلد مثل ما يخضع له مجلد icons .

هذه هي هيكلية البرنامج الرئيسية باقي الملفات ليست من ضمن البرنامج نفسه , سأفصل في الأسفل عن كل مجلد بمجلده .




الملف التنفيذي arfedoracontrolcenter .


هذا هو الملف الرئيسي للبرنامج الذي يحتوي النافذة الرئيسية ويقرأ كل الإضافات ثم يضيف زر Button لكل إضافة ,الزر يحتوي صورة وإسم تحته و تعريف عنه كل هذه المعلومات يقرأه من الإضافة نفسها أي الإسم والتعريف والصورة أي كاتب الإضافة من يضع هذه المعلومات.



مجلد icons .


كما ذكرت مجلد نحفظ فيه الأيقونات لا شيء مميز فيه .



مجلد plugins .

مجلد نحفظ فيه الإضافات التي هذ عبارة عن ملفات python سأشرح في الجزء الثاني كيف نكتب إضافات له .




مجلد مكتبة arfedoraccframework .

تحتوي هذه المكتبة على الكلاسات Class والدوال Functions الرئيسية التي تقرأ الإضافات وتضيفها وتحتوي ايضا دوال عامة ممكن إستخدامها في كل الإضافات مثال قمت بعمل إضافة لجلب أسماء كل الهارديسكات الموصولة بدل أن أكتب الكلاس والدول التي تجلب هذه المعلومات في داخل الإضافة نفسها كتبتها في udsks.py وإستدعيتها من خلال import udsks وهكذا ممكن لأي إضافة إستخدام udsks .

على العموم baseplugin.py و plugins_loader.py و appinformation.py هي الملفات المهمة للبرنامج نفسه باقي الأشياء كما ذكرت دوال وكلاسات أضفتهم حتى يمكن إستخدامهم من قبل الإضافات .


الأن هذه هي هيكلية البرنامج مع العلم ما شرحته الان فقط للمعلومات العامة من الجيد معرفتها لاكن ليس شرط أن نعرفها كلها يعني يمكننا ان نكتب إضافات من دون أن نعرف كل هذه التفاصيل ,ممكن فقط  أن نلتزم بقواعد الصحيحة لكتابة الإضافات وليس بالضرورة أن نلم بتفاصيل هذه الملفات والمكتبات .


رابط الجزء الثاني https://arfedora.blogspot.com/2017/11/arfedoracontrolcenter_13.html .

رابط الجزء الثالث  https://arfedora.blogspot.com/2017/11/arfedoracontrolcenter_61.html.

شارك الموضوع

مواضيع ذات صلة

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) 28 (1) 29 (1) 30 (1) 31 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (7) أشياء تفعلها (8) إصدارات (1) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (16) برامج (56) برامج إسلامية (2) برنامج (19) برودباند (1) بعد (7) بعد التثبيت (8) بلوتوث (1) بناء (1) بناء توزيعة (1) بيئة عمل (1) تثبيت (29) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (7) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توزيعة (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) روتر (1) ريدهات (2) سكربت (2) شرح (11) صورة متحركة (1) فايرفوكس (1) فتح منفذ (1) فصل (1) فلاشة (3) فيدورا (29) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (6) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) محمول (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) واجهات (1) وايرلس (1) وهمي (2) ويندوز (2) access token (1) active (2) add (1) after (7) alias (1) andoid studio (1) android (2) android studio (1) Apache (2) appstream (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedoraccframework (3) arfedoracontrolcenter (3) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bls (1) bluetooth (1) book (2) books (2) bootloader fix (1) boxes (3) broadband (1) broadcom (1) broadwayd (1) bugzilla (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) calamares (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (2) chsh (1) cisco (1) clion (1) clone (1) code.org (1) command (2) command line (2) commands (2) comps (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) css (1) curlew (1) custom (2) dbus (3) dconf (1) dd (1) Decryption (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) Digital signature (1) disks (1) dnf (14) do (7) docker (1) dolphine (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (9) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) emulator (1) enable (2) Encryption (1) entries (1) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (45) fedora 25 alpha (1) fedora cloude (1) fedora28 (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) find (1) firefox (2) fix (10) flash mem (1) flash memory (2) flashplayer (1) flatpak (4) forward (1) fpaste (1) free (1) freebsd (1) freevpn (1) function (1) game (3) games (2) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (16) gnome boxes (1) gnome disk (1) gnome shell (13) gnome terminal (1) gnome-disks (1) gnu (1) godot (1) goldendict (1) google web designer (1) gpg (2) gradio (1) group (2) grub (7) grub2 (1) grubenv (1) gstreamer (1) gtk (8) gtk+ (1) gvrecord (1) hack (2) hash (4) hdmi (3) hibernate (1) home (2) hosspot (1) html (1) http (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (32) installf (9) installing (7) intellij idea (1) internet downlaod manager (1) iso (2) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kde (3) kernel (1) kernel parameters (1) key (1) kickstarts (3) korora (1) krita (1) kvm (2) kvm switches (1) lamp (1) laps (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) libvirt (1) life is trange (1) linux (8) lutris (1) lv (1) lvm (2) mac (4) macros (1) mageia (1) make distro (1) mariadb (1) MariaDB and PHP Lamp Server (1) markdown (2) mate terminal (1) mbr (1) md5sum (1) mirro (1) mkconfig (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) mumble (1) murmur (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (8) objdesktop (1) ojuba (2) oop (1) opensuse (1) openvpn (1) opera (1) optirun (2) oracle (1) os.path (1) package (2) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) php (1) phpstorm (1) plasma (2) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) port (1) portable (1) portmatp (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) preset (1) preview (1) primary display (1) primeos (1) primus (1) primusrun (1) private key (1) programs (3) protonvpn (1) pubg (1) public key (1) put (1) pv (1) pycharm (2) pygobject (4) pygtk (5) python (56) pythonk (1) qdbus (1) qemu (3) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (3) remix (1) remix os (1) repo (4) repofrompath (1) repository (1) reset (1) resize2fs (1) rhel (1) router (1) rpm (7) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) screencast (1) script (2) seconday display (1) self (1) send (1) server (1) settings (2) sha1256sym (1) sha256sum (1) share desktop (1) shell (2) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) software (1) soundcloud (1) source code (1) spec (2) spin (1) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) store (1) su (1) sudo (2) sudoers (1) swap (2) switch (2) Switchable Graphics (1) synergy (1) systemd (1) systemd preset (1) teamviewer (1) terminal (2) theme (5) things (7) thomson (1) thread (2) threading (2) thumbnails (1) to (8) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) verify (1) vg (1) vgaوتبديل (1) vi (1) video (1) vim (1) vino (1) virsh (1) virt-install (1) virt-manger (1) virtual (1) virtual box (1) virtualbox (3) vmware (3) vnc server (1) vokoscreen (1) vpn (1) web server (1) webstorm (1) wifi (1) windows (4) windows-1256 (1) wine (1) woeusb (1) X Error: BadAccess (1) X Error: BadDrawable (1) xdg-mime (1) xdman (1) xfce (1) xfconf-query (1) yum (2) zeal (1) zealdocs (1)