最近、私はColorSnapperアプリを試しましたが、他のアプリケーションをアクティブに保ちながら動作することに気付きました。
(以下の画面を確認してください。Safari ウィンドウがまだアクティブで、ColorSnapper もアクティブのままであることがわかります)。
この効果をどのように再現できますか?
最近、私はColorSnapperアプリを試しましたが、他のアプリケーションをアクティブに保ちながら動作することに気付きました。
(以下の画面を確認してください。Safari ウィンドウがまだアクティブで、ColorSnapper もアクティブのままであることがわかります)。
この効果をどのように再現できますか?
私はそれを試してみて、LSBackgroundOnlyが解決策ですが、ウィンドウのレベルを設定する必要があります。
例 :
[mySpecialNSWindow setLevel:NSMainMenuWindowLevel];
これにより、他のアプリケーションのウィンドウの上に特別なウィンドウが表示されます。
正しいアプローチは、(1) アプリを LSBackgroundOnly にすること、(2)ここで説明されているようにカスタム透明ウィンドウを使用し、そのレベルを NSFloatingWindowLevel に設定すること、(3) アプリのデリゲートでこのようなものを使用してマウスの動きを監視することの混合であると思いますアプリはアクティブではありませんが、たとえば、ウィンドウをマウスの位置に追従させるには:
[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *event) {
[window setFrameOrigin:[NSEvent mouseLocation]];
}];
次に、(透明な)ウィンドウで好きなようにビューを表示し、それらを移動して、マウスの位置に応じてその内容を変更できます。