그놈 쉘 확장 개발에 대한 설명서?


22

나는 그놈 쉘 확장 프로그램이 자바 스크립트이기 때문에 일부 Gnome Shell 확장 프로그램을 개발하고 싶었지만, 실제로 찾고있는 문서가 거의 없으며 사람들이 기본 그놈 문서를 사용한다고 말한 것처럼 보이지만 도움이되지 않습니다. 확장 프로그램 가져 오기에 대한 문서 나 확장 개발을위한 자바 스크립트 API를 찾지 못한 경우, 튜토리얼 중 일부 (3.2가 아닌 Gnome 3.0 용)를 살펴 보았지만 아무런 도움이되지 않았습니다.

확장 개발을위한 문서 작성이 진행 중인지 아는 사람이 있습니까? 나는 좋은 문서를 정말 좋아할 것입니다 ...



SO에 대한 비슷한 질문 : stackoverflow.com/questions/13107743/…
Wilf

답변:


7

데모 코드와 튜토리얼이 마음에 들지 않는 이유는 무작위 가져 오기를 소개하고 그들이 무엇인지 또는 어떻게 사용하는지 설명하지 않기 때문입니다. 사람들이 호출 할 수있는 기능, 가져올 수있는 기능 등을 실제로 알 수 있도록 다른 사람들이 추가 할 수있는 자체 답변을 작성하고 있습니다.

Gnome Shell에 대한 생성 된 문서가 있지만 다소 불완전합니다. 다양한 튜토리얼, 예제 및 게시 된 확장에서 본 것 대부분을 찾을 수 없었습니다.

실제로 믿을 수있는 유일한 문서는 Gnome Shell 소스 자체입니다. 사용 가능한 항목을 알 수있는 다른 최신 방법이나 완전한 방법은 없습니다.

이 두 가지 출발점이 특히 좋습니다.

C 소스는 global가져올 필요가없는 중요한 개체 가 있으며 창 관리자 (키 바인딩 포함), 세션 정보, 사용 가능한 화면 및 기타 항목에 액세스 할 수 있도록합니다. 소스는 다음과 같습니다.

나는 객체 를 사용하는 방법global.display 을 알고 싶었고 , 현재 가장 좋은 문서는 Alan Knowles가 제공 한 것이다.

GObject 내부 검사 바인딩을 통해 다른 항목을 가져올 수 있습니다 (예 :

일반적으로 다양한 그놈 구성 요소대한 참조 문서를 통해 다른 가져 오기를 찾을 수 있습니다.

유리 잔에 대한 참고 사항 : 유리판에 이러한 수입품을 사용하는 것에 대한 몇 가지 단점이 있습니다. 즉석에서 물건을 시험하는 데 많은 시간을 낭비했습니다. 예를 들면 다음과 같습니다.

const Clutter = imports.gi.Clutter;

... Clutter이미 존재 하기 때문에 작동하지 않습니다 . 하지만:

const MyClutter = imports.gi.Clutter;

... 또한 작동하지 않습니다. MyClutter정의되지 않아 사용할 수 없습니다. 너가해야되는:

MyClutter = imports.gi.Clutter;

물론이 경우 Clutter이미 존재하므로 실제로 필요하지는 않습니다. 그러나 유리로 된 네임 스페이스에 무엇이 있는지 아직 문서화되어 있지 않기 때문에 무언가를 가져 와서 이러한 문제가 발생하면 명심하십시오.

나머지 질문들 :

  • 무엇입니까 Mainloop? 이것은 임포트되어 main.jsGLib 메인 루프와 관련된 기능을 가진 것으로 보입니다. 이에 대한 문서가 있습니까?
  • 무엇입니까 imports.misc? 거기에 정말 유용한 것들이있는 것 같습니다. ExtensionUtils그게 뭐죠?
  • DBus는 어떻게 사용합니까? 내성 검사는 어떻습니까?

4

문서가 조금 지체되고, 정보의 하나의 잠재적 인 소스는 운영체제 배관공의 묵상 예를 들어,이 게시물에, 버전 3.2과 함께 작업에 그놈 쉘 확장 업데이트

원하는 정보에 따라 그놈 메일 링리스트를 시도 할 수 있습니다.


1
이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
hhlp

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.