كيف يمكنك تحليل بنية عنصر XDG/GNOME/KDE/عنصر سطح المكتب في C ++؟

StackOverflow https://stackoverflow.com/questions/2795309

  •  04-10-2019
  •  | 
  •  

سؤال

أرغب في تحليل بنية القائمة لألواح جنوم (قاذفة تطبيق سطح المكتب GNOME القياسية) ومكافئ KDE باستخدام مكالمات دالة C/C ++. وهذا يعني ، أود تثبيت قائمة بما يتم تثبيت فئات القائمة الأساسية والسرقة الفرعية في جهاز معين. أود أن أفعل باستخدام مكالمات وظيفة C/C ++ بسيطة إلى حد ما (بدون قصف من فضلك).

أنا أفهم أن هذه القوائم في شكل XDG القياسي. أفهم أن بنية القائمة هذه مخزنة في ملفات XML مثل:

/home/user/.config/menus/applications.menu

لقد نظرت هنا: http://www.freedesktop.org/wiki/specifications/menu-spec؟action=show&redirect=standards٪2fmenu-spec لكن كل ما يقدمونه هو المعيار وبعض ملفات shell لإدراج العناصر (لا أريد البرامج النصية Shell ، لا أريد التثبيت ، بالتأكيد لا أريد إنشاء مكتبة C من مواصفات XDG. للعثور على بنية القائمة الحالية). لقد نظرت هنا: http://library.gnome.org/admin/system-admin-guide/stable/menustructure-13.html.en لمزيد من الملاحظات على هذه الهياكل. لا شيء من هذا يعطيني فكرة جيدة عن كيفية تحديد هياكل القائمة باستخدام برنامج AC/C ++.

يبدو أن هياكل قائمة جنوم الفعلية هي أشياء مشعرة بشكل مرعب - لا يبدو أنها تظهر بنية القائمة ولكن لإعطاء وصف مرمز بـ XML كل التغييرات أن القوائم قد مرت منذ التثبيت. أفترض أن ألواح Gnome تخلق هذه الملف ، لذا هناك وظيفة مدفونة في مكان ما للقيام بذلك ، لكنني لم أجد بعد أن تكون هذه الوظيفة بعد مسح مكتبة. gnome.org لبضعة أيام. لقد قمت بمسح رمز مصدر Nautilus أيضًا ، لكن يبدو أن اللوحات موجودة في مكان آخر أو تُعزى جيدًا.

شكرا مقدما

هل كانت مفيدة؟

المحلول

بعد الكثير من الأبحاث المؤلمة ... يبدو أن النهج الأكثر استقرارًا هو أخذ رمز تحليل قائمة جنوم ، وقم بتمزيقها من كرة القطران واستخدامها محليًا.

الإصدار الذي استخدمته هنا:http://download.gnome.org/sources/gnome-menus/2.28/gnome-menus-2.28.0.1.tar.gz

يعلن هذا الرمز بصوت عالٍ أنه لا ينبغي التعامل مع أي نوع من واجهة برمجة التطبيقات ، لذلك يُجبر المرء على ذلك ، كما قلت إن مزقها من شجرة جنوم والحفاظ على نسخة محلية لتطبيق الشخص (اجمع من الارتباط ديناميكيًا بالمكتبة).

إصدار KDE من رمز القائمة يبدو مثل يمكن استخدامه بشكل أكثر انتقالًا ولكنه يعتمد بشكل كبير على نظام الملفات الافتراضية لـ KDE. بقدر ما أستطيع أن أقول ، فإن الكود جنوم يعمل مستقلة. يمكن أن يكون ملف الاختبار بمثابة قالب للقيام بالتحليل الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top