سؤال

كيف يمكنني، في Java أو باستخدام لغة برمجة أخرى، إضافة مجموعة برامج جديدة في قائمة التطبيقات في كل من KDE وGnome؟

أقوم باختبار مع Ubuntu وKubuntu 8.لقد نجح وضع ملف .menu بسيط في ~/.config/menus/applications-merged في Kubuntu، لكن نفس الإجراء لا يفعل شيئًا في Ubuntu.

محتوى الملف الخاص بي هو كما يلي:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Menu>
  <Name>My Program Group</Name>
  <Include>
   <Filename>shortcut.desktop</Filename>
  </Include>
</Menu>
</Menu>

لاحظ أن ملف .desktop تم وضعه بشكل صحيح في ~/.local/share/applications.

ملاحظة:لم يحدد السؤال الأصلي أنني أردت حلاً بطريقة برمجية.

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

المحلول

ربما XDG-Desktop-Menu يفعل ذلك؟ نرى man xdg-desktop-menu أو http://manpages.ubuntu.com/manpages/hardy/en/man1/xdg-desktop-menu.html .

نصائح أخرى

شكرا ، أوليفر. لقد استخدمت XDG-Desktop-Menu ثم تحليل ناتجها. يحتاج ملف القائمة الصحيح إلى تسمية القائمة الخارجية (التطبيقات) بشكل صريح ، على النحو التالي:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" 
    "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
    <Name>Applications</Name>
<Menu>
    <Name>My Program Group</Name>
    <Include>
        <Filename>shortcut.desktop</Filename>
    </Include>
</Menu>
</Menu>

لقد عمل هذا بشكل جيد في Kubuntu و Ubuntu و Fedora Core 9. لم يستطع أن يعمل على Opensuse.

أوصيك بالنظر إلى معايير freedesktop.org التي تغطي هذا. قائمة محدثة متوفرة هنا:

http://www.freedesktop.org/wiki/specifications/menu-pec

آخر واحد هو حاليا 1.0:

http://standards.freedesktop.org/menu-spec/1.0/

تتبع معايير Freedesktop.org Gnome و KDE و XFCE ، لذلك يجب أن تعمل على أي توزيع.

في جنوم استخدام نظام -> الإعدادات -> القائمة ثم فقط اختر قائمة جديدة أو إدخال جديد.

لست متأكدًا مما تقصده بالضبط بـ "في openSUSE، يكون ملف الدليل إلزاميًا وإلا فلن تظهر مجموعة البرامج"؛بشكل عام، أفترض أنه يتعين عليك الاتصال بـ xdg-desktop-menu مرتين (مرة لمجموعة البرامج ومرة ​​للبرنامج نفسه)، ولذلك يتعين عليك توفير ملفين مختلفين للدليل أيضًا.إذا كانت مجموعة البرامج فارغة، فمن المنطقي أن يقوم سطح المكتب بإخفائها.

(ولكن ربما أساءت فهمك تمامًا هنا :-) ولم أستخدم قائمة xdg-desktop-menu بنفسي على أي حال).

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