суббота, сентября 08, 2007

"Состояния клавиатуры" в ion3

У меня на клавиатуре есть такие специальные клавиши для управления плеером (XF86AudioPlay итп). Использовать их по назначению довольно удобно, да вот беда - я редко запускаю плеер. В итоге большую часть времени они не использовались. Так что захотелось мне повесить на них запуск часто используемых приложений. Но и основные свои функции они должны выполнять, когда надо. Для этого пришлось сделать два "состояния клавиатуры" средствами ion3. Сначала код:

STATE=0

function toggle_state(ws)
if STATE==1 then
STATE=0
ioncore.exec_on(ws,"xset -led 3")
else
STATE=1
ioncore.exec_on(ws,"xset led 3")
end
end

function exec_on_if(ws,prog_true,prog_false)
if STATE==1 then
ioncore.exec_on(ws,prog_true)
else
ioncore.exec_on(ws,prog_false)
end
end

function exec_if(prog_true,prog_false)
return "exec_on_if(_,'"..prog_true.."','"..prog_false.."')"
end

....

kpress("Scroll_Lock","toggle_state(_)"),

kpress("XF86AudioPlay", exec_if('audacious -t', GIMP)),
kpress("XF86AudioStop", exec_if('audacious -s', 'mypaint')),
kpress("XF86AudioNext", exec_if('audacious -f', 'gedit')),
kpress("XF86AudioPrev", exec_if('audacious -r', 'gqview')),
kpress("XF86AudioMute", exec_if('xvolume toggle', 'inkscape')),
kpress("XF86AudioRaiseVolume", exec_if('xvolume 5+%', 'liferea')),
kpress("XF86AudioLowerVolume", exec_if('xvolume 5-%', 'f-spot')),


Как это работает.
В режиме "0" (по умолчанию) "аудио" клавиши запускают приложения. В режиме "1" - управляют плеером. Переключение между режимами - клавишей ScrollLock. Индикация режима - соответствующей лампочкой на клавиатуре.

Конечно, постоянно переключать режимы - не очень удобно, но изредка - в самый раз.

Скрин

Решил выложить один свой давний скрин.


Скрин вообще ни о чем, чисто поржать ;).

среда, сентября 05, 2007

LiveMath: Продолжаю штамповать LiveCD.

Сделал еще один лайв, этот в основном - демонстрационного назначения (хотя, в принципе, вполне пригоден для работы). Соответственно названию, содержит кучу математического софта:

Системы компьютерной алгебры:
Maxima (http://maxima.sourceforge.net) - полнофункциональная система аналитических вычислений;
Axiom (http://axiom-developer.org) - мощная система компьютерной алгебры;
YaCas (http://yacas.sourceforge.net) - еще одна система компьютерной алгебры;
PARI/GP (http://pari.math.u-bordeaux.fr/) - широко используемая компьютерно-алгебраическая система, разработанная для быстрых вычислений в теории чисел (факторизации, алгебраическая теория чисел, эллиптические кривые...);
GAP (http://www.gap-system.org/) - свободно распространяемый, открытый и расширяемый программный комплекс для применения в области вычислительной дискретной математики, в частности, теории групп;
Mathomatic (http://www.mathomatic.org/) - переносимая, универсальная программа, которая может решать, упрощать, группировать, дифференцировать, интегрировать и сравнивать алгебраические выражения;
Системы автоматизации доказательств:
ACL2 (http://www.cs.utexas.edu/users/moore/acl2/) - язык программирования для моделирования компьютерных систем и средство, помогающее доказывать свойства этих моделей;
Coq (http://coq.inria.fr/) - система автоматизированного построения доказательств, с помощью которой, кроме всего прочего, была решена проблема четырех красок;
HOL (http://hol.sourceforge.net) - система автоматизации доказательств для логики высших порядков;
Системы численных вычислений:
SciLab (http://www.scilab.org/) - пакет научных программ для численных вычислений, предоставляющий мощное открытое окружение для инженерных и научных расчетов;
GNU Octave (http://www.octave.org/) - язык высокого уровня, предназначенный для выполнения математических вычислений;
Tela (http://www.geo.fmi.fi/prog/tela.html) - "интерактивный тензорный язык" для численных вычислений;
Разное:
Yorick (http://yorick.sourceforge.net/) - компактная программная среда, предназначенная для комплексного решения научно-инженерных вычислительных задач;
GNU R (http://r-project.org/) - мощный язык статистических вычислений, используемый профессиональными статистиками;
GRETL (http://gretl.sourceforge.net/) - система эконометрического анализа;
Kig (http://edu.kde.org/kig/) - интерактивная геометрия;
Инструменты построения графиков - geg, kmplot, gnuplot;
Визуализация данных:
Mayavi (http://mayavi.sourceforge.net/) - открытый пакет научной 2D и 3D визуализации данных;
OpenDX (http://www.opendx.org/) - программное средство для анализа данных в графическом виде, визуализации научных данных;
GGobi (http://www.ggobi.org/) - среда визуализации многомерных данных;
LabPlot (http://labplot.sourceforge.net/) - программа для анализа и визуализации различных данных;
Grace6 (http://plasma-gate.weizmann.ac.il/Grace/) - программа для подготовки двумерных графиков по численным данным;
PAW (http://cern.ch/paw/) - интерактивная программа анализа и графического представления результатов. Может применяться для анализа большого и очень большого объёма данных;
Научные редакторы:
teTeX (http://www.tug.org/tetex/) - полноценный дистрибутив TeX;
TeXmacs (http://texmacs.org) - текстовый редактор для набора математических и прочих научных текстов, также позволяет включать в документ сессии Axiom, Maxima, Octave, SciLab и других систем компьютерной математики;
Kile (http://kile.sourceforge.net/) - интегрированная среда подготовки документов с помощью TeX;
Texmaker (http://www.xm1math.net/texmaker/) - интегрированная оболочка для LaTeX;
LyX (http://www.lyx.org/) - WYSIWYM (What You See Is What You MEAN) редактор который работает как front end to LaTeX;

Здесь не упомянуты пара текстовых редакторов, браузер, почтовик, а также фронт-енды к упомянутым системам, ну и еще кучка дополнительных программ. Все основные программы с встроенным хелпом, а также на CD есть еще подборка документации по ним.