Index: trunk/MacFaceFloat/ConfigurationForm.cs
===================================================================
--- trunk/MacFaceFloat/ConfigurationForm.cs	(revision 19)
+++ trunk/MacFaceFloat/ConfigurationForm.cs	(revision 30)
@@ -36,4 +36,8 @@
 		private System.Windows.Forms.Label label4;
 		private System.Windows.Forms.CheckBox checkMouseMessage;
+		private System.Windows.Forms.ImageList imageListConfigTreeIcon;
+		private System.Windows.Forms.Label label5;
+		private TrackBar trackBarPatternSize;
+		private Label label6;
 		private System.ComponentModel.IContainer components;
 
@@ -73,5 +77,9 @@
 		{
 			this.components = new System.ComponentModel.Container();
+			System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("SÊ", 1, 1);
+			System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("çp^[");
+			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigurationForm));
 			this.treeCategory = new System.Windows.Forms.TreeView();
+			this.imageListConfigTreeIcon = new System.Windows.Forms.ImageList(this.components);
 			this.buttonCancel = new System.Windows.Forms.Button();
 			this.buttonApply = new System.Windows.Forms.Button();
@@ -79,4 +87,11 @@
 			this.labelTitle = new System.Windows.Forms.Label();
 			this.panelContainer = new System.Windows.Forms.Panel();
+			this.panelAppearance = new System.Windows.Forms.Panel();
+			this.label5 = new System.Windows.Forms.Label();
+			this.checkMouseMessage = new System.Windows.Forms.CheckBox();
+			this.label3 = new System.Windows.Forms.Label();
+			this.label2 = new System.Windows.Forms.Label();
+			this.label1 = new System.Windows.Forms.Label();
+			this.trackBarOpacity = new System.Windows.Forms.TrackBar();
 			this.panelFacePatternList = new System.Windows.Forms.Panel();
 			this.label4 = new System.Windows.Forms.Label();
@@ -85,57 +100,74 @@
 			this.listViewFaces = new System.Windows.Forms.ListView();
 			this.imageListFacePreviews = new System.Windows.Forms.ImageList(this.components);
-			this.panelAppearance = new System.Windows.Forms.Panel();
-			this.checkMouseMessage = new System.Windows.Forms.CheckBox();
-			this.label3 = new System.Windows.Forms.Label();
-			this.label2 = new System.Windows.Forms.Label();
-			this.label1 = new System.Windows.Forms.Label();
-			this.trackBarOpacity = new System.Windows.Forms.TrackBar();
 			this.toolTipPreviewDetail = new System.Windows.Forms.ToolTip(this.components);
+			this.trackBarPatternSize = new System.Windows.Forms.TrackBar();
+			this.label6 = new System.Windows.Forms.Label();
 			this.panelContainer.SuspendLayout();
-			this.panelFacePatternList.SuspendLayout();
 			this.panelAppearance.SuspendLayout();
 			((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).BeginInit();
+			this.panelFacePatternList.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)(this.trackBarPatternSize)).BeginInit();
 			this.SuspendLayout();
-			// 
-			// treeCategory
-			// 
-			this.treeCategory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left)));
-			this.treeCategory.ImageIndex = -1;
+// 
+// treeCategory
+// 
+			this.treeCategory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+						| System.Windows.Forms.AnchorStyles.Left)));
+			this.treeCategory.FullRowSelect = true;
+			this.treeCategory.HideSelection = false;
+			this.treeCategory.HotTracking = true;
+			this.treeCategory.ImageList = this.imageListConfigTreeIcon;
 			this.treeCategory.Location = new System.Drawing.Point(0, 0);
 			this.treeCategory.Name = "treeCategory";
+			treeNode3.ImageIndex = 1;
+			treeNode3.Name = "";
+			treeNode3.SelectedImageIndex = 1;
+			treeNode3.Text = "SÊ";
+			treeNode4.Name = "";
+			treeNode4.Text = "çp^[";
 			this.treeCategory.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
-																					 new System.Windows.Forms.TreeNode("SÊ"),
-																					 new System.Windows.Forms.TreeNode("çp^[")});
-			this.treeCategory.SelectedImageIndex = -1;
-			this.treeCategory.Size = new System.Drawing.Size(193, 449);
+            treeNode3,
+            treeNode4});
+			this.treeCategory.ShowLines = false;
+			this.treeCategory.ShowPlusMinus = false;
+			this.treeCategory.ShowRootLines = false;
+			this.treeCategory.Size = new System.Drawing.Size(101, 296);
 			this.treeCategory.TabIndex = 0;
 			this.treeCategory.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeCategory_AfterSelect);
-			// 
-			// buttonCancel
-			// 
+// 
+// imageListConfigTreeIcon
+// 
+			this.imageListConfigTreeIcon.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
+			this.imageListConfigTreeIcon.ImageSize = new System.Drawing.Size(32, 32);
+			this.imageListConfigTreeIcon.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListConfigTreeIcon.ImageStream")));
+			this.imageListConfigTreeIcon.TransparentColor = System.Drawing.Color.Transparent;
+			this.imageListConfigTreeIcon.Images.SetKeyName(0, "");
+			this.imageListConfigTreeIcon.Images.SetKeyName(1, "");
+// 
+// buttonCancel
+// 
 			this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
 			this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-			this.buttonCancel.Location = new System.Drawing.Point(427, 420);
+			this.buttonCancel.Location = new System.Drawing.Point(303, 267);
 			this.buttonCancel.Name = "buttonCancel";
 			this.buttonCancel.Size = new System.Drawing.Size(87, 21);
 			this.buttonCancel.TabIndex = 1;
 			this.buttonCancel.Text = "LZ";
-			// 
-			// buttonApply
-			// 
+// 
+// buttonApply
+// 
 			this.buttonApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
 			this.buttonApply.Enabled = false;
-			this.buttonApply.Location = new System.Drawing.Point(521, 420);
+			this.buttonApply.Location = new System.Drawing.Point(397, 267);
 			this.buttonApply.Name = "buttonApply";
 			this.buttonApply.Size = new System.Drawing.Size(87, 21);
 			this.buttonApply.TabIndex = 2;
 			this.buttonApply.Text = "Kp(&A)";
-			// 
-			// buttonOK
-			// 
+// 
+// buttonOK
+// 
 			this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
 			this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
-			this.buttonOK.Location = new System.Drawing.Point(332, 420);
+			this.buttonOK.Location = new System.Drawing.Point(208, 267);
 			this.buttonOK.Name = "buttonOK";
 			this.buttonOK.Size = new System.Drawing.Size(87, 21);
@@ -143,94 +175,36 @@
 			this.buttonOK.Text = "OK";
 			this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
-			// 
-			// labelTitle
-			// 
-			this.labelTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
+// 
+// labelTitle
+// 
+			this.labelTitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
 			this.labelTitle.BackColor = System.Drawing.SystemColors.ActiveCaption;
-			this.labelTitle.Font = new System.Drawing.Font("MS UI Gothic", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(128)));
+			this.labelTitle.Font = new System.Drawing.Font("MS UI Gothic", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
 			this.labelTitle.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
-			this.labelTitle.Location = new System.Drawing.Point(199, 5);
+			this.labelTitle.Location = new System.Drawing.Point(107, 5);
 			this.labelTitle.Name = "labelTitle";
-			this.labelTitle.Size = new System.Drawing.Size(412, 27);
+			this.labelTitle.Size = new System.Drawing.Size(380, 27);
 			this.labelTitle.TabIndex = 4;
 			this.labelTitle.Text = "SÊ";
 			this.labelTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
-			// 
-			// panelContainer
-			// 
-			this.panelContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
+// 
+// panelContainer
+// 
+			this.panelContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+						| System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.panelContainer.Controls.Add(this.panelAppearance);
 			this.panelContainer.Controls.Add(this.panelFacePatternList);
-			this.panelContainer.Controls.Add(this.panelAppearance);
-			this.panelContainer.Location = new System.Drawing.Point(198, 38);
+			this.panelContainer.Location = new System.Drawing.Point(106, 38);
 			this.panelContainer.Name = "panelContainer";
-			this.panelContainer.Size = new System.Drawing.Size(411, 371);
+			this.panelContainer.Size = new System.Drawing.Size(380, 218);
 			this.panelContainer.TabIndex = 5;
-			// 
-			// panelFacePatternList
-			// 
-			this.panelFacePatternList.Controls.Add(this.label4);
-			this.panelFacePatternList.Controls.Add(this.linkWebSite);
-			this.panelFacePatternList.Controls.Add(this.buttonBrowse);
-			this.panelFacePatternList.Controls.Add(this.listViewFaces);
-			this.panelFacePatternList.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.panelFacePatternList.Location = new System.Drawing.Point(0, 0);
-			this.panelFacePatternList.Name = "panelFacePatternList";
-			this.panelFacePatternList.Size = new System.Drawing.Size(411, 371);
-			this.panelFacePatternList.TabIndex = 7;
-			// 
-			// label4
-			// 
-			this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-			this.label4.Location = new System.Drawing.Point(4, 350);
-			this.label4.Name = "label4";
-			this.label4.Size = new System.Drawing.Size(63, 17);
-			this.label4.TabIndex = 3;
-			this.label4.Text = "EFuTCg:";
-			// 
-			// linkWebSite
-			// 
-			this.linkWebSite.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.linkWebSite.Location = new System.Drawing.Point(67, 350);
-			this.linkWebSite.Name = "linkWebSite";
-			this.linkWebSite.Size = new System.Drawing.Size(338, 16);
-			this.linkWebSite.TabIndex = 2;
-			this.linkWebSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkWebSite_LinkClicked);
-			// 
-			// buttonBrowse
-			// 
-			this.buttonBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-			this.buttonBrowse.Location = new System.Drawing.Point(322, 323);
-			this.buttonBrowse.Name = "buttonBrowse";
-			this.buttonBrowse.Size = new System.Drawing.Size(87, 21);
-			this.buttonBrowse.TabIndex = 1;
-			this.buttonBrowse.Text = "QÆ(&B)...";
-			this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click);
-			// 
-			// listViewFaces
-			// 
-			this.listViewFaces.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
-				| System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
-			this.listViewFaces.LargeImageList = this.imageListFacePreviews;
-			this.listViewFaces.Location = new System.Drawing.Point(0, 0);
-			this.listViewFaces.Name = "listViewFaces";
-			this.listViewFaces.Size = new System.Drawing.Size(410, 318);
-			this.listViewFaces.TabIndex = 0;
-			this.listViewFaces.DoubleClick += new System.EventHandler(this.listViewFaces_DoubleClick);
-			this.listViewFaces.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listViewFaces_MouseMove);
-			this.listViewFaces.SelectedIndexChanged += new System.EventHandler(this.listViewFaces_SelectedIndexChanged);
-			// 
-			// imageListFacePreviews
-			// 
-			this.imageListFacePreviews.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
-			this.imageListFacePreviews.ImageSize = new System.Drawing.Size(128, 128);
-			this.imageListFacePreviews.TransparentColor = System.Drawing.Color.Transparent;
-			// 
-			// panelAppearance
-			// 
+// 
+// panelAppearance
+// 
+			this.panelAppearance.Controls.Add(this.label6);
+			this.panelAppearance.Controls.Add(this.trackBarPatternSize);
+			this.panelAppearance.Controls.Add(this.label5);
 			this.panelAppearance.Controls.Add(this.checkMouseMessage);
 			this.panelAppearance.Controls.Add(this.label3);
@@ -238,60 +212,159 @@
 			this.panelAppearance.Controls.Add(this.label1);
 			this.panelAppearance.Controls.Add(this.trackBarOpacity);
-			this.panelAppearance.Dock = System.Windows.Forms.DockStyle.Fill;
-			this.panelAppearance.Location = new System.Drawing.Point(0, 0);
+			this.panelAppearance.Location = new System.Drawing.Point(4, 3);
 			this.panelAppearance.Name = "panelAppearance";
-			this.panelAppearance.Size = new System.Drawing.Size(411, 371);
+			this.panelAppearance.Size = new System.Drawing.Size(366, 208);
 			this.panelAppearance.TabIndex = 0;
-			// 
-			// checkMouseMessage
-			// 
-			this.checkMouseMessage.Enabled = false;
-			this.checkMouseMessage.Location = new System.Drawing.Point(5, 115);
+// 
+// label5
+// 
+			this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.label5.Location = new System.Drawing.Point(311, 55);
+			this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
+			this.label5.Name = "label5";
+			this.label5.Size = new System.Drawing.Size(42, 11);
+			this.label5.TabIndex = 5;
+			this.label5.Text = "s§¾";
+// 
+// checkMouseMessage
+// 
+			this.checkMouseMessage.Location = new System.Drawing.Point(5, 188);
 			this.checkMouseMessage.Name = "checkMouseMessage";
-			this.checkMouseMessage.Size = new System.Drawing.Size(400, 16);
+			this.checkMouseMessage.Size = new System.Drawing.Size(355, 11);
 			this.checkMouseMessage.TabIndex = 4;
 			this.checkMouseMessage.Text = "}EXÌ®ìðwÊÌEBhEÖ`¦é(&T)";
-			// 
-			// label3
-			// 
+// 
+// label3
+// 
 			this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-			this.label3.Location = new System.Drawing.Point(364, 73);
+			this.label3.Location = new System.Drawing.Point(524, 73);
 			this.label3.Name = "label3";
 			this.label3.Size = new System.Drawing.Size(45, 11);
 			this.label3.TabIndex = 3;
 			this.label3.Text = "s§¾";
-			// 
-			// label2
-			// 
-			this.label2.Location = new System.Drawing.Point(4, 73);
+// 
+// label2
+// 
+			this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.label2.Location = new System.Drawing.Point(15, 55);
+			this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3);
 			this.label2.Name = "label2";
 			this.label2.Size = new System.Drawing.Size(31, 11);
 			this.label2.TabIndex = 2;
 			this.label2.Text = "§¾";
-			// 
-			// label1
-			// 
+// 
+// label1
+// 
 			this.label1.Location = new System.Drawing.Point(2, 5);
+			this.label1.Margin = new System.Windows.Forms.Padding(3, 3, 3, 0);
 			this.label1.Name = "label1";
 			this.label1.Size = new System.Drawing.Size(196, 18);
 			this.label1.TabIndex = 1;
 			this.label1.Text = "§¾x:";
-			// 
-			// trackBarOpacity
-			// 
-			this.trackBarOpacity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-				| System.Windows.Forms.AnchorStyles.Right)));
+// 
+// trackBarOpacity
+// 
+			this.trackBarOpacity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
 			this.trackBarOpacity.LargeChange = 10;
-			this.trackBarOpacity.Location = new System.Drawing.Point(8, 26);
+			this.trackBarOpacity.Location = new System.Drawing.Point(15, 24);
+			this.trackBarOpacity.Margin = new System.Windows.Forms.Padding(3, 1, 3, 1);
 			this.trackBarOpacity.Maximum = 100;
 			this.trackBarOpacity.Name = "trackBarOpacity";
-			this.trackBarOpacity.Size = new System.Drawing.Size(400, 42);
+			this.trackBarOpacity.Size = new System.Drawing.Size(338, 42);
 			this.trackBarOpacity.TabIndex = 0;
 			this.trackBarOpacity.TickFrequency = 10;
-			// 
-			// ConfigurationForm
-			// 
+// 
+// panelFacePatternList
+// 
+			this.panelFacePatternList.Controls.Add(this.label4);
+			this.panelFacePatternList.Controls.Add(this.linkWebSite);
+			this.panelFacePatternList.Controls.Add(this.buttonBrowse);
+			this.panelFacePatternList.Controls.Add(this.listViewFaces);
+			this.panelFacePatternList.Location = new System.Drawing.Point(2, 1);
+			this.panelFacePatternList.Name = "panelFacePatternList";
+			this.panelFacePatternList.Size = new System.Drawing.Size(367, 213);
+			this.panelFacePatternList.TabIndex = 7;
+// 
+// label4
+// 
+			this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+			this.label4.Location = new System.Drawing.Point(4, 165);
+			this.label4.Name = "label4";
+			this.label4.Size = new System.Drawing.Size(63, 17);
+			this.label4.TabIndex = 3;
+			this.label4.Text = "EFuTCg:";
+// 
+// linkWebSite
+// 
+			this.linkWebSite.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.linkWebSite.Links.Add(new System.Windows.Forms.LinkLabel.Link(0, 0));
+			this.linkWebSite.Location = new System.Drawing.Point(67, 165);
+			this.linkWebSite.Name = "linkWebSite";
+			this.linkWebSite.Size = new System.Drawing.Size(388, 16);
+			this.linkWebSite.TabIndex = 2;
+			this.linkWebSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkWebSite_LinkClicked);
+// 
+// buttonBrowse
+// 
+			this.buttonBrowse.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+			this.buttonBrowse.Location = new System.Drawing.Point(267, 187);
+			this.buttonBrowse.Name = "buttonBrowse";
+			this.buttonBrowse.Size = new System.Drawing.Size(95, 24);
+			this.buttonBrowse.TabIndex = 1;
+			this.buttonBrowse.Text = "QÆ(&B)...";
+			this.buttonBrowse.Click += new System.EventHandler(this.buttonBrowse_Click);
+// 
+// listViewFaces
+// 
+			this.listViewFaces.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+						| System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.listViewFaces.LargeImageList = this.imageListFacePreviews;
+			this.listViewFaces.Location = new System.Drawing.Point(0, 0);
+			this.listViewFaces.Name = "listViewFaces";
+			this.listViewFaces.Size = new System.Drawing.Size(367, 161);
+			this.listViewFaces.TabIndex = 0;
+			this.listViewFaces.SelectedIndexChanged += new System.EventHandler(this.listViewFaces_SelectedIndexChanged);
+			this.listViewFaces.DoubleClick += new System.EventHandler(this.listViewFaces_DoubleClick);
+			this.listViewFaces.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listViewFaces_MouseMove);
+// 
+// imageListFacePreviews
+// 
+			this.imageListFacePreviews.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
+			this.imageListFacePreviews.ImageSize = new System.Drawing.Size(128, 128);
+			this.imageListFacePreviews.TransparentColor = System.Drawing.Color.Transparent;
+// 
+// trackBarPatternSize
+// 
+			this.trackBarPatternSize.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+						| System.Windows.Forms.AnchorStyles.Right)));
+			this.trackBarPatternSize.LargeChange = 10;
+			this.trackBarPatternSize.Location = new System.Drawing.Point(15, 114);
+			this.trackBarPatternSize.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3);
+			this.trackBarPatternSize.Maximum = 100;
+			this.trackBarPatternSize.Minimum = 10;
+			this.trackBarPatternSize.Name = "trackBarPatternSize";
+			this.trackBarPatternSize.Size = new System.Drawing.Size(338, 42);
+			this.trackBarPatternSize.TabIndex = 6;
+			this.trackBarPatternSize.TickFrequency = 10;
+			this.trackBarPatternSize.Value = 100;
+// 
+// label6
+// 
+			this.label6.Location = new System.Drawing.Point(5, 93);
+			this.label6.Margin = new System.Windows.Forms.Padding(3, 3, 3, 0);
+			this.label6.Name = "label6";
+			this.label6.Size = new System.Drawing.Size(196, 18);
+			this.label6.TabIndex = 7;
+			this.label6.Text = "å«³:";
+// 
+// ConfigurationForm
+// 
 			this.AutoScaleBaseSize = new System.Drawing.Size(5, 12);
-			this.ClientSize = new System.Drawing.Size(616, 450);
+			this.ClientSize = new System.Drawing.Size(492, 297);
 			this.Controls.Add(this.panelContainer);
 			this.Controls.Add(this.labelTitle);
@@ -305,7 +378,9 @@
 			this.Load += new System.EventHandler(this.ConfigurationForm_Load);
 			this.panelContainer.ResumeLayout(false);
+			this.panelAppearance.ResumeLayout(false);
+			this.panelAppearance.PerformLayout();
+			((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).EndInit();
 			this.panelFacePatternList.ResumeLayout(false);
-			this.panelAppearance.ResumeLayout(false);
-			((System.ComponentModel.ISupportInitialize)(this.trackBarOpacity)).EndInit();
+			((System.ComponentModel.ISupportInitialize)(this.trackBarPatternSize)).EndInit();
 			this.ResumeLayout(false);
 
@@ -316,6 +391,9 @@
 		{
 			// SÊð\¦B
-			foreach (Panel pane in panelContainer.Controls)
+			foreach (Panel pane in panelContainer.Controls) 
+			{
 				pane.Visible = false;
+				pane.Dock = DockStyle.Fill;
+			}
 
 			panelAppearance.Show();
@@ -323,4 +401,5 @@
 			// úlðZbgB
 			trackBarOpacity.Value = (int) (_mainForm.Opacity * 100);
+			trackBarPatternSize.Value = (int)(_mainForm.PatternSize * 100);
 			checkMouseMessage.Checked = Configuration.GetInstance().TransparentMouseMessage;
 		}
@@ -330,4 +409,5 @@
 			Configuration config = Configuration.GetInstance();
 			config.Opacity = trackBarOpacity.Value;
+			config.PatternSize = trackBarPatternSize.Value;
 			config.TransparentMouseMessage = checkMouseMessage.Checked;
 
@@ -337,6 +417,4 @@
 		private void treeCategory_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
 		{
-			Panel container;
-
 			// Ä«Æ¤
 			if (e.Node.Text == labelTitle.Text) return;
@@ -351,5 +429,5 @@
 					listViewFaces.Items.Clear();
 					imageListFacePreviews.Images.Clear();
-					int i = 0;
+					panelFacePatternList.Show();
 
 					using (Bitmap tmpImage = new Bitmap(128, 128)) 
@@ -372,6 +450,4 @@
 						}
 					}
-
-					panelFacePatternList.Show();
 					break;
 			}
@@ -386,5 +462,19 @@
 			{
 				FaceDef faceDef = new FaceDef(path);
-				imageListFacePreviews.Images.Add(faceDef.TitleImage());
+				// \¦/Iðµ½ÛÉ­ÈçÈ¢æ¤É ç©¶ßhèµÄ`æµ½æðpÓ·éB
+				using (Image titleImage = faceDef.TitleImage) 
+				{
+					using (Bitmap titlePreviewImage = new Bitmap(titleImage.Width, titleImage.Height)) 
+					{
+						using (Graphics g = Graphics.FromImage(titlePreviewImage))
+						{
+							g.Clear(Color.White);
+							g.DrawRectangle(new Pen(Color.LightGray), 0, 0, 127, 127);
+							g.DrawImage(titleImage, 0, 0);
+						}
+						imageListFacePreviews.Images.Add(titlePreviewImage);
+					}
+				}
+
 
 				ListViewItem item = listViewFaces.Items.Add(faceDef.Title, imageListFacePreviews.Images.Count-1);
@@ -466,4 +556,9 @@
 			catch (Win32Exception) {}
 		}
+
+		private void label6_Click(object sender, EventArgs e)
+		{
+		
+		}
 	}
 }
