Как добавить виджеты из Dashboard на рабочий стол в Mac OS X. Виджеты для Mac OS Конвертер валют: для конвертации валют

Подборка праздничных обоев опубликована сегодня неслучайно. Во-первых, сегодня канун католического Рождества: русскоязычных католиков (или тех, кто хотя бы понимает по-русски) наверняка немало. А во-вторых, в следующую пятницу практически всем будет не до обоев. 🙂 Ну, и в-третьих, нужно настраиваться на новогоднее настроение заранее, чтобы с первым звоном бокалов с шампанским в голове были только радостные мысли и надежды на лучшее.

Бесплатный виджет Dashboard, позволяющий создавать разнообразные списки дел. Благодаря интеграции с iCal и Apple Mail собирает всю необходимую для пользователя информацию в одном месте. DoBeDo имеет приятный простой дизайн и может менять тему оформления.

Не совсем виджет, но эта программа тесно связана с Dashboard. Все дело в том, что Dasher предназначен всего для одной простой функции, а именно, автоматически показывать Dashboard через определенный период времени. Это очень удобно, ведь информация из виджетов бывает полезна, а самостоятельно открыть Dashboard иногда просто забываешь.

Стала важнейшим релизом в линейке настольных операционных систем Apple. Платформа продолжает направление, которое было задано с запуском прошлогодней OS X Mavericks, предлагая пользователям ещё более ясный дизайн и ещё больше функций, воодушевлённых iOS.

Достойным продолжателем традиций стал обновленный Центр уведомлений OS X Yosemite, который расширили режимом «Вид сегодня» для календаря, напоминаний, погоды, акций и социальных сетей. При этом функции боковой панели легко могут быть расширены сторонними виджетами, которые загружаются из магазина приложений Mac App Store. К данном моменту разработчики предложили десятки полезных виджетов для OS X. MacDigger предлагает лучшие решения, использующие полезную функцию новой операционки Apple.

Wunderlist

Deliveries

C помощью Deliveries можно очень удобно отслеживать почтовые отправления. Все, что для этого нужно – запустить программу и указать номер трэкинга (справочный номер отправления). Сейчас трекинг присваивается посылке практически при любом способе пересылки. Виджет умеет отслеживать посылки всех основных курьерских служб.

Airmail

Airmail – это инновационный почтовый клиент, поддерживающий сервисы Gmail, Google Apps, iCloud, Yahoo!, AOL и IMAP. Приложение долгое время находилось на стадии бета-тестирования и с недавнего времени доступно для загрузки в магазине Mac App Store. При создании дизайна Airmail разработчики вдохновлялись официальным твиттер-клиентом под Mac.

PCalc

PCalc – мощный калькулятор для Mac, который позволяет добавить виджет в Центра уведомлений. Сочетает в себе достоинства обычного (последовательные вычисления, быстрое выполнение функций с клавиатуры) и калькулятора, считающего выражения. Программа имеет оригинальный внешний вид, полностью настраиваемый интерфейс и различные типы оформления. Доступна версия для iOS.

iStat Mini

iStat Mini представляет собой простой и удобный виджет для Центра уведомлений. Небольшое мини-приложение позволяет контролировать в реальном времени загрузку процессора, оперативной памяти, накопителя и пропускную способность сети. Все данные в удобном виде выводятся в боковую панель ОС в виде круговых диаграмм.

Monity

Monity – это продвинутая версия iStat Mini. Позволяет контролировать загрузку процессора, памяти, аккумуляторную батарею, использование дискового накопителя, время непрерывной работы компьютера и ряд других системных параметров. Виджет отображает системную статистику в боковой панели, что экономит место на рабочем столе и смотрится лаконично и эстетически приятно.

PhotoDesk

PhotoDesk для Instagram дает возможность просматривать, получать новости и уведомления, сохранять изображения и видео, отмечать и даже загружать фото и видео из соцсети. Загрузить контент можно при помощи обычного перетаскивания. Можно сохранять красивые фотоснимки в альбомах или настроить автоматическую синхронизацию изображений в выбранную папку. Виджет позволяет просматривать ленту фотографий с количество лайков и датой публикации.

Chronicle

С помощью Chronicle удобно вести учет своих расходов. Программа призвана стать надежным помощником. Благодаря функции напоминания и виджету для Центра уведомлений пользователь не забудет заплатить по счетам и всегда будет знать, когда, сколько и за что заплатил. Есть синхронизация с версией приложения для iPhone и iPad.

Многие владельцы компьютеров Mac предпочитают внимательно следить - причем не только внешним, но и "внутренним". Для этого им мало стандартного "Мониторинга системы": они устанавливают по 3-4 сторонних приложения и отслеживают большинство параметров с их помощью. Но что, если все это окажется прямо в центре уведомлений Mac, да еще и с крутой визуальной реализацией?

И такой виджет есть. Он появился в Mac в прошлом месяце и называется MONIT. Говорящее название, не правда ли? Он черпает информацию о множестве показателей — количестве , загруженности процессора или оперативной памяти, показывает данные о сетевом подключении вместе со скоростью загрузки и скачивания, и многое другое.


При нажатии на нужный параметр вы увидите более подробную информацию о нем.


Программа действительно удобная и полезная — захотели узнать, насколько загружен процессор, открыли центр уведомлений — и все видно! Но самый главный ее плюс — цена. MONIT распространяется абсолютно бесплатно, загрузить можно по ссылке ниже.

Название: MONIT
Издатель/разработчик: Tildeslash Norge Ltd
Цена: Бесплатно
Встроенные покупки: Нет
Совместимость: OS X 10.11 и выше
Ссылка:

Виджеты имеют большую популярность среди пользователей, потому что позволяют получать доступ к функциям программ без запуска этих программ. В OS X виджеты существуют уже достаточно давно, а в iOS в полную силу они заработали только в iOS 8.

Приложение: ВРакете | 75 руб. | Универсальное приложение | Установить

Все мы знаем социальную сеть ВКонтакте, количество зарегистрированных пользователей которой составляет 380 миллионов человек, 80 миллионов из которых посещают сайт ежедневно. Конечно, большинство из них заходит только проверить переписку и новости. На помощь тем из них, у кого установлена , приходит приложение, которое позволит делать это в два касания.

«Привычка свыше нам дана: замена счастию она», — писал в свое время знаменитый потомок Ганнибала и, по своему обыкновению, словно в воду глядел. Поскольку избавиться от хорошо знакомых движений тела куда сложнее, чем забыть, скажем, пароль учетной записи или PIN-код кредитной карты. Подтвердить это собственным примером, я уверен, смогут сотни пользователей iOS 10, то и дело норовящих разблокировать устройство отложившемся в подкорке жестом смахивания. Впрочем, отучить себя от этой привычки не так уж и сложно.

Ежедневно мы вручную отбираем для вас лучшие предложения из , которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Еще больше свежих и аппетитных скидочек вы можете найти на специальном !

Многие владельцы компьютеров Mac предпочитают внимательно следить — причем не только внешним, но и «внутренним». Для этого им мало стандартного «Мониторинга системы»: они устанавливают по 3-4 сторонних приложения и отслеживают большинство параметров с их помощью. Но что, если все это окажется прямо в центре уведомлений Mac, да еще и с крутой визуальной реализацией?

Ежедневно мы вручную отбираем для вас лучшие предложения из , которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Еще больше свежих и аппетитных скидочек вы можете найти на специальном !

Здравствуйте, хабравчане-маководы!

Сегодня мы с вами попробуем разобраться в азах создания виджета для Dashboard в Mac OS X. Нам понадобится программа Dashcode, предназначенная как раз для этого.

Для начала немного теории. Виджет в Dashboard - это специально сформировання веб-страничка, упакованная в бандл вместе со всем ресурсами. Ну, и немного служебной информации в довесок. Соответственно, используемый язык программирования - JavaScript. Если Вы уже знакомы с ним, а так же с HTML/CSS (хотя это вряд ли понадобится), то Вы уже способны написать простенький виджет. Если же нет, то не стоит расстраиваться, этот язык очень прост и интуитивно понятен, разобраться с ним можно достаточно быстро. Далее я буду считать, что с JS читатель более-менее знаком. Сама же статья рассчитана на новичков, так что прошу не ругать за «слишком простое изложение и детальное разжёвывание элементарных вещей». Кроме того, за дизайн тоже прошу не пинать - ну не дизайнер я, не дизайнер! Если кто хочет помочь с этим делом - welcome =)

Для удобства, все исходники (а так же готовый к использованию виджет) выложены на гитхаб, ссылка в конце статьи. Но не спешите просто скачивать их! Лучше потратить немного времени и разобраться, как создать это всё самому.

Итак, приступим. В качестве цели для экспериментов я, разумеется, выбрал наш любимый хабр. Мы будем шаг за шагом делать виджет, отображающий карму, рейтинг и позицию в рейтинге хабралюдей выбранного хабраюзера.


Такой виджет (ну, очень похожий) уже был создан хабратоварищем neoromantic аж в 2007 году, но ссылки на скачивание не рабочие, а кроме того, та статья не содержала практического руководства по созданию подобных виджетов.

Восстановим справе Восполним эти недостатки.

Создадим пустой проект. Для этого запустим Dashcode и кликнем в нужные места. Процесс тривиален.

Что же мы видим? Базовый виджет имеет основное и вспомогательное состояния (соответственно, front и back в левой панели). Первое отображается в обычном режиме работы, второе - для настройки параметров виджета. Переключаться между ними можно выбирая соответствующие пункты в списке компонент слева. Мы можем смело удалить всё лишнее, кроме кнопок «info» и «Done», которые служат для переключения между основным и вспомогательным состояниями. Далее, для простоты, будем называть это лицевой и тыльной сторонами виджета.

Теперь на лицевую сторону нашего виджета (без единой строчки кода!) кидаем нужные компоненты: несколько надписей. Для этого открываем библиотеку комонент - кнопка Library справа вверху - и перетаскиваем на виджет компоненты типа «Text». Теперь открываем Inspector (так же кнопка справа вверху) и с его помощью настраиваем размеры, цвета и так далее для нашего виджета. С его же помощью зададим осмысленные имена нашим надписям - для более удобного доступа из кода.

На тыльную сторону кинем надпись и поле ввода. Ну, и ещё картинку - для красоты. И в итоге получаем примерно следующее:

Что ж, неплохо, наш GUI уже готов! Можем жать Cmd+R и потыкать на кнопки (i) и Done, любуясь эффектом переворота виджета.

Но одного GUI нам мало, так что переходим к логике. Для этого слева вверху жмём на кнопку View и выбираем в выпадающем списке Source Code. И можем уже лицезреть наш автоматически сгенерированный JavaScript-код. И смело начинаем его править!

Для начала определимся с «архитектурой» нашего виджета. Мы будем по таймеру запрашивать через API хабра данные о пользователе, парсить их и отображать карму и рейтинг на лицевой стороне виджета. Для этого объявляем глобальную переменную updateTimer в начале файла main.js, создаём функции startTimer(msec) и stopTimer() , которые будут с этим таймером работать. Так же создадим функцию updateStats() , которая будет вызываться по таймеру.

Function startTimer(msec) { updateTimer = setTimeout("updateStats()", msec); } function stopTimer() { clearTimeout(updateTimer); } function updateStats() { alert("It works!"); startTimer(updateInterval); }
В функцию show() вставим вызов startTimer(5000) для запуска таймера при показе виджета, а в функцию hide() , соответственно, вставим stopTimer() для экономии ресурсов когда виджет не показан (Dashboard не активна). Теперь мы можем запустить наш виджет и увидеть в консоли (Cmd+Alt+1) вывод «It works!» каждые 5 секунд.

Но нас ведь не интересует такой вздор, мы хотим по таймеру дёргать карму и рейтинг! Так что в функции updateStatus() вместо алерта мы будем вызывать функцию execStatsRequest() (API хабра советует не дёргать данные о пользователе чаще, чем раз в минуту, так что увеличим заодно интервал).

Теперь дело за HTTP-запросами к API хабрахабра. Создаём новые функции - execStatsRequest() и processStatsRequest(), которые будут служить для запуска и обработки запросов. Вот как они выглядят у меня:
function execStatsRequest() { if (userName().length > 0) { var Url = "http://habrahabr.ru/api/profile/" + userName() + "/"; alert("User: " + userName() + "\nURL: " + Url); xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = processStatsRequest; xmlHttp.overrideMimeType("text/xml"); xmlHttp.open("GET", Url, true); xmlHttp.send(); } else { resetStats(); } } function processStatsRequest() { if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { alert("xml is " + xmlHttp.responseXML); if (xmlHttp.responseXML == null) { resetStats(); } else { alert(xmlHttp.responseText); var error = xmlHttp.responseXML.getElementsByTagName("error"); if (error != null) { alert("Some error occured!"); resetStats(); setLogin("<" + userName() + " not found>"); return; } var login = xmlHttp.responseXML.getElementsByTagName("login").firstChild.nodeValue; var karma = xmlHttp.responseXML.getElementsByTagName("karma").firstChild.nodeValue; var rating = xmlHttp.responseXML.getElementsByTagName("rating").firstChild.nodeValue; var position = xmlHttp.responseXML.getElementsByTagName("ratingPosition").firstChild.nodeValue; setLogin(login); setKarma(karma); setRating(rating); setPosition(position); } } }
Здесь мы формируем URL запроса, создаём объект типа XMLHttpRequest, и с его помощью запрашиваем методом GET наши данные. Что примечательно, приходится насильно ставить ответу MIME-тип «text/xml» , ибо хабра-апи возвращает почему-то «text/html». А в функции processStatsRequest() мы парсим полученный в XML ответ. При этом, мы проверяем его на наличие ошибки - и уведомляем об этом пользователя.

Тут стоит отвлечься от кода и настроить сам виджет - разрешить ему работать с сетью. Для этого в левой панели прокручиваем список элементов вниз и видим пункт Widget Attributes. Здесь просто ставим галочку «Allow Network Access». Так же можно настроить id виджета и его версию. Теперь вернёмся к коду.

Функции setLogin() , setKarma() и иже с ними отображают передаваемую в них строку в нужных полях лицевой стороны. Они были созданы для удобства и выглядят однотипно, вроде того:

Function setLogin(login) { document.getElementById("userName").innerText = login; }
Функция же resetStats() устанавливает дефолтные значения для всех полей. А функции setUserName() и userName() служат обёрткой над полем ввода имени хабраюзера на тыльной стороне виджета:

Function userName() { return document.getElementById("nameEdit").value; } function setUserName(name) { document.getElementById("nameEdit").value = name; }
Что ж, виджет почти готов. Почему почти? Да потому что нам надо бы ещё сохранять в настройках введённое имя пользователя. Для этого пишем функции loadPrefs() и savePrefs() .

Var preferenceKey = "habraUserName"; function loadPrefs() { var name = widget.preferenceForKey(widget.identifier + "-" + preferenceKey); alert(widget.identifier + "-" + preferenceKey); alert("name from preferences: " + name); if (name != null) setUserName(name); } function savePrefs() { widget.setPreferenceForKey(userName(), widget.identifier + "-" + preferenceKey); }
Эти функции целесообразно вызывать соответственно в функциях show() и hide() . Настройка будет уникальна для каждого виджета, что позволяет накидать на Dashboard виджеты с информацией по нескольким пользователям.

Ну, теперь уж точно виджет готов к использованию. Но нет предела совершенству! Локализуем теперь наш виджет, дабы иметь русскую и английскую версии. Вы так же можете сделать (как домашнее задание) локализацию на французский и японский языки.

Переходм к нашей лицевой стороне, вызываем инспектор. Теперь поочерёдно выделяем наши надписи и в разделе Localization инспектора выставляем в поле Value значение на английском языке. Они, вероятно, будут совпадать с предустановленными уже значениями поля Key. Эти значения будут внесены в дефолтную (английскую) локализацию, что можно увидеть в файле en.lproj/localizedStrings.js .

Теперь добавим русскую локализацию. Переходм в Widget Attributes и в разделе Localization добавляем (в левом списке) русский язык. Выбираем его, и теперь в правом списке можем вводить локализованные строки.


Эти значения, соответственно, будут прописаны в ru.lproj/localizedStrings.js .

Собственно, вот и всё, можем запускать наш виджет и любоваться своей (или чужой) кармой! Чтобы установить виджет в Dashboard, нужно выбрать Run & Share в левой панели и выбрать Save to Disk или Deploy to Dashboard - в зависимости от наших потребностей.

Если хочется скачать уже готовый виджет, то милости прошу.

Мобильные ОС