Ubuntu. Notify-send сообщения + PHP

Написана 14 Августа, 2012 в 21:00. Автор: borN_free   |   Теги: ubuntu, php, gritter, notify-send Комментарии 0

Ubuntu PHP




Скажу сразу, статья навеяна данной и является ee продолжением/расширением, так что автор идеи вовсе не я.

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

Вот как они выглядят:

Notification









Будем программировать следующее:
1. получение погоды для вашего города
2. отображение погоды и картинки в notify-сообщении
3. вызов сообщения по горячей комбинации клавишь

Для получения погоды в конкретном городе используется в примере Open Weather Map API.

Вот и получился следующий код:

file: minsk-weather.php

#!/bin/bash
<?php
error_reporting(0);
Header('Content-Type: text/html; charset=utf-8');
function getWeather($id)
{
    if(!empty($id))
    {
        $json = file_get_contents('http://openweathermap.org/data/weather/'.$id.'?type=json');
        $weatherData = json_decode($json, true);
        return $weatherData;
    }
}

$weather = getWeather(625144); // id нужного города
// сохраним картинку погоды для вывода в качество иконки для notify-send.
file_put_contents(dirname(__FILE__) . '/weather.png', file_get_contents($weather['img']));
$w = $weather['name']."\n";
$w .= $weather['temp']." °C\n";
$w .= "Облачность: ".$weather['clouds']."% \n";
$w .= "Давление: ".$weather['pressure']." hpa \n";
$w .= "Влажность: ".$weather['humidity']."% \n";

exec("notify-send \"Погода\" \"$w\" -i ~/sites/smarty-test/weather.png");

Проверьте теперь работу скрипта, просто запустив из терминала:

php minsk-weather.php

CTRL+T - запуск терминала

Если все прошло успешно, должны увидеть похожую же картинку, как у меня :).

Отлично, теперь настроим запуск скрипта по нажатию на горячие клавиши, через Compiz.

Запускаем его в терминале:

sudo ccsm

Далее ставим чекбокс рядом с иконкой "Клавиши", как показано на скриншоте, и кликаем по ней для редактирования, назначаем shortkey:) Я поставил на CTRL+Q.

Compiz

Примерный код запуска в табе "Команды"

php /home/{USERNAME}/sites/smarty-test/minsk-weather.php

Сохраняем, и проверяем опять.

Я лично себе сделал еще скрипт для получения последних цитат с shortiki.com

Оставьте свой комментарий:

Поля с * обязательны.