<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Чудо{вищные} заметки &#187; kde</title>
	<atom:link href="http://miracle.rpz.name/tag/kde/feed/" rel="self" type="application/rss+xml" />
	<link>http://miracle.rpz.name</link>
	<description>Sorry for my terrible english. My native language is PHP.</description>
	<lastBuildDate>Thu, 12 Jan 2012 20:42:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
		<item>
		<title>Google tasks в трее.</title>
		<link>http://miracle.rpz.name/2012/01/13/google-tasks-in-systra/</link>
		<comments>http://miracle.rpz.name/2012/01/13/google-tasks-in-systra/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 20:42:08 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[advertise]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=631</guid>
		<description><![CDATA[Давно искал удобный способ управлять повседневными задачками &#8211; искал всевозможные программки, которые бы были всегда по рукой (перед глазами). Перепробовал всё от банального текстового файла на рабочем столе, до навороченных приложений с категориями, тегами, уведомлениями, шахматистками и какао&#8230; В своё время мне очень нравилась deskDo от PixelApes, но в какой-то момент момент основной сайт проекта [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="tn" href="http://miracle.rpz.name/shared/2012/google-tasks-in-systray.png"><img src="http://miracle.rpz.name/shared/2012/tn_google-tasks-in-systray.png" alt="Google Tasks in systray" align="right"></a>Давно искал удобный способ управлять повседневными задачками &#8211; искал всевозможные программки, которые бы были всегда по рукой (перед глазами). Перепробовал всё от банального текстового файла на рабочем столе, до навороченных приложений с категориями, тегами, уведомлениями, шахматистками и какао&#8230; В своё время мне очень нравилась <a href="http://deskdo.yandex-nano.ru/ru" title="копия проекта теперь на Яндексе">deskDo от PixelApes</a>, но в какой-то момент момент основной сайт проекта стал недоступен и я про него позабыл, пользовался различными air-приложениями, плазмоидами типа &#8220;remember the milk&#8221;, пытался использовать <a href="http://basket.kde.org/">basket note pads</a> и даже приватную задачу в <a href="http://redmine.org">redmine</a> с уставновленным плагином <a href="http://www.redmine.org/plugins/issue_checklist">Issue checklist</a>&#8230;</p>
<p>
Золотая середина между простотой и функциональностью был где-то в районе <a href="https://mail.google.com/tasks/canvas">google tasks</a>, но пользоваться им в окне (табе) браузера не очень удобно &#8211; он постоянно терялся среди десятков других и как следствие забывался&#8230;</p>
<p>
Но пару месяцев назад я случайно наткнулся на приложение, которое решило все проблемы, оно называется <a href="http://qt-apps.org/content/show.php?content=145321">treb</a> (Treb=tray+web). Приложение позволяет &#8220;спрятать в трей&#8221; небольшой браузер (он притворяется мобильным для того чтобы отобразить оптимизированную для маленьких экранов версию веб-сайта), в котором можно открыть любую страницу.</p>
<p>
Теперь заметки в &#8220;шаговой&#8221; доступности, всегда под рукой &#8211; одним кликом открывается удобный список, в который можно быстро что-то записать или отметить &#8220;готовность&#8221;, а сетевая природа гуглозадач позволяет иметь единый список на разных ПК.</p>
<p>
А чем пользуетесь вы для ведения списка &#8220;мелких задачек&#8221; и &#8220;напоминаний&#8221; ? </p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2012/01/13/google-tasks-in-systra/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Amarok. Следующая остановка &#8211; eof?</title>
		<link>http://miracle.rpz.name/2011/04/09/why-amarok-stop-playback-after-each-file/</link>
		<comments>http://miracle.rpz.name/2011/04/09/why-amarok-stop-playback-after-each-file/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 14:01:52 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[amarok]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=424</guid>
		<description><![CDATA[В последнее время практически не слушаю музыку из локальной коллекции по причине описанной ранее. Но иногда запускаю и Amarok. И вот этот самый amarok начал чудить &#8211; останавливает проигрывание после каждого файла. Перерыл все настройки на предмет управление playback-ом, по многочисленным советам с разных убунтофорумов попробовал удалять все конфиги, перерыл багтрекер &#8211; все найденные баги [...]]]></description>
			<content:encoded><![CDATA[<p>В последнее время практически не слушаю музыку из локальной коллекции по причине <a href="http://miracle.rpz.name/2010/12/04/last-fm-free-music-player/">описанной ранее</a>. Но иногда запускаю и <a href="http://amarok.kde.org">Amarok</a>. И вот этот самый amarok начал чудить &#8211; останавливает проигрывание после каждого файла. Перерыл все настройки на предмет управление playback-ом, по многочисленным советам с разных убунтофорумов попробовал удалять все конфиги, перерыл багтрекер &#8211; все найденные баги были пофиксены несколько версий назад, всё безрезультатно, надежды нет и конец близок. Хоть бери да используй другой плеер&#8230;</p>
<p>Решение оказалось неожиданным &#8211; потребовалось сменить backend у phonon (кто бы мог подумать?!)  с mplayer на xine, чтобы плеер перестал проказничать. </p>
<p>&#8220;Такой день.&#8221; (ц)</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2011/04/09/why-amarok-stop-playback-after-each-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communication problem with  &#8220;kded&#8221;</title>
		<link>http://miracle.rpz.name/2010/12/05/kde-probably-crashed/</link>
		<comments>http://miracle.rpz.name/2010/12/05/kde-probably-crashed/#comments</comments>
		<pubDate>Sun, 05 Dec 2010 12:21:13 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=409</guid>
		<description><![CDATA[Экспериментируя с Plasma сильно-сильно уронил KDE. Роковое стечение обстоятельств &#8211; как раз перед этим обновил систему (в т.ч. и kde) и не успел рестартнуть сессию. Итого: утомительная многочасовая битва с мельницами, почти полностью утерянные настройки и эта чудо{вищная} заметка. Симптомы были следующие: kde не стартует под пользователем, но прекрасно запускаются под root-ом. startkde: Starting up... [...]]]></description>
			<content:encoded><![CDATA[<p>Экспериментируя с Plasma сильно-сильно уронил KDE. Роковое стечение обстоятельств &#8211; как раз перед этим обновил систему (в т.ч. и kde) и не успел рестартнуть сессию. Итого: утомительная многочасовая битва с мельницами, почти полностью утерянные настройки и эта чудо{вищная} заметка.</p>
<p>Симптомы были следующие: kde не стартует под пользователем, но прекрасно запускаются под root-ом.</p>
<pre class="c">
startkde: Starting up...
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
kded(4946): Communication problem with  "kded" , it probably crashed.
Error message was:  "org.freedesktop.DBus.Error.ServiceUnknown" : " "The name org.kde.kded was not provided by any .service files" " 

<unknown program name>(4944)/ KStartupInfo::createNewStartupId: creating:  "${HOSTNAME};1283501102;250139;4944_TIME0" : "unnamed app"
startkde: Shutting down...
klauncher: Exiting on signal 1
startkde: Running shutdown scripts...
startkde: Done.
</pre>
<p>Незамедлительно был сделан вывод: что-то &#8220;пришло&#8221; в обновлённых пакетах, как назло недоступен slackware.com (нет, ну вы подумайте &#8211; всё вот так вот разом, а?). Был перелопачен /etc на предмет разного рода изменений в правах доступа. Затем в /dev/null один за одним полетели файлы из $HOME, /tmp и т.п. Удалил весь $HOME, создал девственно чистый &#8211;  ничего. Начинала свербить мысль &#8211; а может остаться под root-ом&#8230;. ?!</p>
<p>Решение как всегда оказалось простым и ожиданным. Позабыл удалить <strong>/var/tmp/kdecache-$USER</strong>. Уже не первый раз сталкиваюсь и не последний раз забываю начать именно с этого.</p>
<p><strong>P.S.</strong><br />
Вот на кой ляд половина хлама падает в /tmp, а другая в /var/tmp ?</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2010/12/05/kde-probably-crashed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Добавляем действия в контектное меню KDE</title>
		<link>http://miracle.rpz.name/2010/12/01/kde-context-menu/</link>
		<comments>http://miracle.rpz.name/2010/12/01/kde-context-menu/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 21:42:21 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=387</guid>
		<description><![CDATA[Многие операции вроде &#8220;замаунтить флешку&#8221;, &#8220;скопировать файл&#8221; и т.п. ежедневно-рутинные действия я не задумываясь совершаю в консоли (благодаря yakuake она всегда под рукой). Но перед людьми бывает &#8220;неудобно&#8221; &#8211; они видя все эти &#8220;магические&#8221; манипуляции ещё больше укрепляются в мысли, что &#8220;эти ваши линуксы&#8221; не для &#8220;наших широт&#8221;. Для того чтобы немного размазать негативные впечатления [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="tn" href="http://miracle.rpz.name/shared/2010/kde-context-menu.png" title="Контекстное меню KDE"><img align="right" src="http://miracle.rpz.name/shared/2010/kde-context-menu-tn.png" alt="Контекстное меню KDE"></a>Многие операции вроде &#8220;замаунтить флешку&#8221;, &#8220;скопировать файл&#8221; и т.п. ежедневно-рутинные действия я не задумываясь совершаю в консоли (благодаря <a href="http://extragear.kde.org/apps/yakuake/">yakuake</a> она всегда под рукой). Но перед людьми бывает &#8220;неудобно&#8221; &#8211; они видя все эти &#8220;магические&#8221; манипуляции ещё больше укрепляются в мысли, что &#8220;эти ваши линуксы&#8221; не для &#8220;наших широт&#8221;.</p>
<p>Для того чтобы немного размазать негативные впечатления добавил некоторые действия в контекстное меню &#8220;проводников&#8221;.</p>
<p>Первое что надо сделать: понять ГДЕ необходимо приложить  руки.</p>
<pre class="c">$ kde4-config --path services
/home/miracle/.kde/share/kde4/services/:/usr/share/kde4/services/
</pre>
<p>В одной из этих директорий создаём файл <strong>my-super-actions.desktop </strong> подобного содержания:</p>
<pre class="c">
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=video/*;
Actions=CompressMovie4Nokia;CompressMovie4HTC;GetSubtitles;
Encoding=UTF-8

[Desktop Action CompressMovie4Nokia]
Name=Compress for Nokia
Icon=phone
Exec=/bin/sh -c 'cd "`dirname "%f"`" \
&#038;&#038; ffmpeg -y -i "`basename "%f"`" -ac 1 -ar 22050 -vcodec mpeg4 -s 176x144 -r 24 \
-b 118k -ab 32k -aspect 11:9 "nokia-`basename "%f" .avi`.mp4" \
&#038;&#038; kdialog --title "Compress Movie" --passivepopup "Movie `basename "%f"` compressed"'

[Desktop Action CompressMovie4HTC]
Name=Compress for HTC
Icon=pda
Exec=/bin/sh -c 'cd "`dirname "%f"`" \
&#038;&#038; ffmpeg -y -i "`basename "%f"`" -s 320x240 -r 22.5 -ac 2 "htc-`basename "%f" .avi`.avi" \
&#038;&#038; kdialog --title "Compress Movie" --passivepopup "Movie `basename "%f"` compressed"'

[Desktop Action GetSubtitles]
Name=Download subtitles
Icon=draw-text
Exec=/bin/sh -c 'cd "`dirname "%f"`" \
&#038;&#038; subtitles `basename "%f"` -l en \
&#038;&#038; kdialog --title "Subtitles" --passivepopup "Subtitles for movie `basename "%f"` downloaded"'
</pre>
<p>Затем выполняем:</p>
<pre class="c">
$ kbuildsycoca4
</pre>
<p>И наблюдаем свежедобавленные пункты в меню &#8220;Actions&#8221;.</p>
<p>В коде всё наглядно, отдельного упоминания наверное стоит только тот факт, что <em>/bin/sh</em> нужен лишь для того, чтобы запустить более одной команды, как в моём случае &#8211; если команда одна, то запуск шелла будет лишним.</p>
<p>Ссылка по теме: <a href="http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html">Desktop Entry Specification</a></p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2010/12/01/kde-context-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kdebindings и ruby1.9</title>
		<link>http://miracle.rpz.name/2009/12/10/kdebindings-v-ruby1-9/</link>
		<comments>http://miracle.rpz.name/2009/12/10/kdebindings-v-ruby1-9/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 16:40:15 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[penguin-sex]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=319</guid>
		<description><![CDATA[Злосчастное обновление ruby до 1.9 сломало не только watir, но и мои плазмоиды. Полдня провёл в попытках разобраться с ситуацией &#8211; при загрузке rubygems вываливается трэйс, смысл которого в: undefined method `synchronize&#8217; for #&#60;Mutex:0xab1cd2&#62; . Нашёл несколько сообщений с описываемой проблемой &#171;встроенного ruby&#187; , но решения по всей видимости нету. Поэтому пришлось установить &#171;старый&#187; ruby [...]]]></description>
			<content:encoded><![CDATA[<p>Злосчастное обновление ruby до 1.9 сломало не только <a href="http://miracle.rpz.name/2009/12/10/firewatir-vs-ruby1-9/">watir</a>, но и мои <a href="http://miracle.rpz.name/2009/09/10/ruby-plasmoids/">плазмоиды</a>. </p>
<p>Полдня провёл в попытках разобраться с ситуацией &#8211; при загрузке rubygems вываливается трэйс, смысл которого в:<br />
 <strong>undefined method `synchronize&#8217; for #&lt;Mutex:0xab1cd2&gt; </strong>.</p>
<p>Нашёл несколько сообщений с <a href="http://groups.google.ru/group/comp.lang.ruby/browse_thread/thread/302e52dda3f850ed">описываемой проблемой</a> &laquo;встроенного ruby&raquo; , но решения по всей видимости нету.</p>
<p>Поэтому пришлось установить &laquo;старый&raquo; ruby и собрать kdebindings с ним:</p>
<blockquote><p>
tar -zxf kdebindings-*.tgz<br />
cd kdebindings-*<br />
mkdir build<br />
cd build<br />
cmake -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_KROSSRUBY=off -DENABLE_PYKDE4=off -DRUBY_INCLUDE_PATH=/opt/ruby4kde/lib/ruby/1.8/i686-linux/  -DRUBY_LIBRARY=/opt/ruby4kde/lib/libruby.so -DRUBY_EXECUTABLE=/opt/ruby4kde/bin/ruby ..<br />
make &#038;&#038; make install
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2009/12/10/kdebindings-v-ruby1-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рубиновые плазмоиды</title>
		<link>http://miracle.rpz.name/2009/09/10/ruby-plasmoids/</link>
		<comments>http://miracle.rpz.name/2009/09/10/ruby-plasmoids/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 20:42:02 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=248</guid>
		<description><![CDATA[Как уже рассказывал, совершил я страшный грех &#8211; перестал пользоваться виндой. В качестве рабочего стола теперь у меня KDE4. Красоты неописуемой, удобством не обделённый, загляденье, да и только. И всё вроде хорошо, но есть часть рутины, которая довольно привычна была на виндовом экране, но на linux её терпеть прямо нет никакого желания. Одним из примеров [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://miracle.rpz.name/shared/2009/rcontrol-qt.png" alt="qt-интерфейс" align="right" />Как уже рассказывал, совершил я страшный грех &#8211; перестал пользоваться виндой. В качестве рабочего стола теперь у меня KDE4. Красоты неописуемой, удобством не обделённый, загляденье, да и только. И всё вроде хорошо, но есть часть рутины, которая довольно привычна была на виндовом экране, но на linux её терпеть прямо нет никакого желания. Одним из примеров такой рутины был запуск rdp и radmin клиентов, если с первым под виндой ещё более-менее можно сладить (он хотя бы хранит учётные записи и настройки), то второй даже пароль сохранять не умеет.<br />
Обычно всякие вспомогательные программки делаются на php, но не в этот раз &#8211; уж коль скоро захотелось запускать что-то с окошками, захотелось и свою облечь в какой-нибудь приличный вид. <a href="http://gtk.php.net/">php-gtk</a> был отвергнут сразу (ну не нравится мне gtk-ный интерфейс, не нравится и всё тут). Решил сделать на Qt4 &#8211; благо информации в интернете по данной теме <a href="http://symmetrica.net/qt4/">полно</a>.<span id="more-248"></span><br />
А по скольку рабочего биндинга php к qt обнаружить сходу не удалось, то делать стал на ruby. Собственно делов было на несколько часов, с учётом того что ранее сталкиваться со всем этим не приходилось считаю что результат себя нашёл очень быстро. Форму накидал в qt-designer, полчаса гугления на предмет нужных библиотек для ruby и собственно сборки биндинга ruby-qt и вот уже виден первый результат. Полдня радости и счастья сменяются унынием &#8211; хороша программка, да вот мешается под руками. Ещё чуть-чуть гугления и вот она уже спрятана в трей. Ещё немного и она после восстановления из трея занимает прежнее положение. И вот вроде всё хорошо, только вот в таскбаре мешается. Искал-искал, но как его оттуда убрать не нашёл. Нет мне покоя.</p>
<p>И тут мой взгляд упал на <a href="http://ru.wikipedia.org/wiki/Plasma">плазмоиды</a>, разбросанные по рабочему столу.<br />
<em>К слову сказать о рабочем столе &#8211; работая на винде я всегда отключал показ ярлыков на рабочем столе &#8211; доступ к ним неудобный, а порядок поддерживать сложно. Но вот с появлением kde4 я своё мнение о рабочем столе сильно поменял &#8211; теперь мне совершенно очевидно, что рабочий стол это тоже &#8220;инструмент&#8221;, а не просто самое верхнее окно&#8230;</em></p>
<p><a rel="tn" href="http://miracle.rpz.name/shared/2009/workspace-plasma.png"><img src="http://miracle.rpz.name/shared/2009/rcontrol-plasma.png" alt="plasmoid" align="right" /></a>Так вот, плазмоиды&#8230; это такие махонькие приложения, разбросанные по пространству рабочего стола (плазмы). Какой-то показывает список файлов в директории, какой-то лог, какой-то последние rss-записи. И все они работают, и нет их в таскбаре, нет их в трее, и всегда они под рукой&#8230;<br />
И захотелось мне сделать такой вот плазмоид самому. И захотелось сделать его как ни странно на ruby.</p>
<p>Я в принципе ожидал, что всё более чем просто и сконвертировать qt-ный интерфейс в plasmoid будет проще простого, но всё оказалось несколько сложнее и запутанней. Первое с чем пришлось столкнуться &#8211; все примеры, найденные в этих ваших интернетах безнадёжно устарели. На запуск &#8220;hello world&#8221; ушло несколько дней. Но формула счастья была в итоге найдена. Готовый к употреблению plasmoid это zip-архив в корне которого находится desktop-файл и директория contents.</p>
<p>Первое что надо сделать, когда создаётся plasmoid &#8211; файл metadata.desktop с описанием вашей будущей программы.</p>
<pre class="php">[Desktop Entry]
Name=Mega Plasmoid
Comment=Super-puper tool
Type=Service
ServiceTypes=Plasma/Applet
X-KDE-PluginInfo-Author=MiRacLe
X-KDE-PluginInfo-Email=miracle@rpz.name
X-KDE-PluginInfo-Name=megatool
X-KDE-PluginInfo-Version=0.1
X-KDE-PluginInfo-Website=http://miracle.rpz.name/
X-KDE-PluginInfo-Category=Examples
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true
X-Plasma-API=ruby-script
X-Plasma-MainScript=code/main.rb</pre>
<p>Две последние строки &#8211; то, чего в мануалах не сыщешь, то ради чего был перекопаны мегабайты бесполезных копипастов по всей сети, то ради чего пишется эта чудо{вищная} заметка.<br />
Далее рядом с этим файлом создаём директорию contents, в которой и будет всё содержимое будущей программы.</p>
<p>Сборка и просмотр полученного результата проходит быстрее, если сделать подобный скриптик:</p>
<pre class="php">#!/bin/sh
plasmapkg -r megaplasmoid #удаляю уже установленный плазмоид из системы
rm megaplasmoid.plasmoid # и туда же его исходник
cd megaplasmoid #в директорию с исходным кодом
zip -r ../megaplasmoid.plasmoid * # пакую новый плазмоид
plasmapkg -i ../megaplasmoid # устанавливаю его
plasmoidviewer megaplasmoid # и тут же хочу на него, красавца, посмотреть</pre>
<p>Всё приготовления закончены и можно приступить непосредственно к коду. Его следует поместить туда, куда описали в metadata.desktop &#8211; в файл main.rb в директории code. В простейшем случае он будет выглядеть примерно так:</p>
<pre class="ruby">require 'plasma_applet'
module  Megaplasmoid
  class Main &lt; PlasmaScripting::Applet
    def initialize(parent, args = nil)
      super
    end
    def init
      @mainlayout = Qt::GraphicsLinearLayout.new Qt::Vertical, self
      layout = @mainlayout
      self.layout = layout
    end
  end
end</pre>
<p>После того,  как это всё-таки запустилось, эйфория от полученного результата прошла, настала пора собственно перенести код, написанный под qt. Как оказалось &#8220;перенести&#8221; волшебным нажатием чего-нибудь оказалось невозможным, и визуальную часть пришлось делать заново, вооружившись <a href="http://api.kde.org/4.x-api/kdelibs-apidocs/plasma/html/annotated.html">api</a> и скудными (и устаревшими) <a href="http://www.kdedevelopers.org/node/3560">примерами</a>. Был несколько пересмотрен интерфейс, и остались в нём только два combobox-а (где делать и что делать) и собственно та самая кнопка, о которой так много говорили большевики.</p>
<p>Конечно же запуском radmin и rdesktop дело не ограничилось, штука постепенно обрастает всяческими фичами &#8211; ибо нет предела совершенству. Помимо запуска всяческих утилит к делу уже пришит <a href="http://wiki.openqa.org/display/WTR/FireWatir">watir</a>, <a href="https://trac.luon.net/ruby-dbus/">d-bus</a> и ещё много всего интересного, но об этом в следующих сериях.</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2009/09/10/ruby-plasmoids/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: miracle.rpz.name @ 2012-02-06 16:48:05 by W3 Total Cache -->
