Категории раздела |
|
Автомобильные гаджеты, ремонт...
[220]
|
Безопасность IT
[484]
|
Блоки питания, Power Banks, зарядки...
[490]
|
Видеорегистраторы
[220]
|
Гаджеты для спорта и здоровья...
[190]
|
Гаджеты, аксессуары...
[625]
|
Измерительная техника, инструменты
[449]
|
Накопители данных
[226]
|
Нетбуки, Ноутбуки, Ультрабуки
[679]
|
Мультиварки, блендеры и не только...
[158]
|
Планшеты
[758]
|
Радар-детекторы
[26]
|
Роботы-пылесосы
[37]
|
Своими руками
[356]
|
Сети, сетевые технологии, оборудование...
[269]
|
Смартфоны
[4966]
|
Фотокамеры, объективы, искусство фотографии..
[543]
|
Умный дом
[47]
|
Электронные книги
[96]
|
CB, LPD, PMR- связь...
[169]
|
DECT, IP-телефоны
[18]
|
Drones, boats, cars...
[108]
|
electric cars
[35]
|
GPS-навигаторы, трекеры...
[51]
|
Linux и не только
[4380]
|
mini computers и не только...
[409]
|
News IT, Это интересно, ликбез...
[1113]
|
Smart TV, UltraHD, приставки, проекторы...
[414]
|
Smart Watch
[263]
|
Sound: наушники, плееры, усилители...
[616]
|
Windows 10...
[298]
|
Windows 11
[28]
|
| |
|
|
| | |
| Главная » 2014 » Февраль » 16 » Яндекс.Диск в Linux. Пункт в меню KDE\Dolphin. Отображение состояния в conky
07:49 Яндекс.Диск в Linux. Пункт в меню KDE\Dolphin. Отображение состояния в conky |
Яндекс.Диск в Linux. Пункт в меню KDE\Dolphin. Отображение состояния в conky
Недавно начал пользоваться консольным клиентом Яндекс.Диск в Linux.
Для удобства использования пришлось добавить в контекстное меню Dolphin
пункт публикации файла/папки, а в conky информацию о текущем состоянии
Яндекс.Диска.
Сделать и то и другое довольно просто.
Добавим пункт в меню Dolphin.
Для этого создадим файл *.desktop (мой файл называется YDisk.desktop) со следующим содержанием:
[Desktop Entry]
Type=Service
ServiceTypes=all/allfiles
MimeType=all/all;
Actions=ToYandex;
X-KDE-Priority=TopLevel
X-KDE-Icon=/usr/share/pixmaps/YD_logo.png
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
[Desktop Action ToYandex]
Name=Опубликовать
Icon=/usr/share/pixmaps/YD_logo.png
Exec=/usr/bin/YD_public %F
Теперь поместим его в каталог /usr/share/kde4/services
sudo cp YDisk.desktop /usr/share/kde4/services
Как видно из содержания файла, в качестве иконки я использую png картинку размещённую в папке /usr/share/pixmaps/
а при нажатии на пункт выполняется команда /usr/bin/YD_public %F, где %F это имя файла.
На случай если кому-то понадобится
У нас появился пункт в меню.
Создадим файл для обработки этого события.
Для этого напишем файл YD_public следующего содержаниея.
var=`yandex-disk publish $1 2>&1`
notify-send -i /usr/share/pixmaps/YD_logo.png "Яндекс.Диск" "$var"
qdbus org.kde.klipper /klipper org.kde.klipper.klipper.setClipboardContents $var
Копируем наш файл в /usr/bin и делаем файл исполняемым.
cp YD_public /usr/bin
chmod +rx /usr/bin/YD_public
Результат работы notify-send
Ссылка в клипбоард тоже успешно скопирована
С первой частью разобрались, пункт меню добавлен, всплывающее оповещение имеется, ссылка копируется в клипбоард.
Теперь разберёмся с conky (Я специально выделил белым всё что связано с Yandex.Disk)
Тут у нас типичный conky с типичным .conkyrc
Если выполнить в консоли yandex-disk status, то утилита в ответ выдаст что-то вроде
[rain@rainhost kde]$ yandex-disk status
Статус ядра синхронизации: ожидание команды
Путь к папке Яндекс.Диска: '/mnt/raid/YDisk'
Всего: 211.97 GB
Занято: 4.08 GB
Свободно: 207.89 GB
Максимальный размер файла: 10 GB
Размер корзины: 0 B
Хоть и не совсем годится для отображения в conky, но ничто не мешает его «парсить».
Посмотрите на файл конфигурации
yandex.disk - ${exec yandex-disk status | grep -i Всего | sed -e 's/^.\{8\}//'}
${exec yandex-disk status | grep -i Занято | sed -e 's/^.\{9\}//'}${alignr}${execbar YD_free}
Status:${alignr}${exec yandex-disk status | grep -i "Статус ядра"| sed -e 's/^.\{27\}//'}
Other informations:
${exec yandex-disk status | grep -i "Статус синхронизации"| sed -e 's/^.\{22\}//'}
Немного разберём его.
В первой строке мы запускаем yandex-disk status, с помощью grep отбираем строчку в которой есть совпадение со словом «Всего» grep -i Всего и удаляем 8 первых символов sed -e 's/^.\{8\}//'.
Таким образом мы получили общий объём Яндекс.Диска и вывели в conky.
Аналогичным способом получили информацию о том сколько занято (строка
2), а также информацию о статусе (строки 3 и 5).
Во второй строке я также вывожу bar с информацией о том на сколько
заполнен диск в процентах, для этого написал небольшой скрипт YD_free
который возвращает число от 0 до 100 в зависимости от заполненности
диска, а execbar отображает его принимая в качестве аргумента результат
работы YD_free:
var=`yandex-disk status | grep -i Всего | sed -e 's/^.\{8\}//' | sed 's/.\{6\}$//' 2>&1`
vos=`yandex-disk status | grep -i Занято | sed -e 's/^.\{9\}//' | sed 's/.\{6\}$//' 2>&1`
echo $[$vos*100/$var]
Тут в первую переменную пишем сколько у нас места Всего, во вторую сколько Занято, в третей строке выводим процент.
P.S. Хотелось бы что бы команда Яндекс добавила больше опций на вывод (к
примеру пишешь команду yandex-disk status disk free — результат
свободное место на диске цифрами), а читатель «получил запал» для старта
новых идей.
http://habrahabr.ru/post/212763/
|
Категория: Linux и не только |
Просмотров: 740 |
Добавил: laptop
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
| |
| | |
|
Волк слабее льва и тигра, но в цирке волк не выступает!
Волк - единственный из зверей, который может пойти в бой на более сильного противника.
Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...
Внимание! |
|
Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
| |
|
|