2015-05-25 8 views
2

Я использую глобальный ярлык для всплывающего диалога. Но я хотел бы заполнить диалог в зависимости от приложения, имеющего фокус, в момент запуска ярлыка.Какое приложение имеет фокус при вызове глобального ярлыка

Но я не могу найти способ сделать это. Я читаю код расширения here , но трудно узнать, как изменить код и как перекомпилировать электрон.

Если кто-то есть указатель, который будет весьма признателен :)

ответ

0

я не мог найти способ, чтобы знать, какие приложения были в центре внимания раньше, но я был в состоянии скрыть мое приложение и вернуть фокус предыдущий, имитирующий щелчок на опции «скрыть» в меню вида:

const menu = require('electron').Menu; 

menu.sendActionToFirstResponder('hide:'); 

Надеюсь, это поможет.

0

Я сам нашел ответ, похоже, что самое главное приложение (по крайней мере, на OSX) - это приложение, которое фокусировалось перед вызовом.

Вот мой ClojureScript код найти информацию приложение

(defn- get-current-app-info-osx 
    "Return info about the current frontmost application on OSX" 
    [] 
    (let [remote (js/require "remote") 
     nodobjc (js/require "nodobjc")] 
    (.framework nodobjc "AppKit") 
    (let [workspace (.NSWorkspace nodobjc "sharedWorkspace") 
     app  (workspace "frontmostApplication") 
     app-name (str (app "localizedName")) 
     app-id (str (app "bundleIdentifier"))] 
    {:name app-name 
    :id app-id})))