Възможно ли е да създавате нови екземпляри на джаджа от джаджа на таблото за управление?

Това е продължение на този въпрос.
Изглежда невъзможно просто да се запазят вече конфигурирани екземпляри на модули за табло за управление. Алтернативен начин би бил да се пресъздадат предишни случаи.

Възможно ли е да се създадат нови екземпляри на приспособление за табло за управление от друго приспособление? Все още не можах да намеря нищо по тази тема.


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


Отговори (6)


Възможно е, но не знам как. Графичният модул за състояние на доставка ви позволява да отворите ново негово копие. Можете да видите знака + на екранната снимка в помощно изображение.

person Colin Gislason    schedule 28.07.2009
comment
Това е доста интересно. Те създават екземпляри като този: if (widget.system('open -b com.apple.dock ~/Library/Widgets/Delivery Status.wdgt',null).status) { widget.system('open -b com. apple.dock /Library/Widgets/Delivery Status.wdgt',null).status;} - person Huxi; 29.07.2009

Бих се съмнявал... Предполагам, че има подразбиращ се риск за сигурността в това.

Вероятно ще бъдете най-добре да прегледате кода на Apple. Когато „актуализирате“ джаджа, променяте ли идентификатора или автоматично изтрива предпочитанията? (Извинете за невежеството ми – далеч не съм с моя Mac, така че не мога да разследвам сам)

Освен това обаче, вероятно бихте искали да потърсите „Предпочитанията за джаджа на таблото за управление, изтрити от актуализация“, или в потока, или във форумите на Apple. Списъците с имейли са особено полезни.

person Fat Lotus    schedule 07.07.2009

AFAIK не е възможно по никакъв поддържан начин (не се споменава за това в документацията на Apple, таблото за управление няма AppleScript речник).

Въпреки това, тъй като Widgets могат да имат достъп до файловата система и да изпълняват команди, е възможно да я хакнете: модифицирайте com.apple.dashboard.plist и рестартирайте таблото за управление с killall Dock (очевидно това не е елегантно решение).

person Kornel    schedule 15.07.2009

Мислех, че може би можете да използвате widget.system, за да извикате командата open в пакета с приспособления и да отворите ново копие, така че събрах обикновена джаджа, за да я тествате. Не върви.

Чудя се обаче дали Objective-C плъгин би бил по-способен или това е ограничение, вградено в средата на таблото за управление?

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