Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => Тема начата: Pro от 13 Март 2013, 13:27:23

Название: freememapplet-2.5
Отправлено: Pro от 13 Март 2013, 13:27:23
ilyuk исправил работу стандартного freememapplet_tray-2.4 - была проблема в том, при свободном месте равном 0 и если  освободить место, то значение ярлыка не обновлялось.

исправленный исходник и компилированный бинарник во вложении
Название: Re:freememapplet-2.5
Отправлено: sfs от 16 Май 2013, 16:20:58
Доработал:
1. Цифры выдает скрипт freememapplet_tray.sh (для адаптации под любой дистр или показ чего угодно ; иконки тоже можно поменять)
2. Левый клик на значок в трее - скрипт freememapplet_tray-l
3. Правый клик - скрипт freememapplet_tray-r
Название: Re:freememapplet-2.5
Отправлено: sfs от 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% т.е работает все правильно
А правильная ли заложена логика - можно обсудить
Название: Re:freememapplet-2.5
Отправлено: stran_ik от 05 Сентябрь 2013, 17:21:57
0,9\4,7=19% т.е работает все правильно
Спасибо за разъяснение, сам не вникал, просто с bugfix s07, это не наблюдалось.
Название: Re:freememapplet-2.5
Отправлено: sfs от 05 Сентябрь 2013, 17:49:49
Да, в 7 он работал некорректно
Название: Re:freememapplet-2.5
Отправлено: DdShurick от 15 Январь 2016, 08:24:27
Подпиленный исходник (https://github.com/DdShurick/Richy/blob/master/freememapplet_tray-2.5uni/freememapplet_my.c) freememapplet, работает в Richy, PR, PRA, AltIceWM.
Название: Re:freememapplet-2.5
Отправлено: sfs от 15 Январь 2016, 09:57:28
Я упростил логику си, sh теперь не нужен.
Удобно ли это? Дебажить сложнее
Убрано считывание PUPMODE из /etc/rc.d/PUPSTATE
Чем он мешал? Или просто чистка кода
В пупи он не перестал работать?
и, как следствие, switch оказался не нужен.
Что это?
Кстати, мне больше нравилась старая версия с цифрами в трее.
Тогда легче сделать вывод других цифр в trayram (скрипт из pra)
Как я понял из темы про оформление - такое в трее портит вид
Название: Re:freememapplet-2.5
Отправлено: DdShurick от 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;
}
Название: Re:freememapplet-2.5
Отправлено: ander от 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 секунд, хотя достаточно один раз при запуске.
Название: Re:freememapplet-2.5
Отправлено: DdShurick от 16 Январь 2016, 08:27:51
вызывается каждые 10 секунд
Да
Код
unsigned int interval = 10000; /*update interval in milliseconds*/
........................
gtk_timeout_add(interval, Update, NULL);
хотя достаточно один раз при запуске.
Что предлагаете?