,

26 июля, 2010

Статус аккумулятора в приглашении командной строки

Вот очередной велосипед на тему показа статуса аккумулятора для нэтбука на ARCH Linux :)

Вот такой получается скрипт на sh (думаю все ясно из комментов):

#!/bin/zsh

# Определяем уровень заряда аккумулятора на текущий момент
remaining_bat=`cat /proc/acpi/battery/BAT0/state | grep remaining | awk {'print $3'}`;

# Определяем 100% заряда для аккумулятора
full_bat=`cat /proc/acpi/battery/BAT0/info | grep full | awk {'print $4'}`;

# Определяем подключён сетевой провод или нет
stat=`cat /proc/acpi/battery/BAT0/state | grep charging | awk {'print $3'}`;

if [ $stat = 'charging' ]; then
stat='+'; # Провод подключён ( ноут зяряжеается )
else if [ $stat = 'charged' ]; then
stat=''; # ( Аккумулятор зяряжен)
else
stat='-'; # Провод не подключён ( ноут разряжается )
fi
fi

# получаем заряд батареи в % ( Школьная математика - Рулит! :) )
bat=$(($remaining_bat*100/$full_bat));

# основные цвета ( ESC - последовательности, подробнее - $ man console_codes )
RED="\033[31m"; # Красный
YELLOW="\033[33m"; # Жёлтый
WHITE="\033[38m"; # Белый

# Цвет по-умолчанию
DEFAULT="\033[0m";

if [ $bat -lt 10 ]; then # Если заряд аккамулятора меньше 10% (краасные цвет)
result="$RED$stat$bat";
else if [ $bat -lt 30 ]; then # Если заряд аккамулятора меньше 30% (жёлтый цвет)
result="$YELLOW$stat$bat";
else
result="$WHTE$stat$bat"; # Заряд аккамулятора больше 30% ( белый цвет )
fi
fi

# Выводим результат
echo -e $result%%$DEFAULT;

exit 0;

Далее говорим zsh о том, что нужно выводить в PROMPT результат этого скрипта.
В файле ~/.zshrc в функции precmd() прописываем где-нибудь в начале:

precmd() {
   BAT=`binf.sh`;
   PROMPT="battery:(`echo $BAT`)::%{$reset_color%}%{$fg_bold[green]%}%m {$reset_color%}::%{$fg_bold[crey]%}[ %~ ]%{$rese+t_color%}> "
.....

Как-то вот так, где binf.sh — скрипт выше.
Обязательно нужно, чтобы binf.sh лежал по пути в переменной PATH, я для этой цели создал папку bin в домашней директории и сделал ссылку на файл в папке /bin

В precmd() — можно запихнуть любые команды, которые будут выполнятся при обновлении командной строки.

2 июля, 2010

HTML 5

[announce]Пора переходить[/announce]

Думаю пришло время переходить на html5 в нем достаточно много интересных вещей, пока не совсем понимаю как работает видео плеер на html5, но пока с видео траблы, у меня не запустился плеер html5 в FF, а это уж совсем значит никуда не годиться.

Вот что новенького появилось (движение в сторону упрощения, что не может не радовать :) ):

  • Логическая разбивка (header, footer, nav …) и это есть прикольно! :)
  • Доктайп стал очень простым — !DOCTYPE html
  • У ссылок можно использовать атрибут — target
  • Тэг script может не содержать никакие атрибуты
  •  

    В IE чтобы вся эта красота заработала нужно вставить небольшой код javascript в документе на HTML5:

    Так:

    <!-- [if IE] -->
    <script>
    document.createElement('header');
    document.createElement('nav');
    document.createElement('section');
    document.createElement('article');
    document.createElement('aside');
    document.createElement('footer');
    </script>
    <!-- [endif]-->
    

    Или так:

    <!--[if IE]>
      <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    

     

    Конечно я уже привык к XHTML и мне даже нравилась его строгость, но ничего не поделаешь, время идет и приходят новые более совершенные технологии. :-D

    Я прочитал из этого ресураса о html5 http://dimox.name/hello-html5-goodbye-xhtml2/

26 мая, 2010

Подключение tinymce

[announce]Постоянно забываю как подключать его.. Пусть будет здесь![/announce]
Подключение TinyMCE к textarea по классу

tinyMCE.init({	
...
mode : "specific_textareas",
editor_selector : "mceEditor"
});

Подключение TinyMCE к textarea по ID

tinyMCE.init({
...
mode : "exact",
elements : "elm1,elm2"
});

...

<textarea id="elm1" ...

Источник: http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/mode

22 декабря, 2009

JQuery Uploadify

[announce]Удобный плагин для загрузки файлов на сервер. [/announce]

Дескрипшон

http://www.uploadify.com — удобный инструмент если нужно быстро создать в CMS возможность загрузки нескольких файлов.Плагин для JQuery.

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

Файлы

<script type="text/javascript" src="http://aa/admin/spaw2/empty/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="http://aa/admin/spaw2/empty/swfobject.js"></script>

Код

$(document).ready(function() {
 $("#uploadify").uploadify({   
     'uploader'    :'uploadify.swf',
     'script'      : 'functions.php',   
     'checkscript' : 'check.php',   
     'cancelImg'   : 'cancel.png',
     'queueID'     : 'fileQueue',   
     'auto'        : true,   
     'multi'       : true,   
     'fileDesc'    : 'jpg',   
     'fileExt'     : '*.jpg',  
     'onComplete'  : function(event,queueID,fileObj,response,dat{$('#response').append(response);}  });
});

Настройки

uploader — путь до самого флэш загрузчика uploadify.swf
script — это путь до нашего файла обработчика, у меня это файл functions.php, но в архиве с библотекой он именуется как uploadify.php.
checkscript
— путь до скрипта, который будет проверять наш файл до загрузки его на сервер. В файле, идущем в архиве с плагином, проверяют существования файла с таким же именем на сервере.
cancelImg — путь до картинки, которая будет символизировать удаления файла.
queueID
— id элемента, в котором будет содержаться список выбранных нами файлов. По умолчанию он создаётся ниже браузерной кнопки выбора файла.
auto — параметр, отвечающий, будут ли файлы загружаться автоматически сразу после их выбора, или нет. Если стоит значение false, то для начала загрузки можно использовать этот код:
  <a href="javascript:$('#uploadify').uploadifyUpload();">Загрузить файлы.</a>

Естественно, можно повесить вместо ссылки картинку или кнопку, тут уже на Ваш выбор.
multi
— будет ли наш плагин служить для загрузки нескольких файлов, иль не будет.
fileDesc
— типы файлов в диалоге выбора.
fileExt
— расширения файлов, разрешенных для загрузки. Незабываем добавить эти типы файлов и в fileDesc, иначе не сможете выбрать эти файлы в диалоговом окне.
onComplete
— функция, которая будет вызвана сразу после загрузки файла. Данная функция будет вызываться каждый раз, как будет загружен очередной файл.
onAllComplete
— функция, которая будет вызвана сразу после загрузки всех файлов.
buttonText — текст на кнопке (на время написания этого текста на кнопки могла отображатся только надпись на английском языке).

Дока — http://www.uploadify.com/documentation/
Плагин — http://www.uploadify.com

Источник — http://habrahabr.ru/blogs/jquery/71772/