Index: console/console.c
===================================================================
--- console/console.c	(revision f1b4e746be9a13f1b4278f1f04763ed5a11d9806)
+++ console/console.c	(revision a9bd960c192f12726e0bdf87b6060f9c1ef5f907)
@@ -299,4 +299,13 @@
 			sync_send_2(fb_info.phone, FB_FLUSH, 0, 0, NULL, NULL);		
 			break;
+		case CONSOLE_SET_STYLE:
+			
+			arg1 = IPC_GET_ARG1(call);
+			arg2 = IPC_GET_ARG2(call);
+			screenbuffer_set_style(&(connections[consnum]),arg1, arg2);
+			if (consnum == active_console)
+				nsend_call_2(fb_info.phone, FB_SET_STYLE, arg1, arg2); 
+				
+			break;
 		case CONSOLE_GETCHAR:
 			if (keybuffer_empty(&(connections[consnum].keybuffer))) {
Index: console/console.h
===================================================================
--- console/console.h	(revision f1b4e746be9a13f1b4278f1f04763ed5a11d9806)
+++ console/console.h	(revision a9bd960c192f12726e0bdf87b6060f9c1ef5f907)
@@ -32,10 +32,11 @@
 #define CONSOLE_COUNT 12 
 
-#define CONSOLE_GETCHAR 1026
-#define CONSOLE_PUTCHAR 1027
-#define CONSOLE_CLEAR	1028
-#define CONSOLE_GOTO	1029
-#define CONSOLE_GETSIZE	1030
-#define CONSOLE_FLUSH	1031
+#define CONSOLE_GETCHAR		1026
+#define CONSOLE_PUTCHAR 	1027
+#define CONSOLE_CLEAR		1028
+#define CONSOLE_GOTO		1029
+#define CONSOLE_GETSIZE		1030
+#define CONSOLE_FLUSH		1031
+#define CONSOLE_SET_STYLE 	1032
 
 #endif
Index: console/screenbuffer.c
===================================================================
--- console/screenbuffer.c	(revision f1b4e746be9a13f1b4278f1f04763ed5a11d9806)
+++ console/screenbuffer.c	(revision a9bd960c192f12726e0bdf87b6060f9c1ef5f907)
@@ -31,9 +31,9 @@
 #include <unistd.h>
 
-/** Get field from buffer that corresponds to character at position x,y at screen
- *
+/** Store one character to screenbuffer. Its position is determined by scr->position_x and scr->position_y.
+ * @param scr	screenbuffer
+ * @param c	stored character
  */
-
-int screenbuffer_putchar(screenbuffer_t *scr, char c) 
+void screenbuffer_putchar(screenbuffer_t *scr, char c) 
 {
 	keyfield_t *field;
@@ -43,8 +43,11 @@
 	field->character = c;
 	field->style = scr->style;
-	
-	return 1;
 }
 
+/** Initilize screenbuffer. Allocate space for screen content in accordance to given size.
+ * @param scr		initialized screenbuffer
+ * @param size_x	
+ * @param size_y
+ */
 screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y) 
 {
@@ -103,5 +106,11 @@
 {
 	scr->position_x = x % scr->size_x;
-	scr->position_y = y  % scr->size_y;
+	scr->position_y = y % scr->size_y;
 }
 
+void screenbuffer_set_style(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color)
+{
+	scr->style.fg_color = fg_color;
+	scr->style.bg_color = bg_color;
+}
+
Index: console/screenbuffer.h
===================================================================
--- console/screenbuffer.h	(revision f1b4e746be9a13f1b4278f1f04763ed5a11d9806)
+++ console/screenbuffer.h	(revision a9bd960c192f12726e0bdf87b6060f9c1ef5f907)
@@ -31,6 +31,6 @@
 
 
-#define DEFAULT_FOREGROUND_COLOR 0xffffff
-#define DEFAULT_BACKGROUND_COLOR 0x00003f
+#define DEFAULT_FOREGROUND_COLOR 0xffffff	/**< default console foreground color */
+#define DEFAULT_BACKGROUND_COLOR 0x00003f	/**< default console background color */
 
 typedef struct {
@@ -39,5 +39,5 @@
 } style_t;
 
-/** One field at screen. It contain one character and its attributes. */
+/** One field on screen. It contain one character and its attributes. */
 typedef struct {
 	char character;			/**< Character itself */
@@ -55,4 +55,10 @@
 } screenbuffer_t;
 
+/** Returns keyfield for position on screen. Screenbuffer->buffer is cyclic buffer so we must couted in index of the topmost line.
+ * @param scr	screenbuffer
+ * @oaram x	position on screen
+ * @param y	position on screen
+ * @return	keyfield structure with character and its attributes on x,y
+ */
 static inline keyfield_t *get_field_at(screenbuffer_t *scr, unsigned int x, unsigned int y) 
 {
@@ -60,4 +66,9 @@
 }
 
+/** Compares two styles.
+ * @param s1 first style
+ * @param s2 second style
+ * @return nonzero on equality
+ */
 static inline int style_same(style_t s1, style_t s2)
 {
@@ -66,5 +77,5 @@
 
 
-int screenbuffer_putchar(screenbuffer_t *scr, char c);
+void screenbuffer_putchar(screenbuffer_t *scr, char c);
 screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y);
 
@@ -73,4 +84,5 @@
 void screenbuffer_copy_buffer(screenbuffer_t *scr, keyfield_t *dest);
 void screenbuffer_goto(screenbuffer_t *scr, unsigned int x, unsigned int y);
+void screenbuffer_set_style(screenbuffer_t *scr, unsigned int fg_color, unsigned int bg_color);
 
 #endif
