Сайт | Скачать | Видео | Wiki

Автор Тема: sit - отображение и смена согласно заданному интервалу иконки в трее + меню  (Прочитано 3512 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
   sit это утилитка для отображения и смены согласно заданному интервалу иконки в трее
===========================================================
(начало здесь: http://murga-linux.com/puppy/viewtopic.php?t=76431
продолжение: http://murga-linux.com/puppy/viewtopic.php?t=76431&start=159
у пользователя tele1234567891 и взят оригинал для доработки:
http://murga-linux.com/puppy/viewtopic.php?mode=attach&id=108912 )
===========================================================
реагирует на левый(ЛКМ) и правый(ПКМ) клик мыши
можно задать обработчик для ЛКМ
по ПКМ вызывается контекстное меню(в оригинале просто скрипт)
обработчики ЛКМ и контекстного меню в сопутствующем скрипте (а не в бинарнике sit)
это позволяет оперативно менять их при необходимости, без перекомпиляции бинарника

    sit принимает 4 или 5 параметров, при меньшем кол-ве выведет usage(инструкцию)
1й параметр - интервал обновления в миллисекундах
2й - путь к иконке, которая будет отображаться в трее
3й - tooltip, всплывающая подсказка, может быть пустой строкой
4й - строка, которую sit будет "выплевывать" в stdout по нажатию ЛКМ
5й - необязательный, строка, которую sit будет "выплевывать" в stdout
по таймауту в соответствии с интервалом из первого параметра
предполагается для запуска в соответствии с интервалом внешнего скрипта\бинарника
примеры:
./sit 1000 `pwd`/test.png "toolTIP" "leftclick"
./sit 1000 ./test.png "" "leftclick-run" # 3й параметр пустая строка, тем не менее обязательна
============================================================
все во вложении
в READMEru чуть подробнее
предполагаю использовать или в autonet(замена netTun ) или на замену аплета "монитор статуса сети" в lxpanel
сейчас sit используется например в traywifi для отображения уровня сигнала
===========
TODO
прикрутить иконки в контекстном меню, пока не нашел как  ???
« Последнее редактирование: 09 Июль 2019, 16:35:41 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
http://forum.puppyrus.org/index.php?topic=14958.msg83165#msg83165
Юзал, но отказвлся
Такое универсальнее на yad делать. Примеры - в пра : trayinfo* и прочие tray*

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
Примеры - в пра : trayinfo* и прочие tray*

сейчас sit используется например в traywifi для отображения уровня сигнала

ковыряя traywifi и набрел на него
пробовал Yad'ом прикрутить к нему контекстное меню, с наскоку не получилось, полез искать исходник sit  :)
« Последнее редактирование: 09 Июль 2019, 16:46:04 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
в оригинале нет контекстного меню
а у д.Саши в netTun нет меняющихся иконок
а тут - микс :)

Такое универсальнее на yad делать
на Yad'e можно иконки в трее менять? если да,  тогда можно задвинуть на полку
меню в трее на Yad'e, согласен, очень просто делается
« Последнее редактирование: 09 Июль 2019, 16:52:48 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Онлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
предполагаю использовать или в autonet(замена netTun )
Шило на мыло? Толко потому что забугорное. Я писак с murga-linux.com как-то не очень уважаю.
у д.Саши в netTun нет меняющихся иконок
А оно нужно? Специально не делал.
меню в трее на Yad'e
Вообще-то это уведомление (yad --notification)
« Последнее редактирование: 09 Июль 2019, 17:43:18 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
Только потому что забугорное
не, не из-за этого, мне все-равно(почти) : наше или буржуйское, главное, как работает, как сделано.
Вообще считаю открытые исходники общемировым достоянием, независимо от национальности "писателя"
пс
да, сейчас оно уже частично наше  :)
« Последнее редактирование: 09 Июль 2019, 18:02:42 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
А оно нужно? Специально не делал.
Кому как наверное, у меня трей больше для информации, меньше для действий, поэтому и сделал, и тоже специально :)
« Последнее редактирование: 09 Июль 2019, 20:46:40 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
Вообще-то это уведомление (yad --notification)
посмотрите вложение, сделано на Yad'e
больше на меню походит, не находите? (скрин парой постов ниже)
несмотря на то что `GUI=$(yad --notification ...`
за генерацию меню там параметр --listen отвечает и `echo "menu:$GET_MENU" >&3`, согласен, немного путано..
умеет Yad меню в трее, и довольно просто
« Последнее редактирование: 09 Июль 2019, 21:17:37 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Онлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8634
  • Репутация: +187/-2
  • Старый чайник
посмотрите вложение, сделано на Yad'e
Посмотрел. В Richy не работает (tray11: line 9: mktemp: not found).
Я ковырялся с yad, а до этого когда-то в забытом уже Xdialog, это всё не то. Что-то приличное можно сделать только на Qt, но пока не осилил.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
В Richy не работает (tray11: line 9: mktemp: not found).
придумывает случайное название для файлика наверное ..
ну раз нет,убрать ее вызов, название вручную вбить
там еще в функциях INFO и HELP вызовы ntf, тоже заменить наверное лучше на свое
это пример просто .. простенький
пс
во вложении видно, как выглядит(трей временно в "верхней" панельке)
« Последнее редактирование: 09 Июль 2019, 21:06:49 от k0l0p0k »
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33955
  • Репутация: +231/-0
    • PuppyRus-A
на Yad'e можно иконки в трее менять?
Да. И меню и много чего. Примеры : tray* mpv-gui

Оффлайн k0l0p0k

  • Ветеран
  • *****
  • Сообщений: 1610
  • Репутация: +27/-1
  • Автор темы
попробовал иконки в трее Yad'ом менять динамически
на самом деле, крайне просто, достаточно :
echo "icon:$patch-to-Icon" > $fifo
где $fifo - канал, связанный с GUI
то же и с tooltip :
echo "tooltip:$всплывающее-сообщение" > $fifo
1.пень G2020,8Gb,Radeon RX460 (Debian+openBox+LXPanel)
2.нетбук  Samsung N145 (Debian+openBox+LXPanel, ddr01)