Можно ли создавать новые экземпляры виджета из виджета Dashboard?

Это продолжение этого вопроса.
Представляется невозможным просто сохранить уже настроенные экземпляры виджета панели управления. Альтернативным способом было бы воссоздание предыдущих экземпляров.

Можно ли создавать новые экземпляры виджета Dashboard из другого виджета? Я пока ничего не нашел по этой теме.


person Huxi    schedule 22.06.2009    source источник


Ответы (6)



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

Вам, вероятно, лучше всего будет просмотреть код Apple. Когда вы «обновляете» виджет, вы меняете идентификатор или он автоматически стирает настройки? (Простите мое невежество - я далеко от своего Mac, поэтому я не могу исследовать себя)

Однако, кроме этого, вы, вероятно, захотите найти «Настройки виджета панели инструментов, стертые обновлением» либо в «flow», либо на форумах Apple. Списки адресов электронной почты особенно полезны.

person Fat Lotus    schedule 07.07.2009

Насколько я знаю, это невозможно каким-либо поддерживаемым способом (в документации Apple об этом нет упоминания, в Dashboard нет словаря AppleScript).

Однако, поскольку виджеты могут иметь доступ к файловой системе и выполнять команды, их можно взломать: изменить com.apple.dashboard.plist и перезапустить Dashboard с помощью killall Dock (очевидно, это не элегантное решение).

person Kornel    schedule 15.07.2009

Я подумал, что вы могли бы использовать widget.system для вызова команды open в наборе виджетов и открытия новой копии, поэтому я собрал простой виджет для проверки. Не идти.

Интересно, однако, будет ли плагин Objective-C более функциональным, или это ограничение встроено в среду Dashboard?

person Andrew Hedges    schedule 27.07.2009

Что ж, это было возможно в более ранней версии OS X. В созданном мной виджете я использовал следующий код для создания нового экземпляра:

widget.system('/bin/sh -c "open `pwd`"', null);

Однако теперь этот код переустанавливает виджет.

person Johan    schedule 13.07.2016

Это невозможно. Я тоже раньше пробовал.

person Community    schedule 24.07.2009