<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,6 +3,9 @@ REQUIREMENTS ------------
  - imlib2
  - freetype2
  - Xlib
+ - XRender
+ - XComposite
+ - fontconfig
  - libev
  - scons and gcc 4.x.x to compile library (tested on gcc 4.2.3)
 </diff>
      <filename>INSTALL</filename>
    </modified>
    <modified>
      <diff>@@ -125,7 +125,7 @@ static int commence_panel_redraw;
 static int commence_switcher_redraw;
 
 static const char *theme = &quot;native&quot;;
-static const char *version = &quot;bmpanel version 0.9.19&quot;;
+static const char *version = &quot;bmpanel version 0.9.20&quot;;
 static const char *usage = &quot;usage: bmpanel [--version] [--help] [--usage] [--list] THEME&quot;;
 
 static void cleanup();
@@ -429,7 +429,7 @@ static Window create_panel_window(uint placement, int h, int hover)
 	if (!hover)
 		hover = h;
 	int y = 0;
-	uint32_t strut[4] = {0,0,0,hover + X.screen_height - X.wa_h};
+	uint32_t strut[4] = {0,0,0,hover + X.screen_height - X.wa_h - X.wa_y};
 	uint32_t tmp;
 
 	if (placement == PLACE_TOP) {
@@ -437,7 +437,7 @@ static Window create_panel_window(uint placement, int h, int hover)
 		strut[3] = 0;
 		strut[2] = hover + X.wa_y;
 	} else if (placement == PLACE_BOTTOM)
-		y = X.wa_y + X.wa_h - h;
+		y = X.wa_y + X.wa_h - hover;
 
 	win = XCreateWindow(X.display, X.root, X.wa_x, y, X.wa_w, h, 0, 
 			X.depth, InputOutput, X.visual, X.amask, &amp;X.attrs);
@@ -1239,6 +1239,11 @@ validation:
 		XSetWindowBackgroundPixmap(X.display, P.win, P.bgpix);
 	}
 
+	if (P.theme-&gt;use_composite &amp;&amp; is_element_in_theme(P.theme, 't')) {
+		LOG_WARNING(&quot;tray cannot be used with composite mode enabled&quot;);
+		theme_remove_element(P.theme, 't');
+	}
+
 	/* init tray if needed */
 	if (is_element_in_theme(P.theme, 't'))
 		init_tray();</diff>
      <filename>src/bmpanel.c</filename>
    </modified>
    <modified>
      <diff>@@ -606,6 +606,10 @@ void render_update_panel_positions(struct panel *p)
 			break;
 		/* tray */
 		case 't':
+			if (!p-&gt;trayicons) {
+				e++;
+				continue;
+			}
 			ox += get_tray_width(p-&gt;trayicons);
 			break;
 		/* taskbar */
@@ -635,6 +639,10 @@ void render_update_panel_positions(struct panel *p)
 			break;
 		/* tray */
 		case 't':
+			if (!p-&gt;trayicons) {
+				e++;
+				continue;
+			}
 			ox += update_tray_positions(ox, p-&gt;trayicons);
 			break;
 		/* taskbar */
@@ -642,9 +650,9 @@ void render_update_panel_positions(struct panel *p)
 			ox += update_taskbar_positions(taskbarx, taskbarw, p-&gt;tasks, p-&gt;desktops);
 			break;
 		}
-		e++;
-		if (theme-&gt;separator_img)
+		if (*++e &amp;&amp; theme-&gt;separator_img) {
 			ox += get_image_width(theme-&gt;separator_img);
+		}
 	}
 }
 
@@ -663,6 +671,10 @@ void render_panel(struct panel *p)
 				ox += switcher_width;
 				break;
 			case 't':
+				if (!p-&gt;trayicons) {
+					e++;
+					continue;
+				}
 				if (tray_width)
 					tile_image(theme-&gt;tile_img, tray_pos, tray_width);
 				ox += tray_width;
@@ -672,8 +684,7 @@ void render_panel(struct panel *p)
 				ox += taskbar_width;
 				break;
 		}
-		e++;
-		if (*e &amp;&amp; theme-&gt;separator_img) {
+		if (*++e &amp;&amp; theme-&gt;separator_img) {
 			draw_image(theme-&gt;separator_img, ox);
 			ox += get_image_width(theme-&gt;separator_img);
 		}</diff>
      <filename>src/render.c</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>themes/native/ds_left_idle_img.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>themes/native/ds_right_idle_img.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>themes/native/tb_left_idle_img.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>themes/native/tb_right_idle_img.png</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>themes/native/tb_tile_idle_img.png</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,6 @@ author 				nsf &lt;no.smile.face@gmail.com&gt;
 version_major 			0
 version_minor 			3
 
-use_composite 			1
 placement 			bottom
 tile_img 			tile_img.png
 separator_img 			separator_img.png</diff>
      <filename>themes/native/theme</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>themes/native/img.png</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>2e4b00be5a8bb8dbeddce6d02a36c51ae4840f6e</id>
    </parent>
  </parents>
  <author>
    <name>nsf</name>
    <email>no.smile.face@gmail.com</email>
  </author>
  <url>http://github.com/nsf/bmpanel/commit/69844b0d150f26fd45bdd5292d9a456ee1339f03</url>
  <id>69844b0d150f26fd45bdd5292d9a456ee1339f03</id>
  <committed-date>2008-05-31T11:45:59-07:00</committed-date>
  <authored-date>2008-05-31T11:45:59-07:00</authored-date>
  <message>Changes, bug fixes.

* Updated requirements in INSTALL documentation.
* Version is changed to 0.9.20.
* Fixed bug with wrong bmpanel placement.
* Tray is forced to be disabled when using composite mode now (temporary).
* If tray has no icons, separator is being drawn only once.
* themes/native theme has no alpha channels now and has composite disabled.</message>
  <tree>4f0119a39f69617d6aebbd21e7187a4626dee23c</tree>
  <committer>
    <name>nsf</name>
    <email>no.smile.face@gmail.com</email>
  </committer>
</commit>
