來自AppStore的幾個OSX剪貼板管理器顯示確定複製到剪貼板的內容的源應用程序的能力。確定當前粘貼板內容的源應用程序
我正在寫一些簡單的剪貼板觀察者,並希望顯示內容附近的源應用程序圖標,存儲在一般的NSPasteboard中。我想知道這是如何實現的。
據我所知,除了數據和數據本身類型外,NSPasteboard不提供任何附加信息。
也許有一些事件或通知知道「複製」命令已被觸發?或者其他一些方式?
來自AppStore的幾個OSX剪貼板管理器顯示確定複製到剪貼板的內容的源應用程序的能力。確定當前粘貼板內容的源應用程序
我正在寫一些簡單的剪貼板觀察者,並希望顯示內容附近的源應用程序圖標,存儲在一般的NSPasteboard中。我想知道這是如何實現的。
據我所知,除了數據和數據本身類型外,NSPasteboard不提供任何附加信息。
也許有一些事件或通知知道「複製」命令已被觸發?或者其他一些方式?
我相信CopyLess和Alfred 2(也支持這個)的工作方式是他們有一個計時器來檢查剪貼板的變化。當他們在剪貼板上看到更改時,他們將獲得活動應用程序並將該應用程序與更改關聯。這可能不是一個萬無一失的方法,但應該在大多數情況下工作。
謝謝@Dustin。我最後得出了同樣的結論。 – UJey 2013-05-02 11:16:41
有一個新的準標準現在這樣(爲2016年12月的),看到http://nspasteboard.org
其工作原理如下:
默認情況下,該程序記錄剪貼板中的內容承擔最前面的應用程序是填充剪貼板的應用程序(當然,只有在剪貼板內容設置時程序已經運行的情況下才有效)。
但是,如果有org.nspasteboard.source
類型的剪貼板味(實物),那麼這個味道的內容應是充滿clipbard應用程序的捆綁ID。
(這是一個準標準,因爲它已經討論並通過nspasteboard.org管理郵件列表的有關成員商定)
有人,向1Password開發人員表明:)我的意思是他們的菜單代理的'org.nspasteboard.source'。 – UJey 2017-01-05 16:27:33
1pw開發者位於上述郵件列表中。有人必須說服他們實施新協議。 – 2017-01-08 11:45:37
幾個OSX剪貼板經理=無複製。據我所知,這是唯一可以實現這一功能的應用程序。 – UJey 2013-05-01 20:55:17
也許他們以某種方式使用AppleScript? – UJey 2013-05-01 20:58:18