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

Автор Тема: freememapplet-2.5  (Прочитано 14366 раз)

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

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
  • Автор темы
freememapplet-2.5
« : 13 Март 2013, 13:27:23 »
ilyuk исправил работу стандартного freememapplet_tray-2.4 - была проблема в том, при свободном месте равном 0 и если  освободить место, то значение ярлыка не обновлялось.

исправленный исходник и компилированный бинарник во вложении
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:freememapplet-2.5
« Ответ #1 : 16 Май 2013, 16:20:58 »
Доработал:
1. Цифры выдает скрипт freememapplet_tray.sh (для адаптации под любой дистр или показ чего угодно ; иконки тоже можно поменять)
2. Левый клик на значок в трее - скрипт freememapplet_tray-l
3. Правый клик - скрипт freememapplet_tray-r

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:freememapplet-2.5
« Ответ #2 : 05 Сентябрь 2013, 09:58:49 »
Индикатор freememapplet_tray в PRA стал показывать переполнение (4,7Gb доступно, 0,9 свободно).
 - возможно связано с сохранением в /changes, с _save.pfs не пробовал, но в ходе экспериментов (с  changes=EXIT)
freememapplet_tray состояние /rw- и все было правильно.
Т.е. цифры показывает правильно, а вывод делает неправильно? Если так - эта логика в C исходнике //update icon
critical в случае sizefree < 50Мб или percentfree <20%
 0,9\4,7=19% т.е работает все правильно
А правильная ли заложена логика - можно обсудить
« Последнее редактирование: 05 Сентябрь 2013, 10:42:46 от sfs »

Оффлайн stran_ik

  • Пользователь
  • **
  • Сообщений: 35
  • Репутация: +1/-0
  • asus F5V, PR-2...., frugal
Re:freememapplet-2.5
« Ответ #3 : 05 Сентябрь 2013, 17:21:57 »
0,9\4,7=19% т.е работает все правильно
Спасибо за разъяснение, сам не вникал, просто с bugfix s07, это не наблюдалось.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:freememapplet-2.5
« Ответ #4 : 05 Сентябрь 2013, 17:49:49 »
Да, в 7 он работал некорректно

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:freememapplet-2.5
« Ответ #5 : 15 Январь 2016, 08:24:27 »
Подпиленный исходник freememapplet, работает в Richy, PR, PRA, AltIceWM.
Моноблок 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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:freememapplet-2.5
« Ответ #6 : 15 Январь 2016, 09:57:28 »
Я упростил логику си, sh теперь не нужен.
Удобно ли это? Дебажить сложнее
Убрано считывание PUPMODE из /etc/rc.d/PUPSTATE
Чем он мешал? Или просто чистка кода
В пупи он не перестал работать?
и, как следствие, switch оказался не нужен.
Что это?
Кстати, мне больше нравилась старая версия с цифрами в трее.
Тогда легче сделать вывод других цифр в trayram (скрипт из pra)
Как я понял из темы про оформление - такое в трее портит вид
« Последнее редактирование: 15 Январь 2016, 10:05:31 от sfs »

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:freememapplet-2.5
« Ответ #7 : 15 Январь 2016, 10:26:20 »
Удобно ли это?
Всё, что я делаю почему-то вам неудобно. Впрочем взаимно  :)
Убрано считывание PUPMODE из /etc/rc.d/PUPSTATE
Чем он мешал?
На PUPSTATE завязана вся "бюрократия" в initrd от Барри, в своём initrd я эту бюрократию ликвидировал, что позволило существенно сократить код и ускорить загрузку.
и, как следствие, switch оказался не нужен.
Что это?
Аналог case в си.
Код
switch ( /*variable*/ ) {
case const1:
  /*Тут находится код, который необходимо выполнить, если переменная  variable будет равна const1*/
  break;
case const2:
  /*этот код выполнится, если variable будет равна const2*/
  break;
/*...*/
default:
  /*Код, который выполнится, если ниодно из константых значению не соответствует значение в переменной variable*/
  break;
}
Моноблок 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

Оффлайн ander

  • Активный участник
  • Старожил
  • ****
  • Сообщений: 300
  • Репутация: +16/-0
Re:freememapplet-2.5
« Ответ #8 : 15 Январь 2016, 22:47:20 »
Код
fp = (FILE *)popen("df -m `awk -F '=' '/rw/ {print $1}' /sys/fs/aufs/*/br[0-9]*` | sed -n 2p | tr -s ' ' | cut -f 2,4 -d '
Здесь
Код
`awk -F '=' '/rw/ {print $1}' /sys/fs/aufs/*/br[0-9]*`
вызывается каждые 10 секунд, хотя достаточно один раз при запуске.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:freememapplet-2.5
« Ответ #9 : 16 Январь 2016, 08:27:51 »
вызывается каждые 10 секунд
Да
Код
unsigned int interval = 10000; /*update interval in milliseconds*/
........................
gtk_timeout_add(interval, Update, NULL);
хотя достаточно один раз при запуске.
Что предлагаете?
Моноблок 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