<?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>BulTux &#187; конфигуриране</title>
	<atom:link href="http://www.bultux.org/tag/%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b8%d1%80%d0%b0%d0%bd%d0%b5/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bultux.org</link>
	<description>Български блог посветен на свободния софтуер и новото от Linux света</description>
	<lastBuildDate>Sat, 04 Sep 2010 08:13:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Инсталация и конфигуриране на irssi</title>
		<link>http://www.bultux.org/applications/instalaciq-i-konfigurirane-na-irssi</link>
		<comments>http://www.bultux.org/applications/instalaciq-i-konfigurirane-na-irssi#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:54:47 +0000</pubDate>
		<dc:creator>Владимир Колев</dc:creator>
				<category><![CDATA[Приложения]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[irssi]]></category>
		<category><![CDATA[инсталиране]]></category>
		<category><![CDATA[конфигуриране]]></category>
		<category><![CDATA[чат]]></category>

		<guid isPermaLink="false">http://bultux.sikomi.com/?p=12</guid>
		<description><![CDATA[<img src="http://bultux.org/wp-content/plugins/category-icons/cats/apps.png" width="22" height="22" alt="" title="Приложения" /><br/>Какво е irssi irssi е конзолен IRC клиент за UNIX базирани операционни системи, освен това поддържа и SILC и ICB протоколи чрез плъгини. Някои от основните функции на клиента: Автоматично логване Форматиране и теми Разширяване чрез плъгини Настройваеми клавишни комбинации Perl интерфейс за скриптове [TAB] довършване на команди и други Инсталиране Ако използвате дебиан базирана [...]]]></description>
			<content:encoded><![CDATA[<img src="http://bultux.org/wp-content/plugins/category-icons/cats/apps.png" width="22" height="22" alt="" title="Приложения" /><br/><h3 style="text-align: justify;">Какво е irssi</h3>
<div style="text-align: justify;">
<p><strong>irssi</strong> е конзолен <acronym title="Internet Relay Chat">IRC</acronym> клиент за UNIX базирани операционни системи, освен това поддържа и SILC и ICB протоколи чрез плъгини.</p>
<p>Някои от основните функции на клиента:</p>
<ul>
<li>
<div>Автоматично логване</div>
</li>
<li>
<div>Форматиране и теми</div>
</li>
<li>
<div>Разширяване чрез плъгини</div>
</li>
<li>
<div>Настройваеми клавишни комбинации</div>
</li>
<li>
<div><acronym title="Practical Extraction and Report Language">Perl</acronym> интерфейс за скриптове</div>
</li>
<li>
<div>[TAB] довършване на команди</div>
</li>
<li>
<div>и други</div>
</li>
</ul>
<p><span id="more-12"></span></p>
<h3>Инсталиране</h3>
<div>
<p>Ако използвате дебиан базирана дистрибуция е много вероятно да намерите irssi в хранилищата с пакети и инсталацията би била доста бърза и лесна:</p>
<pre lang="bash">sudo apt-get install irssi</pre>
<p>в случай обаче, че нямате приложението в хранилищата, можете да си го добавите като отворите sources.list и прибавите в края следното:</p>
<pre class="brush: bash;"># Sources for the irssi IRC client
deb http://www.davidpashley.com/debian/irssi/ ./</pre>
<p>За други дистрибуции можете да погледнете в секцията download на официалната страница на <a title="http://www.irssi.org" rel="nofollow" href="http://www.irssi.org/">irssi</a>: <a title="http://www.irssi.org/download#binaries" rel="nofollow" href="http://www.irssi.org/download#binaries">http://www.irssi.org/download#binaries</a></p>
<h3>Инсталиране на плъгини и теми</h3>
<div>
<p>Пъгините за irssi са обикновени perl скриптове, които можете да намерите на официялната страница. Тъй като са много и наистина не си заслужава да влизам в подробности, кой и за какво и как да го използвате. Ще ви покажа обаче как първо да си ги инсталирате и съответно да настроите за автоматично зареждане. Тъй като на официалната страница няма да намерите скриптове за музикални плейъри като Rhythmbox или Exaile ще добавя изходния код и на двата в края на тази секция.</p></div>
<h3>Инсталиране на скрипт</h3>
<div>
<p>Създайте директория <code>~/.irssi/scripts</code> и още една поддиректория <code>~/.irssi/scripts/autorun</code> можете да направите това с една команда:</p>
<pre class="brush: bash;">mkdir ~/.irssi/scripts/autorun</pre>
<p>След което просто записвате желания файл в ~/.irssi/scripts и в приложението изпълнявате следната команда:</p>
<pre class="brush: bash;">/script load име_на_скрипта.pl</pre>
<p>разбира се, за да спрете някой скрипт командата ще бъде:</p>
<pre class="brush: bash;">/script unload име_на_скрипта.pl</pre>
<p>За да направите желаните скриптове да се зареждат със стартирането на клиента просто трябва да ги копирате в създадената по-рано директория <code>~/.irssi/scripts/autorun</code></div>
<h4>Скрипт за Rhythmbox</h4>
<div>
<p>Просто създайте файл rhythm.pl в директорията за скриптове със следното съдържание:</p>
<pre class="brush: perl;">#!/usr/bin/perl -w

BEGIN{
use vars '$hook','$info';
eval q {
use Irssi;
};
$hook = !!$@;
}

sub np
{
$info = `rhythmbox-client --print-playing-format %ta\\ -\\ %tt\\ -\\ &quot;(%te/%td)&quot;`;
chop $info;
Irssi::active_win-&gt;command(&quot;/me is now playing: &quot;.$info);
return 1;
}

if ($hook){
rb();
}else{
Irssi::command_bind('np', 'np');
}</pre>
<p>съответно командата за известяване на песента, която слушате в момента ще бъде <code>np</code>. Скрипта можете да го разширите разбира се като използвате опциите на rhythmbox-client добавяйки различни команди (<code>--next</code>, <code>--prev</code>, <code>--stop</code>, <code>--play</code> и т.н.).</div>
<h4>Скрипт за Exaile</h4>
<div>
<p>Създайте скрипт exaile.pl във директорията със скриптове и въведете следното съдържание:</p>
<pre class="brush: perl;">#!/usr/bin/perl

use Net::DBus;
use strict;
use Irssi;
use vars qw($VERSION %IRSSI);

$VERSION = &quot;1.0&quot;;
%IRSSI = (
	authors =&gt; &quot;Adam Olsen&quot;,
	contact =&gt; &quot;arolsen\@gmail.com&quot;,
	name =&gt; &quot;Exaile interface script&quot;,
	description =&gt; &quot;Prints what you're playing to an irssi channel&quot;,
	license =&gt; &quot;Public domain&quot;
);

sub test_dbus
{
	my $service = shift;

	my $bus = Net::DBus-&gt;session;
	my $obj = $bus-&gt;get_service(&quot;org.freedesktop.DBus&quot;);
	my $iface = $obj-&gt;get_object(&quot;/org/freedesktop/DBus&quot;,
		&quot;org.freedesktop.DBus&quot;);

	foreach my $item( @{$iface-&gt;ListNames()} )
	{
		if( $item eq $service )
		{
			return 1;
		}
	}

	return 0;
}

sub print_info
{
	my($data, $server, $witem) = @_;

	my $bus = Net::DBus-&gt;session;

	if(!&amp;test_dbus(&quot;org.exaile.DBusInterface&quot;))
	{
		print &quot;Could not see Exaile in dbus.&quot;;
		return;
	}

	my $obj = $bus-&gt;get_service(&quot;org.exaile.DBusInterface&quot;);
	my $iface = $obj-&gt;get_object(&quot;/DBusInterfaceObject&quot;,
		&quot;org.exaile.DBusInterface&quot;);

	my $pos = $iface-&gt;current_position;
	if(!$pos)
	{
		print &quot;Not playing anything&quot;;
		return;
	}
	$pos = int($pos);

	my $song = $iface-&gt;get_title;
	my $artist = $iface-&gt;get_artist;
	my $length = $iface-&gt;get_length;

	if($witem &amp;&amp; $witem-&gt;{type} eq 'CHANNEL')
	{
		$witem-&gt;command(&quot;ACTION &quot; . $witem-&gt;{name} .
			&quot; is playing $song by $artist [$length $pos\%]&quot;);
	}
}

Irssi::command_bind(&quot;exaile&quot;, 'print_info');
print &quot;Exaile script loaded.&quot;;</pre>
<p>Командата за изпълнение на скрипта е <code>exaile</code>, но спокойно можете да я замените с Irssi::command_bind(“mp3”, &#8216;print_info&#8217;); за да използвате по-крактка команда &#8211; <code>mp3</code>.</div>
<h3>Инсталиране на теми</h3>
<div>
<p>Теми можете да изтеглите от <a title="http://www.irssi.org/themes" rel="nofollow" href="http://www.irssi.org/themes">themes страницата</a> в официалната страница на клиента. Това са обикновени .theme файлове, които просто записвате в главната директория <code>~/.irssi/</code>.</p>
<p>За да заредите желаната тема, просто в клиента изпълнете командата:</p>
<pre class="brush: bash;">/set theme име_на_темата</pre>
<p>Ако искате темата да ви бъде запазена и за следващото включване на irssi просто изпълнете командата:</p>
<pre class="brush: bash;">/save</pre>
<p>Тази команда можете да използвате за записване на всички въведени от вас настройки през клиента (без да сте редактирали конфигурационния файл <code>~/.irssi/config</code>.</div>
<h3>Настройки на клиента</h3>
<div>
<p>Настройките се записват по принцип в конфигурационен файл <code>~/.irssi/config</code>, който можете да редактирате директно от клиента. Разбира се първото е по-лесно от второто, но за по-подробни обяснения ще трябва да прочетете <a title="http://www.irssi.org/documentation" rel="nofollow" href="http://www.irssi.org/documentation">документацията на irssi</a></p>
<p>За да не навлизам в излишни подробности ще представя най-използваните:</p>
<ul>
<li>
<div><strong>Добавяне на сървър за автоматично свързване при стартиране на клиента</strong>:</p>
<pre class="brush: bash;">/SERVER ADD -auto -network FreeNode irc.freenode.net 6667</pre>
<p>Където опцията <strong>-auto</strong> е за автоматично свързване, опцията <strong>-network</strong> определя раздел, в който да запише адреса на сървъра.</div>
</li>
</ul>
<p><div class="note"><div class="noteclassic">Ако добавяте повече сървъри, не е необходимо на всичките да слагате -auto, тъй като ако клиента не успее да се свърже със сървъра по подразбиране, автоматично ще смени на следващия от съответната мрежа</div></div></p>
<ul>
<li>
<div><strong>Добавяне на канал за автоматично влизане след свързване с определен сървър</strong>:</p>
<pre class="brush: bash;">/CHANNEL ADD -auto -network #ubuntu-bg FreeNode</pre>
</div>
</li>
<li>
<div><strong>Маркиране на вашия nickname при споменаването му в канал</strong>:</p>
<pre class="brush: bash;">/HIGHLIGHT вашия_ник_или_дума</pre>
</div>
</li>
<li>
<div><strong>Показване на няколко прозореца в един (split)</strong> &#8211; за целта просто можете да използвате следните команди:</p>
<pre class="brush: bash;">/WINDOW SHOW 1 #показва първия прозорец (status), можете 1 да замените с друг цифра за показване на друг прозорец
/WINDOW HIDE 1 #скрива пръвия прозорец (status)
/Window CLOSE  #затваря прозореца, в който се намирате, можете да добавите и номера на прозореца, който искате да затворите</pre>
</div>
</li>
<li>
<div><strong>Автоматична автентикация при влизане в мрежа</strong>:</p>
<pre class="brush: bash;">/NETWORK ADD -autosendcmd &quot;/^msg NickServ IDENTIFY password;wait 2000&quot; freenode</pre>
<p>На мястото на <em>password</em> въведете своята парола. При влизане стартиране на клиента и след свързане с мрежата, клиента ще изпрати пароалта за вашия ник до сървъра, но няма да бъде показвана в клиента и по този начин ако някой седи до вас няма да види паролата ви. Параметърът <strong><em>wait</em></strong> е важен, тъй като irssi ще изчака да се свържете преди да изпрати паролата, увеличете стойността, в случай, че се свързвате по-бавно.</div>
</li>
</ul>
</div>
<h3>Полезни клавишни комбинации</h3>
<div>
<ul>
<li>
<div>Смяна на активния прозорец. Комбинациите са няколко и работата им зависи от конфигурацията на вашия терминал:</div>
<ul>
<li>
<div><code>Ctrl+n</code>, <code>Ctrl+p</code> &#8211; сменя към следващия, сътоветно предишния прозорец</div>
</li>
<li>
<div><code>Alt+1</code> &#8211; прескача към първия прозорец, цифрата можете да замените с номера на желания от вас прозорец</div>
</li>
</ul>
</li>
</ul>
<p><div class="note"><div class="notehelp">Можете да изплзвате бутоните <code>Page Up</code> и <code>Page Down</code>, но не функционират при всички терминали.</div></div></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bultux.org/applications/instalaciq-i-konfigurirane-na-irssi/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
