Показаны сообщения с ярлыком conky. Показать все сообщения
Показаны сообщения с ярлыком conky. Показать все сообщения

понедельник, 2 мая 2016 г.

DesktopInfo

Софт наподобие Conky для линукса существует для Windows.
Alternativeto.net выдает BGInfo.
Софтина эта от Microsoft. Она сканирует систему и выдает нужную информацию о ее состоянии в файлик, которой ложится на "поверхность рабочего стола". Грубо говоря, она создает еще один слой на обоях, пишет текст о системе и сохраняет. Так оно там и остается пока не проводится обновление файла.
Я побаловался немного и забросил. Не такая уж нужная это вещь. Если хочется оценить куда скинуть фильмы и музыку с инета или с флешки, то все равно смотрю на пиктограммы в "Моем компьютере".

пятница, 28 мая 2010 г.

Погода в Conky

Обычно настройка погоды в Conky делается через ConkyForecast, но у меня был полный провал на этом пути. Я совершенно случайно нашел другой вариант. Погоду можно получать в виде xml-документа. Затем обрабатывать в командной строке, т.е. в bash, и выводить на десктоп. На сайте TreadStates я нашел ссылку на архив с bash-сценарием и xslt-документом, с помощью которого xml-информация превращается в читаемый человеком вид. Но погода с xoap.weather.com мне не подходит. Xml-документ можно получать с других сайтов. А именно с GISMETEO.RU. Сайт погодовещателя выводит информеры как сервис и примочку для вебмастеров и сайтовладельцев. Там представлены как простые баннеры с цифрами и картинками или флеш баннеры, так и ссылка на xml-документ с погодой для продвынутых вебмастеров (Не считаю себя продвинутым).
В сценарии были прописаны команды и файлы которые следует использовать для получения погоды. Я немного модифицировал его. Выглядит он следующим образом:
#!/bin/sh
RUNDIR=/home/borilav/bin/
CURLCMD=/usr/bin/curl
XSLTCMD=/usr/bin/xsltproc
CURLURL="http://informer.gismeteo.ru/xml/27612_1.xml"
XSLT=/home/borislav/bin/gis1.xsl
#####
eval "$CURLCMD \"$CURLURL\" 2>/dev/null | $XSLTCMD $XSLT"


В качестве шаблона для xml с гисметео используется gis.xsl. Признаюсь над ним пришлось потрудиться. В статье я нашел способ обработки (это оказывается называется "парсинг") xml от гисметео. Там описали способ представления для html-документа. Я адаптировал его для текстового формата. Выглядит вот так.

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns=">http://www.w3.org/1999/xhtml">
<xsl:output method="text" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
<!--Шаблон, преобразующий порядковый номер месяца в его текстовое представление-->
<xsl:template name="hour-abbreviation">
<xsl:param name="hour"/>
<xsl:choose>
<xsl:when test="$hour = 03">ночь</xsl:when>
<xsl:when test="$hour = 09">утро</xsl:when>
<xsl:when test="$hour = 15">день</xsl:when>
<xsl:when test="$hour = 21">вечер</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Шаблон, показывающий текстовое представление облачности-->
<xsl:template name="get-cloudiness">
<xsl:param name="cloudiness"/>
<xsl:choose>
<xsl:when test="$cloudiness = 0">ясно</xsl:when>
<xsl:when test="$cloudiness = 1">малооблачно</xsl:when>
<xsl:when test="$cloudiness = 2">облачно</xsl:when>
<xsl:when test="$cloudiness = 3">пасмурно</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Шаблон, показывающий текстовое представление атмосферных явлений-->
<xsl:template name="get-precipitation">
<xsl:param name="precipitation"/>
<xsl:choose>
<xsl:when test="$precipitation = 4">дождь</xsl:when>
<xsl:when test="$precipitation = 5">ливень</xsl:when>
<xsl:when test="$precipitation = 6">снег</xsl:when>
<xsl:when test="$precipitation = 7">снег</xsl:when>
<xsl:when test="$precipitation = 8">гроза</xsl:when>
<xsl:when test="$precipitation = 10">без осадков</xsl:when>
<xsl:otherwise>?</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--Шаблон, отображающий атмосферные явления-->
<xsl:template match="PHENOMENA">
<xsl:call-template name="get-cloudiness"> <xsl:with-param name="cloudiness" select="@cloudiness" /></xsl:call-template>, <xsl:call-template name="get-precipitation"><xsl:with-param name="precipitation" select="@precipitation" /> </xsl:call-template>
</xsl:template>
<!--Шаблон, отображающий температуру-->
<xsl:template match="TEMPERATURE">
<xsl:value-of select="@min"/>..<xsl:value-of select="@max"/> °C
</xsl:template>
<xsl:template match="RELWET">
<xsl:value-of select="@min"/>..<xsl:value-of select="@max"/> %
</xsl:template>
<xsl:template match="PRESSURE">
<xsl:value-of select="@min"/>..<xsl:value-of select="@max"/> мм рт.ст.
</xsl:template>
<!--Корневой шаблн результирующей страницы-->
<xsl:template match="/">
<!--Здесь мы выбираем только самый первый(ближайший) прогноз под номером 1 -->
<xsl:apply-templates select="MMWEATHER/*/TOWN/FORECAST[1]"/>
<xsl:apply-templates select="MMWEATHER/*/TOWN/FORECAST[2]"/>
<xsl:apply-templates select="MMWEATHER/*/TOWN/FORECAST[3]"/>
<xsl:apply-templates select="MMWEATHER/*/TOWN/FORECAST[4]"/>
</xsl:template>
<!--Базовый шаблон, отображающий информер-->
<xsl:template match="MMWEATHER/*/TOWN/FORECAST">
<xsl:apply-templates select="TEMPERATURE"/>
<xsl:apply-templates select="RELWET"/>
<xsl:apply-templates select="PRESSURE"/>
<xsl:apply-templates select="PHENOMENA"/>
</xsl:template>
</xsl:stylesheet>



Далее в файл настроек Conky вставляется строка.

${execpi 60 /home/borislav/bin/gis.sh}


Но не все гладко и точно работает, потому что я не знаю почему и как нужно исправить во всем этом коде для нормального отбражения.
Получилось сделать, чтобы не было кривизны это разбить эту массу цифр и букофф на четыре файла, каждый обращается в гисметео и получает погоду. Потом обращается к своему шаблону xsl и выводит погоду для своего прописанного времени суток (благо у гисметео погода приведена на 3 часа ночи, 9 - утра, 15 - дня и 21 - вечера). В conky-мониторе кривизна вывода компенсируется приставками и надстройками.

$alignc GISMETEO.RU

${color #7E0000} Ночь${color}
${execpi 60 /home/borislav/bin/gis.sh}

${color #7E0000} Утро${color}
${execpi 60 /home/borislav/bin/gis2.sh}

${color #7E0000} День${color}
${execpi 60 /home/borislav/bin/gis3.sh}

${color #7E0000} Вечер${color}
${execpi 60 /home/borislav/bin/gis4.sh}





Вот такая вот погода.

четверг, 27 мая 2010 г.

Conky

Первый вариант



Содержимое конфигурационного файла .conkyrc
# conky configuration
#
##############################################
# Settings
##############################################
background yes
use_xft yes
xftfont Sans:size=16
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 400 200
maximum_width 200
draw_shades yes
draw_outline no
draw_borders no
draw_graph_borders no
default_color C7C7C7
default_shade_color black
default_outline_color
alignment top_right
gap_x 12
gap_y 12
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale no
##############################################
# Output
##############################################
TEXT
$nodename
$uptime
$cpu%
$mem/$memmax
${fs_used /}/${fs_size /}
$processes/$running_processes

${font Sans:size=40}${time %H h.}${font}
${font Sans:size=40}${time %M min.}${font}
${voffset 2}${time %A
%d %B %Y}
${font Sans:size=10}Alt+F2$alignr Run Dialog
Alt+F3$alignr Alt Menu
Super+space$alignr Main Menu
Super+tab$alignr Client Menu
Super+t$alignr Terminal
Super+f$alignr File Manager
Super+e$alignr Editor
Super+m$alignr Media Player
Super+w$alignr Web Browser
Super+g$alignr Graphics Editor
Super+c$alignr Clock
Super+l$alignr Lock Screen
Super+v$alignr Volume Control
Super+u$alignr System Update
Super+x$alignr Logout
PrtSc$alignr Screenshot${font}



Второй вариант



Содержимое конфигурационного файла .conkyrc
background yes
font Snap.se:size=8
xftfont Snap.se:size=8
use_xft yes
xftalpha 0.1
update_interval 1.0
total_run_times 0
own_window yes
own_window_type desktop
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
minimum_size 240 50
maximum_width 240
default_color ffffff
default_shade_color 000000
default_outline_color 000000
alignment top_right
gap_x 3
gap_y 3
no_buffers yes
cpu_avg_samples 2
override_utf8_locale yes
uppercase no # set to yes if you want all text to be in uppercase
use_spacer none
TEXT
${font Sans:size=40}${time %H:%M:%S}${font}
$alignc${voffset 2}${time %A %d %B %Y}
${color}${font Mono:bold:size=10}${execpi 60 DJS=`date +%_d`; cal | sed '1d' | sed '/./!d' | sed 's/$/ /' | fold -w 21 | sed -n '/^.\{21\}/p' | sed 's/^/${alignc} /' | sed /" $DJS "/s/" $DJS "/" "'${color2}'"$DJS"'${color}'" "/}
Host: $alignr$nodename
Kernel: $alignr$kernel
Uptime: $alignr$uptime
Processes: ${alignr}$processes ($running_processes running)
Load: ${alignr}$loadavg
${hr 2}
Interface: $alignr ${gw_iface}
IP address: $alignr ${addr eth0}
Mask: $alignr ${execi 1 /sbin/ifconfig eth0 | grep 'inet addr' | awk '{print $4}' | sed 's/Mask:/\ /'}
Gateway: $alignr ${gw_ip}
Downloaded: $alignr ${totaldown eth0}
Uploaded: $alignr ${totalup eth0}
${hr 2}
Download Speed: ${alignr}${downspeedf eth0} k/s
${downspeedgraph eth0 20,240}
Upload Speed: ${alignr}${upspeedf eth0} k/s
${upspeedgraph eth0 20,240}
${hr 2}
CPU Freq $alignr${freq_g} GHz
${cpugraph cpu0 20,240}
${hr 2}
Alt+F2$alignr Run Dialog
Alt+F3$alignr Alt Menu
Super+space$alignr Main Menu
Super+tab$alignr Client Menu
Super+t$alignr Terminal
Super+f$alignr File Manager
Super+e$alignr Editor
Super+m$alignr Media Player
Super+w$alignr Web Browser
Super+g$alignr Graphics Editor
Super+c$alignr Clock
Super+l$alignr Lock Screen
Super+v$alignr Volume Control
Super+u$alignr System Update
Super+x$alignr Logout