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

Виджет — мини-программа для быстрого доступа к ключевым возможностям приложений. В 2014 году Apple представила свое видение виджетов — причем не только для мобильной iOS , но и для настольной OS X . В этой статье мы расскажем о пятерке виджетов, которые действительно стоит попробовать на своем Мас .

Battery Diag

Свежая версия утилиты получила виджет — и научилась выводить в Центр уведомлений полезную информацию: уровень заряда батареи, время до разряда и используемый источник питания (от розетки или от аккумулятора). Как и в штатном индикаторе, есть возможность отображать состояние, когда ноутбук работает от сети, но устройство при этом не заряжается.

Countdowns

Виджет для создания обратного отсчета времени. Для чего это нужно? К примеру, вам необходимо сдать реферат до завтрашнего дня — и система неумолимо будет напоминать, сколько именно времени у вас в распоряжении. Скачать приложение можно абсолютно бесплатно, если понравится — приобрести при помощи встроенной покупки.

Monity

И еще одна полезная утилита для тех, кому нужно знать о своем «железе» всё. Виджет для Центра уведомлений отображает информацию об использовании процессора, RAM, загруженности сети и жестких дисков.

PhotoDesk

Instagram любят все! Вот только что общего имеет «инста» и MacBook? Казалось бы, ничего — но достаточно посмотреть на эту программу, чтобы изменить свое мнение. PhotoDesk удобен сразу по двум причинам — это и клиент для Mac, и приложение с виджетом для Центра уведомлений. Программа всегда подскажет, кто какую фотографию выложил и какую прокомментировал. Еще два бонуса — возможность наслаждаться фотографиями из Instagram на большом экране и изучать детальную пользовательскую статистику.

AirMail 2.0

Программа для тех, кто не совсем доволен функциональными возможностями и внешним видом . Здесь — современный, даже несколько необычный интерфейс. Впрочем, интересен даже не столько он, сколько практичный виджет для Центра уведомлений. Он показывает пять последних писем. На них можно сразу же ответить, удалить ненужные и перейти к письму в приложении.

А какими виджетами для Mac пользуетесь (и пользуетесь ли ими вообще) вы, уважаемые читатели? Поделитесь своим опытом в комментариях!

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

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

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

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

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

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

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

У подавляющего большинства владельцев Mac в центре уведомлений уже не первый месяц копятся тучи ненужных уведомлений разных программ. А функция на самом полезная, позволяет выполнить небольшие действия, не запуская для этого дополнительные программы, а просто сделав свайп влево. Следующие 10 виджетов призваны сделать центр уведомлений в OS X Yosemite несколько удобнее.

Just Calendar

По умолчанию Apple не предлагает вам полноценный календарь, ограничиваясь стандартным отображением текущей даты и дня недели. Just Calendar отлично вписывается в концепцию минимализма, предлагая удобный, обладающий базовой функциональностью календарь.

Countdowns

Дедлайн, день рождения друга, очередной праздник или даже годовщина ваших отношений - обо всём этом довольно легко можно забыть в ежедневной рабочей рутине. А дожидаться праздников, отсчитывая оставшиеся до них дни, вдвойне приятнее. И это всего несколько причин, почему стоит скачать бесплатный Countdowns уже сейчас.

Battery Diag

Ёмкие долгоиграющие аккумуляторы - одно из преимуществ Macbook. Для тех, кто беспокоится о здоровье своей , количестве циклов перезарядки, температуре, исходной и текущей ёмкости, Battery Diag подойдёт наилучшим образом. Выглядит он красивее, нежели аналогичные программы или виджеты Dashboard, а то, что его можно скачать бесплатно (ограниченное время) и получить доступ к информации в один свайп - ещё один аргумент в пользу Battery Diag.


Keypad

Этот виджет использует ещё одну крутую функцию OS X Yosemite - режим Continuity. Ранее звонки можно было совершать только из Facetime, но Keypad добавляет эту возможность непосредственно в центр уведомлений. Одно поле для ввода номера и три кнопки: Call, Redial, Open App, - достаточный минимум для быстрого и удобного использования этой функции.

Lyrical

Обычно, когда вы слушаете музыку с iTunes, всё, что отображается в центре уведомлений - название песни, которая играет, и её исполнитель. Если этого вам недостаточно, скачайте Lyrical. Он добавит не только обложку проигрываемого альбома, управление воспроизведением, рейтингом трека и громкостью, но и текст песни.

AirMail

По праву можно считать одним из лучших почтовых клиентов для OS X. Удобный и красивый, с добавлением собственного виджета во второй версии он стал ещё лучше. Функциональность минимальная, но её более чем достаточно для того, чтобы в большинстве ситуаций забыть о приложении на панели состояния. Непосредственно в центре уведомлений отображается адресант и тема сообщения, открыть которое можно простым нажатием, а также три кнопки: «Ответить», «Отправить в архив» и «Удалить». Виджет доступен вместе с приложением, которое обойдётся вам в $10.


iStat Mini

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

Swift Note

Swift Note - это небольшой заметочник для центра уведомлений. Он стоит символичный $1 и будет удобен в случаях, когда нужно сохранить для себя важную, но краткосрочную информацию или напоминание, которые не требуют запуска полноценного Calendar или Reminders. Можно создавать неограниченное количество заметок и менять их цвета в пределах шести стандартных вариантов. Аналогичный виджет, кстати, можно установить и в Dashboard.

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

Сегодня мы с вами попробуем разобраться в азах создания виджета для 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 - в зависимости от наших потребностей.

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

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

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


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


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

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