Index: plugins/widgets/_default_widgets.php
===================================================================
--- plugins/widgets/_default_widgets.php	(revision 945)
+++ plugins/widgets/_default_widgets.php	(revision 954)
@@ -18,5 +18,5 @@
 $__widgets = new dcWidgets;
 
-$__widgets->create('search',__('Search engine'),array('defaultWidgets','search'));
+$__widgets->create('search',__('Search engine'),array('defaultWidgets','search'),null,'Search engine form');
 $__widgets->search->setting('title',__('Title:'),__('Search'));
 $__widgets->search->setting('homeonly',__('Display on:'),0,'combo',
@@ -24,5 +24,5 @@
 $__widgets->search->setting('class',__('CSS class:'),'');
 
-$__widgets->create('navigation',__('Navigation links'),array('defaultWidgets','navigation'));
+$__widgets->create('navigation',__('Navigation links'),array('defaultWidgets','navigation'),null,'List of navigation links');
 $__widgets->navigation->setting('title',__('Title:'),'');
 $__widgets->navigation->setting('homeonly',__('Display on:'),0,'combo',
@@ -30,5 +30,5 @@
 $__widgets->navigation->setting('class',__('CSS class:'),'');
 
-$__widgets->create('bestof',__('Selected entries'),array('defaultWidgets','bestof'));
+$__widgets->create('bestof',__('Selected entries'),array('defaultWidgets','bestof'),null,'List of selected entries');
 $__widgets->bestof->setting('title',__('Title:'),__('Best of me'));
 $__widgets->bestof->setting('orderby',__('Sort:'),'asc','combo',array(__('Ascending') => 'asc', __('Descending') => 'desc'));
@@ -37,5 +37,5 @@
 $__widgets->bestof->setting('class',__('CSS class:'),'');
 
-$__widgets->create('langs',__('Blog languages'),array('defaultWidgets','langs'));
+$__widgets->create('langs',__('Blog languages'),array('defaultWidgets','langs'),null,'List of available languages');
 $__widgets->langs->setting('title',__('Title:'),__('Languages'));
 $__widgets->langs->setting('homeonly',__('Display on:'),1,'combo',
@@ -43,5 +43,5 @@
 $__widgets->langs->setting('class',__('CSS class:'),'');
 
-$__widgets->create('categories',__('Categories list'),array('defaultWidgets','categories'));
+$__widgets->create('categories',__('Categories list'),array('defaultWidgets','categories'),null,'List of categories');
 $__widgets->categories->setting('title',__('Title:'),__('Categories'));
 $__widgets->categories->setting('postcount',__('With entries counts'),0,'check');
@@ -50,5 +50,5 @@
 $__widgets->categories->setting('class',__('CSS class:'),'');
 
-$__widgets->create('subscribe',__('Subscribe links'),array('defaultWidgets','subscribe'));
+$__widgets->create('subscribe',__('Subscribe links'),array('defaultWidgets','subscribe'),null,'RSS or Atom feed subscription links');
 $__widgets->subscribe->setting('title',__('Title:'),__('Subscribe'));
 $__widgets->subscribe->setting('type',__('Feeds type:'),'atom','combo',array('Atom' => 'atom', 'RSS' => 'rss2'));
@@ -57,5 +57,5 @@
 $__widgets->subscribe->setting('class',__('CSS class:'),'');
 
-$__widgets->create('feed',__('Feed reader'),array('defaultWidgets','feed'));
+$__widgets->create('feed',__('Feed reader'),array('defaultWidgets','feed'),null,'Last entries from feed');
 $__widgets->feed->setting('title',__('Title:'),__('Somewhere else'));
 $__widgets->feed->setting('url',__('Feed URL:'),'');
@@ -65,5 +65,5 @@
 $__widgets->feed->setting('class',__('CSS class:'),'');
 
-$__widgets->create('text',__('Text'),array('defaultWidgets','text'));
+$__widgets->create('text',__('Text'),array('defaultWidgets','text'),null,'Simple text');
 $__widgets->text->setting('title',__('Title:'),'');
 $__widgets->text->setting('text',__('Text:'),'','textarea');
@@ -72,5 +72,5 @@
 $__widgets->text->setting('class',__('CSS class:'),'');
 
-$__widgets->create('lastposts',__('Last entries'),array('defaultWidgets','lastposts'));
+$__widgets->create('lastposts',__('Last entries'),array('defaultWidgets','lastposts'),null,'List of last entries published');
 $__widgets->lastposts->setting('title',__('Title:'),__('Last entries'));
 $rs = $core->blog->getCategories(array('post_type'=>'post'));
@@ -89,5 +89,5 @@
 $__widgets->lastposts->setting('class',__('CSS class:'),'');
 
-$__widgets->create('lastcomments',__('Last comments'),array('defaultWidgets','lastcomments'));
+$__widgets->create('lastcomments',__('Last comments'),array('defaultWidgets','lastcomments'),null,'List of last comments posted');
 $__widgets->lastcomments->setting('title',__('Title:'),__('Last comments'));
 $__widgets->lastcomments->setting('limit',__('Comments limit:'),10);
Index: plugins/widgets/class.widgets.php
===================================================================
--- plugins/widgets/class.widgets.php	(revision 270)
+++ plugins/widgets/class.widgets.php	(revision 954)
@@ -36,7 +36,7 @@
 	}
 	
-	public function create($id,$name,$callback,$append_callback=null)
-	{
-		$this->__widgets[$id] = new dcWidget($id,$name,$callback);
+	public function create($id,$name,$callback,$append_callback=null,$desc='')
+	{
+		$this->__widgets[$id] = new dcWidget($id,$name,$callback,$desc);
 		$this->__widgets[$id]->append_callback = $append_callback;
 	}
@@ -135,4 +135,5 @@
 	private $id;
 	private $name;
+	private $desc;
 	private $public_callback = null;
 	public $append_callback = null;
@@ -148,9 +149,10 @@
 	}
 	
-	public function __construct($id,$name,$callback)
+	public function __construct($id,$name,$callback,$desc='')
 	{
 		$this->public_callback = $callback;
 		$this->id = $id;
 		$this->name = $name;
+		$this->desc = $desc;
 	}
 	
@@ -163,4 +165,9 @@
 	{
 		return $this->name;
+	}
+
+	public function desc()
+	{
+		return $this->desc;
 	}
 	
Index: plugins/widgets/index.php
===================================================================
--- plugins/widgets/index.php	(revision 904)
+++ plugins/widgets/index.php	(revision 954)
@@ -201,5 +201,5 @@
 	'<div>'.form::hidden(array('w[void][0][id]'),html::escapeHTML($w->id())).
 	'<p class="widget-name">'.form::field(array('w[void][0][order]'),2,3,0,'hideControl').' '.
-	$w->name().'</p>'.
+	$w->name().($w->desc() != '' ? ' <span class="form-note">('.__($w->desc()).')</span>' : '').'</p>'.
 	'<p class="js-remove"><label class="classic">'.__('Append to:').' '.
 	form::combo(array('addw['.$w->id().']'),$append_combo).'</label></p>'.
@@ -267,5 +267,6 @@
 	$widget_elements->content .=
 	'<dt><strong>'.html::escapeHTML($w->name()).'</strong> ('.
-	__('Widget ID:').' <strong>'.html::escapeHTML($w->id()).'</strong>)</dt>'.
+	__('Widget ID:').' <strong>'.html::escapeHTML($w->id()).'</strong>)'.
+	($w->desc() != '' ? ' <span class="form-note">'.__($w->desc()).'</span>' : '').'</dt>'.
 	'<dd>';
 	
@@ -330,5 +331,5 @@
 		'<div>'.form::hidden(array($iname.'[id]'),html::escapeHTML($w->id())).
 		'<p class="widget-name">'.form::field(array($iname.'[order]'),2,3,(string) $i,'js-hide','',0,'title="'.__('order').'"').' '.
-		$w->name().'</p>'.
+		$w->name().($w->desc() != '' ? ' <span class="form-note">('.__($w->desc()).')</span>' : '').'</p>'.
 		'<p class="removeWidget js-remove"><label class="classic">'.
 		form::checkbox(array($iname.'[_rem]'),'1',0).' '.__('Remove widget').
