[beryl-commits] r2253 - branches/beryl-plugins/group-tabbed

maniac at server.beryl-project.org maniac at server.beryl-project.org
Tue Jan 2 08:11:44 CET 2007


Author: maniac
Date: 2007-01-02 07:11:43 +0000 (Tue, 02 Jan 2007)
New Revision: 2253

Modified:
   branches/beryl-plugins/group-tabbed/group.h
   branches/beryl-plugins/group-tabbed/option.c
   branches/beryl-plugins/group-tabbed/paint.c
Log:
group-tab-branch: added font options for tab bar


Modified: branches/beryl-plugins/group-tabbed/group.h
===================================================================
--- branches/beryl-plugins/group-tabbed/group.h	2007-01-02 06:37:33 UTC (rev 2252)
+++ branches/beryl-plugins/group-tabbed/group.h	2007-01-02 07:11:43 UTC (rev 2253)
@@ -80,13 +80,15 @@
 #define GROUP_SCREEN_OPTION_BORDER_RADIUS	17
 #define GROUP_SCREEN_OPTION_TAB_BORDER_COLOR	18
 #define GROUP_SCREEN_OPTION_TAB_FILL_COLOR	19
-#define GROUP_SCREEN_OPTION_TAB_CREATE_MIPMAPS	20
-#define GROUP_SCREEN_OPTION_GLOW_SIZE		21
-#define GROUP_SCREEN_OPTION_GLOW_TYPE		22
-#define GROUP_SCREEN_OPTION_FADE_TIME		23
-#define GROUP_SCREEN_OPTION_VISIBILITY_TIME	24
-#define GROUP_SCREEN_OPTION_UNTAB_ON_CLOSE	25
-#define GROUP_SCREEN_OPTION_NUM			26
+#define GROUP_SCREEN_OPTION_GLOW_SIZE		20
+#define GROUP_SCREEN_OPTION_GLOW_TYPE		21
+#define GROUP_SCREEN_OPTION_FADE_TIME		22
+#define GROUP_SCREEN_OPTION_VISIBILITY_TIME	23
+#define GROUP_SCREEN_OPTION_UNTAB_ON_CLOSE	24
+#define GROUP_SCREEN_OPTION_TABBAR_FONTSIZE	25
+#define GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR	26
+#define GROUP_SCREEN_OPTION_TAB_CREATE_MIPMAPS	27
+#define GROUP_SCREEN_OPTION_NUM			28
 
 /*
  * Helpers

Modified: branches/beryl-plugins/group-tabbed/option.c
===================================================================
--- branches/beryl-plugins/group-tabbed/option.c	2007-01-02 06:37:33 UTC (rev 2252)
+++ branches/beryl-plugins/group-tabbed/option.c	2007-01-02 07:11:43 UTC (rev 2253)
@@ -76,6 +76,10 @@
 #define GROUP_GLOW_SIZE_MIN		1
 #define GROUP_GLOW_SIZE_MAX		300
 
+#define GROUP_TABBAR_FONTSIZE_DEFAULT	12
+#define GROUP_TABBAR_FONTSIZE_MIN	6
+#define GROUP_TABBAR_FONTSIZE_MAX	24
+
 #define GROUP_MOVE_DEFAULT			TRUE
 #define GROUP_RESIZE_DEFAULT			TRUE
 #define GROUP_RAISE_DEFAULT			TRUE
@@ -106,6 +110,11 @@
 #define GROUP_COLOR_TAB_BORDER_BLUE_DEFAULT	0x0000
 #define GROUP_COLOR_TAB_BORDER_ALPHA_DEFAULT	0xABAB
 
+#define GROUP_COLOR_TABBAR_FONT_RED_DEFAULT	0xFFFF
+#define GROUP_COLOR_TABBAR_FONT_BLUE_DEFAULT	0xFFFF
+#define GROUP_COLOR_TABBAR_FONT_GREEN_DEFAULT	0xFFFF
+#define GROUP_COLOR_TABBAR_FONT_ALPHA_DEFAULT	0xFFFF
+
 #define GROUP_GLOW_TYPE_DEFAULT 	GlowTextureRectangular
 
 #define GROUP_FADE_TIME_MIN		0.0f
@@ -260,6 +269,34 @@
 	o->rest.i.min = GROUP_BORDER_RADIUS_MIN;
 	o->rest.i.max = GROUP_BORDER_RADIUS_MAX;
 
+	o = &gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTSIZE];
+	o->name = "tabbar_font_size";
+	o->group = N_("Tabbing");
+	o->subGroup = N_("Window title font");
+	o->displayHints = "";
+	o->advanced = False;
+	o->shortDesc = N_("Font Size");
+	o->longDesc =
+	    N_("The size of window title font in the tab bar.");
+	o->type = CompOptionTypeInt;
+	o->value.i = GROUP_TABBAR_FONTSIZE_DEFAULT;
+	o->rest.i.min = GROUP_TABBAR_FONTSIZE_MIN;
+	o->rest.i.max = GROUP_TABBAR_FONTSIZE_MAX;
+
+	o = &gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR];
+	o->name = "tabbar_font_color";
+	o->group = N_("Tabbing");
+	o->subGroup = N_("Window title font");
+	o->displayHints = "";
+	o->advanced = False;
+	o->shortDesc = N_("Font Color");
+	o->longDesc = N_("The color of the window title in the tab bar.");
+	o->type = CompOptionTypeColor;
+	o->value.c[0] = GROUP_COLOR_TABBAR_FONT_RED_DEFAULT;
+	o->value.c[1] = GROUP_COLOR_TABBAR_FONT_GREEN_DEFAULT;
+	o->value.c[2] = GROUP_COLOR_TABBAR_FONT_BLUE_DEFAULT;
+	o->value.c[3] = GROUP_COLOR_TABBAR_FONT_ALPHA_DEFAULT;
+
 	o = &gs->opt[GROUP_SCREEN_OPTION_MOVE];
 	o->name = "move";
 	o->group = N_("General");
@@ -543,6 +580,16 @@
 		}
 		break;
 
+	case GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR:
+		if (compSetColorOption(o, value)) {
+			GroupSelection *group;
+			for (group = gd->groups; group; group = group->next) {
+				groupRenderWindowTitle(s, group);
+			}
+			return TRUE;
+		}
+		break;
+
 	case GROUP_SCREEN_OPTION_GLOW_TYPE:
 		if (compSetStringOption(o, value)) {
 			int i;
@@ -583,6 +630,16 @@
 		}
 		break;
 
+	case GROUP_SCREEN_OPTION_TABBAR_FONTSIZE:
+		if (compSetIntOption(o, value)) {
+			GroupSelection *group;
+			for (group = gd->groups; group; group = group->next) {
+				groupRenderWindowTitle(s, group);
+			}
+			return TRUE;
+		}
+		break;
+
 	case GROUP_SCREEN_OPTION_FADE_TIME:
 	case GROUP_SCREEN_OPTION_VISIBILITY_TIME:
 		if (compSetFloatOption(o, value)) {

Modified: branches/beryl-plugins/group-tabbed/paint.c
===================================================================
--- branches/beryl-plugins/group-tabbed/paint.c	2007-01-02 06:37:33 UTC (rev 2252)
+++ branches/beryl-plugins/group-tabbed/paint.c	2007-01-02 07:11:43 UTC (rev 2253)
@@ -155,7 +155,7 @@
  */
 void groupRenderWindowTitle(CompScreen *s, GroupSelection *group)
 {
-	//GROUP_SCREEN(s);	//we will need it later for font options.
+	GROUP_SCREEN(s);
 	cairo_text_extents_t extents;
 	GroupTabBar *bar;
 	cairo_t *cr;
@@ -176,10 +176,14 @@
 
 	cairo_set_antialias(cr, CAIRO_ANTIALIAS_DEFAULT);
 	cairo_set_line_width(cr, 2);
-	cairo_set_source_rgba(cr, 1.0f, 1.0f, 1.0f, 1.0f);
+	cairo_set_source_rgba(cr, 
+		(gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR].value.c[2] / 65535.0f),
+		(gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR].value.c[1] / 65535.0f),
+		(gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR].value.c[0] / 65535.0f),
+		(gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTCOLOR].value.c[3] / 65535.0f));
 
 	cairo_select_font_face(cr, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); 
-	cairo_set_font_size(cr, 14);
+	cairo_set_font_size(cr, gs->opt[GROUP_SCREEN_OPTION_TABBAR_FONTSIZE].value.i);
 	
 	cairo_text_extents(cr, group->topTab->name, &extents);
 	cairo_save(cr);




More information about the commits mailing list