2017-04-11 12 views
1

확장 버튼을 클릭하여 브라우저를 열려면 간단한 확장 프로그램을 작성합니다. 인수로 전달 된 셸 명령을 실행할 수있는 함수가 있는지 알고 싶습니다. 또한 누군가가 확장 개발을위한 좋은 간단한 참조를 제안 할 수 있다면 정말 도움이 될 것입니다. https://github.com/GNOME/gnome-shell/blob/master/js/misc/util.js에서그놈 확장 - 쉘 명령 실행

+0

[this] (http://stackoverflow.com/a/20638212/5725669)와 같은 것을 찾고 있습니까 –

답변

2

:

// Runs @command_line in the background, handling any errors that 
// occur when trying to parse or start the program. 
function spawnCommandLine(command_line) { 
    try { 
     let [success, argv] = GLib.shell_parse_argv(command_line); 
     trySpawn(argv); 
    } catch (err) { 
     _handleSpawnError(command_line, err); 
    } 
} 

거기에 그 방법에 대한 몇 가지 변화가있다. 두통의 산을 저장하고 GitHub 저장소에 북마크하십시오.

빠른 링크 :

  • popupMenu.js : "트레이"아이콘
  • modalDialog.js
  • 을 구현하기위한 좋은 읽기 : 팝업 메뉴
  • panel.js 작업은 일부 UI 요소 runDialog, 재사용 하였다. js는 이것을 예로 사용합니다.
  • mpris.js : gjs에서 DBus와 같은 프레임 워크를 사용하는 좋은 예가 있습니다.

그놈 - 셸 소스를 얼마나 읽을 수 있는지 충분히 강조 할 수 없습니다. 불행하게도, 리소스 파일에 컴파일되어서 우연히 발견 할 로컬 복사본이 없습니다.

+0

복사 및 붙여 넣기를하지 않고 내 확장 프로그램에서 이러한 기능을 사용하는 방법이 없습니다. 있어요? – raphinesse

+1

그냥 모듈로 가져 와서 클래스를 인스턴스화하거나 서브 클래스 화하고 함수를 호출하면됩니다 :'const Util = imports.misc.util; Util.spawnCommandLine ("...");' –