Примечание: Приведенное ниже работает в Vue 1, но в Vue 2 фильтры устарели, и вы увидите: «Свойство или метод« reverse »не определены в экземпляре, но на них ссылаются во время рендеринга» «. См. ответ tdom_93 для vue2.
Вы можете создать собственный фильтр для возврата элементов в обратном порядке:
Vue.filter('reverse', function(value) { // slice to make a copy of array, then reverse the copy return value.slice().reverse(); });
Затем использовать его в выражении
v-for
:
Может быть, что-то вроде этого:
cd /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework
nm LaunchServices | grep __LSCopyApplicationArrayInFrontToBackOrder
Вам необходимо зарегистрироваться для получения уведомлений при изменении активного приложения, как описано здесь: http://www.unsanity.org/archives/000045.php
Как только это будет done, легко поддерживать массив активных приложений, отсортированных по времени последней активности.
Невозможно получить список до запуска вашего приложения. Однако после запуска приложения вы можете просто зарегистрироваться для получения уведомлений и поддерживать свой собственный массив приложений.
Единственное решение - запустить фоновый процесс при входе в систему с помощью launchd, который просто прослушивает приложения.
Попробуйте перечислить список окон с помощью API специальных возможностей или CGWindowList. Как я уверен, вы знаете, что приложения не являются окнами в Mac OS X, но порядок приложений от начала до конца должен определяться порядком их крайних передних окон.
конечно, необходимо игнорировать процессы, из которых вы уже видели окна (то есть рассматривать только их самые передние окна).