Виджеты в Dashboard. Мои любимые виджеты для Dashboard

На iOS - iPhone, iPod touch 29.06.2019
На iOS - iPhone, iPod touch

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

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

Wunderlist


Deliveries

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


Airmail

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


PCalc

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


iStat Mini

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


Monity

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


PhotoDesk

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


Chronicle

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


Свежие виджеты для OS X Mountain Lion и OS X Mavericks

5.08.13 в 16:05

Dashboard - удобная панель, которая появляется когда вам это необходимо и содержит набор мини-приложений (виджетов), выполняющих, как правило, какую-то одну задачу. Dashboard очень удобен в использовании, так как может содержать множество виджетов сразу, отображать текущую погоду, время для различных городов, конвертер валют, калькулятор и многое другое. Сайт Apple содержит список виджетов, разделенный на категории, однако раздел давно не обновлялся и многие из них прекратили свое существование. Мы собрали несколько свежих и полезных виджетов, работа которых была протестирована в Mountain Lion.

CurrencyConverter

Не смотря на то, что в набор стандартных виджетов уже входит конвертер валют, который также обновляет последние через интернет, виджет CurrencyConverter позволяет держать перед глазами длинный список разных валют и конвертировать любую из них налету. Настройки виджета достаточно обширны и кроме всего прочего позволяют отключить рекламу.

Eject Volume

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

ColourMod

Виджет позволяет иметь под рукой цветовой круг, который содержит панель управления цветом, включая HEX, RGB, CMYK и HSV параметры. Выбрав нужный цвет нажмите синюю стрелку вниз, чтобы скопировать HEX значение цвета в буфер обмена.

HTML entity character lookup

Виджет позволяет найти HTML код к вставленному в поиск символу. Кроме того, в поиск можно вставить как символы, так и отдельные слова.

GAget

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

Time Machine Buddy

Этот виджет отображает системные логи созданные Time Machine, из которых вы сможете узнать когда был создана резервная копия и какие ошибки произошли в это время. После установки требуется перезагрузка Mac.

Twidget

Виджет позволяет публиковать сообщения в Twitter и читать ленту друзей прямо из Dashboard. Виджет отображает 20 последних сообщений, автоматически обновляет ленту, создает ссылки для ответов через Direct Message.

Delivery Status

Если вы часто совершаете покупки через интернет, этот виджет поможет отследить международные отправления через DHL, FedEx, TNT и многие другие сервисы.

Notefile

Виджет-блокнот, который позволяет создавать тестовые заметки. ⌘Z отменяет ввод, ⌘N создает новую заметку, ⌘↩ закрывает текущую и возвращается к списку заметок, ⌘F поиск.

Minutes

Виджет позволяет выключать Mac по таймеру, запускать файл, выключать музыку или усыплять Mac. Читайте .

GoldenRatio

Виджет для того, чтобы вычислять золотое сечение отрезков. Читайте .

Word Counter

Виджет для быстрого подсчета количества слов и символов в тексте. При подсчете пробелы не учитываются.

  • Разработка под MacOS ,
  • Разработка веб-сайтов
    • Tutorial

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

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

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

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

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


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

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

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

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

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

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

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

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

    Для начала определимся с «архитектурой» нашего виджета. Мы будем по таймеру запрашивать через данные о пользователе, парсить их и отображать карму и рейтинг на лицевой стороне виджета. Для этого объявляем глобальную переменную 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://сайт/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 - в зависимости от наших потребностей.

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

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

    После установки виджета в Dashboard, вы увидите длинную панель, разделенную на несколько секций. Всего их девять:

  • Заполненность встроенных и подключенных накопителей
  • Уровень батареи
  • Сетевой монитор
  • Данные по нагрузке на систему и времени работы
  • Самые ресурсоемкие процессы
  • Показания температурных датчиков
  • Скорость вращения вентиляторов
  • Порядок расположения всех модулей можно менять на свое усмотрение: для этого достаточно потянуть конкретный модуль за его правый верхний угол (помечается пятью короткими полосками при наведении курсора мыши) в нужную сторону. Настроить детализацию отображения данных можно на обратной стороне iStat Pro (стандартный щелчок на кнопке i ), во вкладках Sections и Display . На первой из них указывается преимущественно видимость каждого модуля, на второй можно отмечать, какие элементы нужно показать, а какие скрыть.

    Настройка iStat Pro:

    На самой первой вкладке, General , расположены параметры, отвечающие за внешний вид iStat Pro. Здесь можно указать, в каких градусах отображать значения температуры, относительно какого параметра сортировать процессы в соответствующем модуле, в какой ориентации и цвете показывать сам виджет и с каким интервалом обновлять S.M.A.R.T-данные о встроенном накопителе.

    Через «шапку» виджета (в горизонтальной ориентации она находится с левого края) также можно запустить системную утилиту «Мониторинг системы» (Activity Monitor) — через кнопку со значком «энцефалограммы».

    Для OS X
    Бесплатно

    Исправление возможных неполадок в работе виджета

    Хотя iStat Pro давно не обновлялся, он до сих пор отлично справляется со своей задачей, не отвлекая вас, когда это не нужно. Однако после выхода в свет OS X 10.8 Mountain Lion в работе виджета могут наблюдаться небольшие сбои. Касаются они визуализации данных: не отображается список пяти наиболее ресурсоемких процессов и гистограммы заполненности встроенных и подключенных накопителей отображаются в виде двойных полосок. Это легко исправить вручную.

    1. Откройте в окне Finder папку ~/Library/Widgets , в которой хранится iStat Pro. Щелкните правой кнопкой мыши на значке виджета и выберите в контекстном меню команду Показать содержимое пакета (Show Package Contents) .
    2. Оказавшись внутри виджета, найдите файл Core.css и откройте его в любом текстовом редакторе. В седьмой строке сверху находится блок инструкций.verticalbarbg . Перед закрывающей фигурной скобкой нужно добавить строку background-position: -4px 0; .
    3. Под отредактированным блоком.verticalbarbg вставьте строку.verticalbar {background-position: -4px 0;} . Сохраните файл и закройте его.
    4. Теперь в том же текстовом редакторе откройте два файла: Tall.js и Wide.js , которые находятся там же, внутри виджета. В обоих файлах замените по два вхождения строки PID|$1 на PID| $1 — после вертикальной черты нужно вставить пробел. Произведя замену, сохраните оба файла и закройте их.

    У подавляющего большинства владельцев 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.

    Coinverter



    Рекомендуем почитать

    Наверх