문제

Java에서 또는 다른 프로그래밍 언어를 사용하여 KDE와 Gnome의 응용 프로그램 메뉴에 새로운 프로그램 그룹을 추가 할 수있는 방법은 무엇입니까?

나는 Ubuntu 및 Kubuntu와 함께 테스트하고 있습니다. 간단한 .menu 파일을 ~/.config/MERUS/Applications-Merged in Kubuntu에서 작업했지만 동일한 절차가 우분투에서는 아무것도하지 않습니다.

내 파일의 내용은 다음과 같습니다.

<!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-spec

최신 제품은 현재 1.0입니다.

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

Freedesktop.org 표준에 이어 Gnome, KDE 및 XFCE가 이어 지므로 모든 분포에서 작동해야합니다.

그놈 사용 시스템 -> 설정 -> 메뉴에서 새 메뉴 또는 새 항목 만 선택하십시오.

"OpenSuse에서 .Directory 파일은 필수적이거나 프로그램 그룹이 나타나지 않는다"는 것이 무엇인지 확실하지 않습니다. 일반적으로 XDG-Desktop-Menu를 두 번 (프로그램 그룹의 경우, 프로그램 자체의 경우 한 번) 호출해야한다고 가정합니다. 따라서 두 가지 다른 .Directory 파일도 제공해야합니다. 프로그램 그룹이 비어 있으면 데스크탑이 숨겨져 있음이 합리적입니다.

(그러나 어쩌면 나는 여기서 당신을 완전히 오해했을 것입니다 :-) 그리고 나는 어쨌든 XDG-desktop-menu를 본 적이 없습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top