lockie 20.06.2010 19:07

Мой рабочий стол.Arch + openbox

Ещё никогда не выкладывал в интернеты скрины своего арчика, а вот сейчас что-то приспичило :) Тем более что, наконец, всё более-менее настроил. Критика приветствуется!
Аккуратно, под катом ажно 1.6Мб трафика.

В выборе минималистично-легковесного рабочего окружения я совсем не оригинален - арч и опенбокс, в качестве панели - fbpanel (с практически дефолтными настройками), в качестве системного монитора - коньки. Разрешение, если что, 1280х1024.
На обоине - Рил Мейер из Эрго Прокси ^__^

%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB%201_013.png

%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB%201_015.png

%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB%201_014.png


В съёмках участвовали:
ОС Arch Linux.
Оконный менеджер Openbox - настраивал по вот этому мануалу. Тема из стандартных - Flax. Для стандартного меню на втором скрине использовал команду obm-xdg, входящую в состав пакета obmenu, релевантный кусок конфига ~/.config/openbox/menu.xml :

1
<menu execute="obm-xdg" id="xdg-menu" label="Start"/>



Панель задач + трей + часы fbpanel.
Монитор ресурсов Conky, спасибо Aesdana за прекрасный пост о его настройке, а так же сайту Conky Hardcore:)
Конфиг такой:
double_buffer yes
alignment top_middle
background yes
border_width 1
cpu_avg_samples 2
default_color white
default_outline_color white
default_shade_color white
draw_borders no
draw_graph_borders no
draw_outline no
draw_shades no
use_xft yes
xftfont DejaVu Sans Mono:size=8
gap_x 0
gap_y 0
minimum_size 1280 50
maximum_width 1280
net_avg_samples 2
no_buffers yes
out_to_console no
out_to_stderr no
own_window yes
own_window_class Conky
own_window_type dock
stippled_borders 0
update_interval 1.0
uppercase no
use_spacer left
show_graph_scale no
show_graph_range no
short_units yes
max_user_text 2048
border_outer_margin 0
border_inner_margin 0
own_window_transparent true
extra_newline no

TEXT
${color grey}UP:$color $uptime${goto 140}${color grey}CPU:$color $cpu% ${cpubar 6,60}${goto 290}${color grey}PROC:$color $processes${goto 380}${top name 1}${top cpu 1}${goto 550}${color grey}RAM:$color $mem ${membar 6,60}${goto 720}${color grey}NET: dn:$color ${downspeed eth0}${goto 850}${color grey}HD: r:$color ${diskio_read sda}${goto 960}${color grey}FS: root $color${fs_used /}/${fs_size /} ${fs_bar 6,60 /}${goto 1175}${execi 1800 ~/.config/conky/weather.sh}
$nodename${goto 163}${hwmon 0 temp 1}°C${goto 290}${color grey}RUN:$color $running_processes${goto 380}${top name 2}${top cpu 2}${goto 550}${color grey}SWP:$color $swap ${swapbar 6,60}${goto 756}${color grey}up:$color ${upspeed eth0}${goto 880}${color grey}w:$color ${diskio_write sda}${goto 985}${color grey}home $color${fs_used /home}/${fs_size /home} ${fs_bar 6,60 /home}
$kernel${goto 380}${top name 3}${top cpu 3}${goto 873}${hddtemp /dev/sda}°C${goto 985}${color grey}winc $color${fs_used /mnt/win}/${fs_size /mnt/win} ${fs_bar 6,60 /mnt/win}


Запускалка программ GmRun (первый скрин), повешенная, о ужас, на комбинацию клавиш Win-R :)
Уведомлялка об обновлениях Арча Archup (первый скрин), ставится из AUR. С первого раза у меня не заработал из-за каких-то разногласий с dbus, пришлось проехаться напильником по /etc/cron.hourly/archup.sh :
1
2
3
4
5
6
arch_user=!put ur username here!

/usr/bin/pacman -Sy > /dev/null

su - $arch_user -c"XAUTHORITY=/home/$arch_user/.Xauthority DISPLAY=:0.0 /usr/bin/archup --uid $(id -u $arch_user) -m 5 -t 120 -c \"/usr/bin/pacman -Qu | sed '/kernel/d;/linux-api-headers/d'\""
# заодно я убрал уведомления об обновлении пакетов kernel и linux-api-headers - я их обновляю вручную, когда есть настроение поковыряться с системой :)



Файловый менеджер PcmanFM, отличная вещь от разработчиков LXDE.
Легковесный, с поддержкой вкладок эмулятор терминала Sakura. В отличие от lxterminal или, прости Г-ди, gnome-terminal, действительно легковесный.
Музыкальный плеер Qmmp. Раньше сидел на audacious, но тот ни в какую не хотел проигрывать потоковое радио. Qmmp с удовольствием проигрывает, и, кроме того, умеет много всяких других интересных штук. Помимо всего прочего, его разрабатывают русские ребята, приятно поддержать отечественного производителя :)
Простенький регулятор громкости, сидящий в трее и написанный на питоне - Volti (в арче есть в ауре).
Ключевую роль в съёмках сыграла снималка скринштов Shutter, притаившаяся в трее - мощнейший инструмент, позволяющий снимать произвольную область экрана/выбранного окна/меню/всего чего угодно и чуть ли не редактировать эти снимки :)


Засим всё, спасибо за внимание.


Тэги: ArchLinux archup OpenBox
+ 11 -
Похожие Поделиться

MagoBuono 20.06.2010 19:17 #
Запускалка программ GmRun (первый скрин), повешенная, о ужас, на комбинацию клавиш Win-R :)

Вполне удобное сочетание :)
Легковесный, с поддержкой вкладок эмулятор терминала Sakura. В отличие от lxterminal или, прости Г-ди, gnome-terminal, действительно легковесный.

А чем всех гном-терминал не устраивает? понаслушавшись тоже ударился в поиски замены. Юзал Сакуру.

Вот уже 3 месяца юзаю гном-терминал и собсно не заметил в сравнении с той же сакурой каких-либо тормозов или нагрузок на систему.
mutantcornholio 20.06.2010 19:34 #
Это всякие любители легковесности. Имхо, терминал должен быть удобным. Остальное - пофиг.
lockie 20.06.2010 19:37 #
> чем всех гном-терминал не устраивает
Ы. Я вот щас только три символа напишу. F10.
То есть вот сижу я, например, в mc, например, собрался из него выйти, а никак - по F10 меню этой кривулины вылазит. Да и помимо ф10, дофига в гнум-терминале таких мелких, но жутко раздражающих багов.
m0nhawk 20.06.2010 19:48 #
По-секрету — это убирается ;)
s2h 20.06.2010 20:19 #
в настройках профиля отключите F10
s2h 20.06.2010 20:22 #
на всякий случай вдруг заблудитесь:)
_____________003_TMMBxb.png
lockie 20.06.2010 20:41 #
А ведь правда, я и забыл. Но в любом случае, я уже привык к сакуре :)
mutantcornholio 20.06.2010 19:22 #
  • Версия ядра в коньках
  • Секунды в часах
  • Цвет панели не соответствует основной теме
  • Основная тема не соответствует обоине
  • Синие часы - вообще ужас
  • Декорации окон, имхо, отстой, но это на любителя.


У fbpanel часы ужасны. Советую тебе в conky их вставить.
Туда же дату с днём недели, вместо аптайма и версии ядра.

P.S. 912 x 730 - это ты пожал, или у твоего дисплея действительно такое разрешение? (Или это я неосиллятор, как в пикасе посмотреть изображение в исходном разрешении?)
mutantcornholio 20.06.2010 19:23 #
ах да, "^_^" в приглашении терминальчика - это пять xD
lockie 20.06.2010 19:35 #
Спасибо :) Как-то давно тут пробегала эта тема, вот до сих пор у меня стоит :)

Насчёт критики. Нет, разрешение у меня 1280х1024, это зараза пикаса жмёт. Чтобы увеличить - там сверху справа такая лупа с плюсиком. Сам долго тупил, лол.
Версия ядра в коньках чисто чтобы занять свободное место... ну и плюс я в последнее время с zen-kernel экспериментирую, так что пригодится, чтобы не потеряться.
Секунды в часах я всегда ставлю, без них как-то больно уж винду напоминает :)
Цвет панели не соответствует основной теме - а ведь точно. Да и вообще насчёт декораций, я ещё окончательно не определился, надо будет по box-look.org пошариться ещё.
Синие часы, пожалуй, действительно напрягают глаза. Вроде там цвет можно было поменять.
mutantcornholio 20.06.2010 19:41 #
Часы в fbpanel внешне убоги. Я не знаю, можно ли внешний вид поменять. Ну чем свободное место занять, я сказал.
без них как-то больно уж винду напоминает

А что тогда делает значок "мои документы" на рабочем столе?)
lockie 20.06.2010 19:47 #
АААААа я не виноват!!!!1 Это всё pcmanfm!!!1

А если серьёзно, я был бы очень благодарен тому, кто рассказал бы мне, как этот значок оттудова убрать.
mutantcornholio 20.06.2010 20:16 #
killall pcmanfm xD
mhspace 20.06.2010 20:34 #
pcmanfm --no-desktop

Ну и если при загрузке системы выполняется pcmanfm -d, то сменить на pcmanfm --no-desktop -d

должно помочь...
mhspace 20.06.2010 20:40 #
Кстати, если фон стола рисуется pcmanfm'ом, то --no-desktop может привести к нежелательным последствиям.
lockie 20.06.2010 20:51 #
А если pcmanfm рулит обоями?
Гугль как бы говорит нам, что эту иконку убрать нельзя :(
mutantcornholio 20.06.2010 20:53 #
о_О
Если pcmanfm рулит обоями, заюзай чёнить другое в автостарте. Я юзаю feh
feh --bg-tile /mnt/sda1/pictures/floral_bg_dark.png
у меня это tile, у тебя может быть center или scale
mhspace 20.06.2010 20:55 #
Да. ИМХО - рисовать обои - не дело файлового менеджера. Поэтому у меня это делает компиз. Может быть и openbox умеет?
mutantcornholio 20.06.2010 20:58 #
Сам, вроде, нет. Везде предлагают решение типа моего.
lockie 20.06.2010 21:08 #
П-нятненько, спс.
mutantcornholio 20.06.2010 20:54 #
Гугль как бы говорит нам, что эту иконку убрать нельзя :(

Все иконки можно убрать. Ты ведь их не юзаешь, всё равно на рабочем столе.
mutantcornholio 20.06.2010 19:36 #
Ага.. спалился, что не прочитал пост. 1280х1024. Ну вопрос остался, только в следущем ключе: ты пожал, или я ниосилил?
s2h 20.06.2010 21:01 #
там сверху-справа лупа, двигай курсором
mutantcornholio 20.06.2010 21:04 #
Уже сказали. Причём раньше, чем я отправил этот камент. Слишком редко обновлял тред.
m0nhawk 20.06.2010 19:49 #
А Mathematica лицензионная? ;)
lockie 20.06.2010 20:48 #
Немножко >_<
thebeetlebum 20.06.2010 23:35 #
Maxima, Sage чем не угодили?
CrankY 20.06.2010 20:04 #
Комрад, респект тебе и уважуха за этот замечательный пост!

/me пошел за напильником, хитро ухмыляясь на только что поставленный OpenBox ))
lockie 20.06.2010 20:46 #
Незачто :) Есличо, спрашивай вопросы.
thebeetlebum 20.06.2010 23:36 #
<зануда>вопросы задают, а не спрашивают:)зануда>
Midler 20.06.2010 20:16 #
Эммм...lxde как lxde = )
mutantcornholio 20.06.2010 20:19 #
не, я б не сказал. Скорее openbox+pcmanfm
Midler 21.06.2010 00:48 #
Ты не сказал бы, а я сказал бы.
mutantcornholio 20.06.2010 21:02 #
а "temperature 24 по цельсию" (Да, мне лень набирать знак градуса) - это на улице?
Если да, то, думается мне, есть резон прогноз погоды в коньки.
lockie 20.06.2010 21:07 #
Да, на улице. Добавил бы, но пока лениво :)
mutantcornholio 20.06.2010 21:13 #
Да конки надо раз и навсегда делать.
У меня за пару вечеров родилось это. Я доволен. У тебя сверху простора меньше, но всё равно.
s47 20.06.2010 21:54 #
конфиг выложи, пожалуйста
mutantcornholio 20.06.2010 23:11 #
В общем, тут четверо коньков.

верхние:

cornholio@host-10-204-60-69:~$ cat .conkyrc
# Use Xft?
use_xft yes
xftfont cure:size=6

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
maximum_width 180 0
minimum_size 70 0

# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 0

# border margins
#border_margin 6

# border width
#border_width 1

# Default colors and also border colors
default_color 303030
#default_shade_color white
#default_outline_color black
#own_window_colour 262626

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment top_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 10
gap_y 14

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer left

TEXT
${color c7a46d}${font Radio Space:size=32}$alignc${time %H:%M}${font}

${color c7a46d}${font Droid:size=11}$alignc${time %d.%m.%y}
${color c7a46d}${font Droid:size=11}$alignc${time %A}

${font Monospace:size=10}${color #947a51}${execp cal | tail -n7 | head -n1}${color #c7a46d}
${execp cal | tail -n6 | sed "s/`date +%e` \|`date +%e`$/\$\{color #6da4f2\}&\$\{color #c7a46d\}/"}
${execi 3600 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=HT}
Ветер: ${execi 3600 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WD}, ${execi 3600 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WS}
Восход: ${execi 3600 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=SR}
Закат: ${execi 3600 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=SS}

Значки погоды:

cornholio@host-10-204-60-69:~$ cat .conkyrcwi
# Use Xft
use_xft yes
xftfont cure:size=6

# Update interval in seconds
update_interval 2

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
maximum_width 60 0
minimum_size 20 0

# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
#stippled_borders yes

# border margins
#border_margin 6

# border width
#border_width 1

# Default colors and also border colors
default_color 303030
#default_shade_color white
#default_outline_color black
#own_window_colour 262626

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment top_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 180
gap_y 250

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes


TEXT
${color a2a2a2}${font ConkyWeather:size=35}${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WF}${font}


${color a2a2a2}${font ConkyWeather:size=30}${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WF}

${color a2a2a2}${font ConkyWeather:size=30}${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WF --startday=1}

${color a2a2a2}${font ConkyWeather:size=30}${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 --datatype=WF --startday=2}

Текст погоды:

cornholio@host-10-204-60-69:~$ cat .conkyrcwt
# Use Xft?
use_xft yes
xftfont cure:size=6

# Update interval in seconds
update_interval 2

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
maximum_width 180 0
minimum_size 20 0

# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
#stippled_borders yes

# border margins
#border_margin 6

# border width
#border_width 1

# Default colors and also border colors
default_color 303030
#default_shade_color white
#default_outline_color black
#own_window_colour 262626

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment top_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 5
gap_y 310

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

TEXT

${font Radio Space:size=10}${color #f0c584}Сегодня: ${font Radio Space:size=8}${color c7a46d}
Темп. Осадки ${alignr}Ветер
Ночь:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -n -s 0 --datatype=LT} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=USNY0996 -s 0 --datatype=PC} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 0 --datatype=WD}
День:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 0 --datatype=HT} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 0 --datatype=WS}

${font Radio Space:size=10}${color #f0c584}Завтра:${font Radio Space:size=8}${color c7a46d}
Темп. Осадки ${alignr}Ветер
Ночь:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -n -s 1 --datatype=LT} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=USNY0996 -s 1 --datatype=PC} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 1 --datatype=WD}
День:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 1 --datatype=HT} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 1 --datatype=WS}

${font Radio Space:size=10}${color #f0c584}Послезавтра:${font Radio Space:size=8}${color c7a46d}
Темп. Осадки ${alignr}Ветер
Ночь:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -n -s 2 --datatype=LT} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=USNY0996 -s 2 --datatype=PC} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 2 --datatype=WD}
День:${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 2 --datatype=HT} ${alignr} ${execi 1800 /usr/share/conkyforecast/conkyForecast.py --location=RSXX0077 -s 2 --datatype=WS}

Нижние коньки:

cornholio@host-10-204-60-69:~$ cat .conkyrcdown
# Use Xft?
use_xft yes
xftfont cure:size=6
override_utf8_locale yes

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
maximum_width 220 0
minimum_size 200 0

# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
#stippled_borders yes

# border margins
#border_margin 6

# border width
#border_width 1

# Default colors and also border colors
default_color 303030
#default_shade_color white
#default_outline_color black
#own_window_colour 262626

# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
#alignment bottom_left
alignment top_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 5
gap_y 524

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

TEXT
${font Radio Space:size=9}${color #c7a46d}CPU: $cpu% ${color #c7a46d}${cpubar 6}
${color #c7a46d}RAM: $memperc% ${color #c7a46d}${membar 6}
${color #c7a46d}Swap: $swapperc% ${color #c7a46d}${swapbar 6}

${color #c7a46d}NAME ${alignr}CPU% MEM%
${color #f0c584}${top name 1}${alignr}${top cpu 1}${top mem 1}
${color #cca870}${top name 2}${alignr}${top cpu 2}${top mem 2}
${color #a88a5d}${top name 3}${alignr}${top cpu 3}${top mem 3}
${color #8f754f}${top name 4}${alignr}${top cpu 4}${top mem 4}
${font Radio Space:size=9}${color #c7a46d}
eth1 down:${alignr}${downspeedf eth1}kbps
eth1 up:${alignr}${upspeedf eth1}kbps


Нужен conky-forecast.

P.S. Внизу - самописные скриптики. Сейчас там слегка всё иначе. MPD сменил на deadbeef, а так же убрал расписание занятий - семестр закончился.
Надеюсь, я не напортачил с тэгами
todeus 21.06.2010 04:39 #
А todo и список пар сам забиваешь в файл или оно подхватывается из календаря как-то?
mutantcornholio 21.06.2010 09:06 #
todo - парсю gtodo'вский xml
так:


#!/usr/bin/python
# -*- coding: utf8 -*-
def _print(argStr):
print argStr.encode('utf-8')

#Скрипт парсит /home/cornholio/.gtodo/todos и выводит, в порядке убывания enddate,
#не более шести заданий в формате, подобному этому: "14.03 Сходить на выборы"
import lxml.etree
tree = lxml.etree.parse ("/home/cornholio/.gtodo/todos")
#Сначала найдём все item'ы
allitems = tree.findall('//item')

def getdate(item):
"""Функия getenddate ищет в item'е attribute, и возвращяет атрибут enddate оного"""
attribute = item.find('attribute')
return attribute.attrib<'enddate'>

#Отсортируем элементы по enddate
allitems.sort(key=getdate)

from datetime import date
import sys
#Вывод. Пробегаемся по всем элементам в allitems.
j=0
for i in allitems:
attribute = i.find('attribute')
summary = i.find('summary')
#Проверяем каждый на не done
if not int(attribute.attrib<'done'>):
#Если выполняется, преобразуем абсолютную дату к объекту типа date
enddate = date.fromordinal(int(getdate(i)))
#Выводим дату в формате dd.mm, текст задания и переходим на новую строку
sys.stdout.write("%02d.%02d " % (enddate.day, enddate.month))
_print( summary.text )
j+=1
if j > 5:
break



P.S. За говнокод ругайте.
P.P.S. Да, я не проверяю, существует ли xml и корректные ли данные в нём. Мне было лень. Каюсь.
mutantcornholio 21.06.2010 09:16 #
А список пар показыается ужасным питоновским скриптом, во внутрь которого я воткнул всё расписание. За это я себе хочу оторвать руки.
Ну если кому надо, ловите скрипт. Ущерб за испорченные глаза не возвращяю.

Последняя модификация скрипта выдавала такое:

#!/usr/bin/python
# -*- coding: utf8 -*-
def _print(argStr):
print unicode(argStr, 'utf8')
import datetime
#Скрипт выдаёт расписание "на завтра", хотя и не только на завтра.
#Сегодняшнюю дату вписываем в today
today = datetime.datetime.today()
#Вычисляем день недели ( 0-6 ) и записываем результат в переменную dow ( 0 - воскресенье )
dow = int(today.strftime("%w"))
#Вычисляем номер недели. Если сегодня воскресенье или вторая половина субботы, прибавляем единицу
#( ибо в эти дни мне нужно расписание на понедельник следущей недели). Записываем номер недели в week
#Для начала вычислим разницу между сегодня и 8м февраля 2010 года
session = (datetime.datetime(2010, 6, 14, 0, 0, 0 )-today).days
diff = today - datetime.datetime(2010, 2, 8, 0, 0, 0 )
#Затем разницу в днях целочисленно делим на 7 и получаем количество недель разницы
week = diff.days/7
#Если сегодня вторая половина субботы или же воскресенье, добавляем единицу. Также выставляем день недели в понедельник
if (( int(today.strftime("%H")) >= 12 and dow==6 ) or dow==0 ) :
week+=1
dow=1
#Для второй половины субботы заголовком будет "В понедельник в универе"
print "В понедельник в универе:"
#Если сейчас больше двенадцати часов, то заголовок будет "Завтра в универе:"
#Также следует добавить к dow единиу ( ибо "завтра" )
elif int(today.strftime("%H")) >= 12:
print "Завтра в универе:"
dow+=1
#Если сейчас меньше двенадцати часов, то заголовок будет "Сегодня в универе:"
elif int(today.strftime("%H")) < 12:
print "Сегодня в универе:"
#Выдаём расписание для каждого дня недели в соответствии с номером
#Для чётных недель условием будет делимость на два
#Для нечётных - наоборот
#Для каждой четвёртой недели ( c номерами 4, 8, 12, 16 ) - делимость на четыре
#Для недель с номерами 5, 9, 13, 17 - делимость на четыре ( n-1 )

#Понедельник:
if dow == 1:
if week%2 == 0:
print "10:00 В Академ"
else:
print "1. - "
print "2. Основы оптики"
print "3. Информатика"
print "4. Информатика"
elif dow == 2:
print "1. - "
if week%2 == 0:
print "2. Метрология"
else:
print "2. Матметоды, конс."
print "3. Матметоды"
print "4. Матметоды"
elif dow == 3:
if week%2 == 0:
print "1. -"
else:
print "1. Электротехника."
print "2. Колебания и волны"
print "3. Колебания и волны"
if week%2 == 1:
print "4. Оптика"
else:
print "4. Физра"
elif dow == 4:
print "1. Русский"
print "2. БЖД"
elif dow == 5:
print "1. Электротехника"
print "2. Комп. обработка изображений"
if week%2 == 0:
print "3. Электротехника"
if (week-1)%4 == 0:
print "3. Метрология, лаб."
print "4. Метрология, лаб."
elif dow == 6:
if week%4 == 0:
print "1. БЖД, лаб"
print "2. БЖД, лаб"
print "3. Физра"

#Также выведем номер недели
print "Номер учебной недели: "+str(week)
#Ещё и количество дней до сессии
print "Дней до сессии: " + str(session)

mutantcornholio 21.06.2010 12:24 #
То бишь, не возмещаю.
thebeetlebum 20.06.2010 23:38 #
Вот, кстати говоря, на скриншоте справа тоже нету знака градуса, а у Цельсия должен быть. Извините, как физику, режет глаз)
mutantcornholio 20.06.2010 23:46 #
Физик? Откуда?
Cucumber 20.06.2010 21:23 #
В целом набор программ понравился. Сам все собираюсь перейти на такой же, да лень одолела :)
Но на мой вкус волпапер унылый...
Username 20.06.2010 21:48 #
Очередной арч с опенбоксом.
mutantcornholio 20.06.2010 21:48 #
Я знал, что кто-нибудь не выдержит)
lockie 20.06.2010 21:55 #
rock
Username 20.06.2010 22:08 #
http://www.linux.org.ru/gallery/screenshots/4571348
ты не в теме
Sylar 20.06.2010 22:04 #
За сакуру спасибо.
Aesdana 20.06.2010 22:14 #
Всё такое разное...
philosoft 20.06.2010 23:31 #
Буду лаконичен, ибо на недостатки указали выше. Рил — няшечка. Скрин — УГ.
mutantcornholio 20.06.2010 23:49 #
Ну у ТС, имхо, не всё потеряно.
Скажем так: у этого десктопа огромный потенциал.
al1e 21.06.2010 09:02 #
За обоину плюс!!! да и за все остальное....