[Xfce4-commits] <xfce4-radio-plugin:master> The graphical signal strength indicator should work now

Stefan Ott noreply at xfce.org
Thu May 19 23:06:01 CEST 2011


Updating branch refs/heads/master
         to 5a2c8b8c285d2a395f4bea790f7bba0cdef636e1 (commit)
       from 2db05b928d814625b9cd0cec7b5b6d3223166a95 (commit)

commit 5a2c8b8c285d2a395f4bea790f7bba0cdef636e1
Author: Stefan Ott <stefan at ott.net>
Date:   Thu May 19 22:47:18 2011 +0200

    The graphical signal strength indicator should work now

 icons/signal.xpm           |  172 ++++++++------------------------------------
 panel-plugin/xfce4-radio.c |   14 ++--
 2 files changed, 38 insertions(+), 148 deletions(-)

diff --git a/icons/signal.xpm b/icons/signal.xpm
index 1b19732..3c3abe3 100644
--- a/icons/signal.xpm
+++ b/icons/signal.xpm
@@ -1,144 +1,32 @@
 /* XPM */
 static char * signal_xpm[] = {
-"100 30 111 2",
-"  	c None",
-". 	c #020202",
-"+ 	c #010101",
-"@ 	c #000000",
-"# 	c #051506",
-"$ 	c #0D5612",
-"% 	c #14861B",
-"& 	c #18A320",
-"* 	c #19AC22",
-"= 	c #030C04",
-"- 	c #106A16",
-"; 	c #1AB624",
-"> 	c #1BBB25",
-", 	c #061E07",
-"' 	c #179F20",
-") 	c #16951E",
-"! 	c #0E5912",
-"~ 	c #09350C",
-"{ 	c #072A0A",
-"] 	c #041205",
-"^ 	c #0D5111",
-"/ 	c #127A19",
-"( 	c #051B07",
-"_ 	c #19A922",
-": 	c #18A521",
-"< 	c #09370C",
-"[ 	c #041305",
-"} 	c #020402",
-"| 	c #0E5B13",
-"1 	c #1AB324",
-"2 	c #030703",
-"3 	c #16991F",
-"4 	c #127B19",
-"5 	c #0F6214",
-"6 	c #0C5011",
-"7 	c #0E5C13",
-"8 	c #041405",
-"9 	c #040F04",
-"0 	c #0C4B10",
-"a 	c #0F6114",
-"b 	c #0F5F14",
-"c 	c #1AB524",
-"d 	c #0B470F",
-"e 	c #041005",
-"f 	c #030B04",
-"g 	c #19AF23",
-"h 	c #0A3A0D",
-"i 	c #051906",
-"j 	c #1BBA25",
-"k 	c #0A3C0D",
-"l 	c #16921D",
-"m 	c #051A06",
-"n 	c #072408",
-"o 	c #1AB424",
-"p 	c #0F6314",
-"q 	c #137E19",
-"r 	c #137C19",
-"s 	c #0C4F11",
-"t 	c #2B2B2B",
-"u 	c #565656",
-"v 	c #1C1C1C",
-"w 	c #137D19",
-"x 	c #09380C",
-"y 	c #16961E",
-"z 	c #09340B",
-"A 	c #17A020",
-"B 	c #062208",
-"C 	c #202020",
-"D 	c #A5A5A5",
-"E 	c #A8A8A8",
-"F 	c #9A9A9A",
-"G 	c #0A0A0A",
-"H 	c #19AD22",
-"I 	c #1AB223",
-"J 	c #040E04",
-"K 	c #030A04",
-"L 	c #3F3F3F",
-"M 	c #1E1E1E",
-"N 	c #14891C",
-"O 	c #020302",
-"P 	c #1AB724",
-"Q 	c #1BB925",
-"R 	c #030903",
-"S 	c #1BB824",
-"T 	c #131313",
-"U 	c #878787",
-"V 	c #050505",
-"W 	c #179D1F",
-"X 	c #19AE22",
-"Y 	c #141B14",
-"Z 	c #060D06",
-"` 	c #051A07",
-" .	c #555555",
-"..	c #343434",
-"+.	c #0D5412",
-"@.	c #13821A",
-"#.	c #0D5011",
-"$.	c #0B430E",
-"%.	c #14891B",
-"&.	c #106715",
-"*.	c #14881B",
-"=.	c #020603",
-"-.	c #19AE23",
-";.	c #041105",
-">.	c #15921D",
-",.	c #106B16",
-"'.	c #082C0A",
-").	c #0F6014",
-"!.	c #111111",
-"~.	c #1F1F1F",
-"{.	c #0B0B0B",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . . + + @ @ @ + + . . . . . . . . . . . . . . . . . # $ % & * & % $ # . . . . . . . . ",
-". . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . . + @ @ @ @ @ @ @ @ @ + . . . . . . . . . . . . . = - ; > > > > > > > ; - = . . . . . . ",
-". . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . . @ @ @ @ + + . + + @ @ @ @ . . . . . . . . . . . , ' > > ) ! ~ { ~ ! ) > > ' , . . . . . ",
-". . . . . @ @ @ + . + + + + + . + @ @ @ . . . . . . . . . . @ @ @ + . + + + + + . + @ @ @ . . . . . . . . . . @ @ @ + ] ^ / % / ^ ] + @ @ @ . . . . . . . . . ( _ > : < [ ^ / % / ^ [ < : > _ ( . . . . ",
-". . . . @ @ @ . + @ @ @ @ @ @ @ + . @ @ @ . . . . . . . . @ @ @ . + @ @ @ @ @ @ @ + . @ @ @ . . . . . . . . @ @ @ } | 1 > > > > > 1 | } @ @ @ . . . . . . . 2 3 > ) [ | 1 > > > > > 1 | [ ) > 3 2 . . . ",
-". . . + @ @ . + @ @ @ + + + @ @ @ + . @ @ + . . . . . . + @ @ . + @ @ @ + + + @ @ @ + . @ @ + . . . . . . + @ @ } 4 > > 3 5 6 5 3 > > 4 } @ @ + . . . . . . 7 > : 8 4 > > 3 5 6 5 3 > > 4 8 : > 7 . . . ",
-". . . @ @ + + @ @ + . + + + . + @ @ + + @ @ . . . . . . @ @ + + @ @ + 9 0 a 0 9 + @ @ + + @ @ . . . . . . @ @ + b > c d e 0 a 0 e d c > b + @ @ . . . . . f g > < b > c d e 0 a 0 e d c > b < > g f . . ",
-". . + @ @ . @ @ + + @ @ @ @ @ + + @ @ . @ @ + . . . . + @ @ . @ @ + h g > > > g h + @ @ . @ @ + . . . . + @ @ i ; j k h g > > > g h k j ; i @ @ + . . . . d > l m ; j k h g > > > g h k j ; m l > d . . ",
-". . + @ + + @ + . @ @ + + + @ @ . + @ + + @ + . . . . + @ + + @ + n c o a k a o c n + @ + + @ + . . . . + @ + p > q n c o a k a o c n q > p + @ + . . . . r > s p > q n c o a k a o c n q > p s > r . . ",
-". . @ @ . @ @ + + @ + t u v + @ + + @ @ . @ @ . . . . @ @ . @ @ + w > x t u v x > w + @ @ . @ @ . . . . @ @ . y > z w > x t u v x > w z > y . @ @ . . . . A > B y > z w > x t u v x > w z > y B > A . . ",
-". . @ @ . @ @ . @ @ C D E F G @ @ . @ @ . @ @ . . . . @ @ . @ @ . H 3 C D E F G 3 H . @ @ . @ @ . . . . @ @ . I > J H 3 C D E F G 3 H J > I . @ @ . . . . o > K I > J H 3 C D E F G 3 H J > I K > o . . ",
-". . @ @ . @ @ . @ + L E E E M + @ . @ @ . @ @ . . . . @ @ . @ @ } ; N L E E E M N ; } @ @ . @ @ . . . . @ @ O P Q R ; N L E E E M N ; R Q P O @ @ . . . . S j 2 P Q R ; N L E E E M N ; R Q P 2 j S . . ",
-". . @ @ . @ @ . @ @ T F E U V @ @ . @ @ . @ @ . . . . @ @ . @ @ . W X Y F E U Z X W . @ @ . @ @ . . . . @ @ . _ > ` W X Y F E U Z X W ` > _ . @ @ . . . . H > ] _ > ` W X Y F E U Z X W ` > _ ] > H . . ",
-". . @ @ + + @ + + + .  .E ... + + + @ + + @ @ . . . . @ @ + + @ + +.- ]  .E ..] - +.+ @ + + @ @ . . . . @ @ + @.> #.+.- ]  .E ..] - +.#.> @.+ @ @ . . . . l > z @.> #.+.- ]  .E ..] - +.#.> @.z > l . . ",
-". . + @ + + @ + . . .  .E ... . . + @ + + @ + . . . . + @ + + @ + . . .  .E ... . . + @ + + @ + . . . . + @ + $.> %.. . .  .E ... . . %.> $.+ @ + . . . . &.> - $.> *.. . .  .E ... . . *.> $.- > &.. . ",
-". . . @ @ . + . . . .  .E ... . . . + . @ @ . . . . . . @ @ . + . . . .  .E ... . . . + . @ @ . . . . . . @ @ =.% 8 . . .  .E ... . . 8 % =.@ @ . . . . . { > -.;.% 8 . . .  .E ... . . 8 % ;.-.> { . . ",
-". . . @ @ + . . . . .  .E ... . . . . + @ @ . . . . . . @ @ + . . . . .  .E ... . . . . + @ @ . . . . . . @ @ + O . . . .  .E ... . . . O + @ @ . . . . . . >.> ,.O . . . .  .E ... . . . O - > >.. . . ",
-". . . . @ + . . . . .  .E ... . . . . + @ . . . . . . . . @ + . . . . .  .E ... . . . . + @ . . . . . . . . @ + . . . . .  .E ... . . . . + @ . . . . . . . '.Q % . . . . .  .E ... . . . . % Q '.. . . ",
-". . . . + + . . . . .  .E ... . . . . + + . . . . . . . . + + . . . . .  .E ... . . . . + + . . . . . . . . + + . . . . .  .E ... . . . . + + . . . . . . . . ).$.. . . . .  .E ... . . . . $.).. . . . ",
-". . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . O R . . . . .  .E ... . . . . R O . . . . ",
-". . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . ",
-". . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . ",
-". . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . . . . . . . . . . . .  .E ... . . . . . . . . . . ",
-". . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . . . . . . . . . . . . !.~.{.. . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
-". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
+"100 24 5 1",
+" 	c None",
+".	c #D4D4D4",
+"+	c #00C264",
+"@	c #FFB300",
+"#	c #F40000",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"     ...............          ...............          ...............          +++++++++++++++     ",
+"     ...............          ...............          ...............          +++++++++++++++     ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"     ...............          ...............          @@@@@@@@@@@@@@@          +++++++++++++++     ",
+"     ...............          ...............          @@@@@@@@@@@@@@@          +++++++++++++++     ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"     ...............          ###############          @@@@@@@@@@@@@@@          +++++++++++++++     ",
+"     ...............          ###############          @@@@@@@@@@@@@@@          +++++++++++++++     ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    ",
+"                                                                                                    "};
diff --git a/panel-plugin/xfce4-radio.c b/panel-plugin/xfce4-radio.c
index b974f3c..2ef04a3 100644
--- a/panel-plugin/xfce4-radio.c
+++ b/panel-plugin/xfce4-radio.c
@@ -55,21 +55,22 @@
 #include <gdk/gdkkeysyms.h>
 
 #define SIGNAL_WIDTH 25
-#define SIGNAL_HEIGHT 27
-
-static GdkPixmap *signal_s;
+#define SIGNAL_HEIGHT 24
 
 static void
 update_signal_image(radio_gui* data, gint signal)
 {
 	GdkImage *image;
+	GdkBitmap *mask;
+	GdkPixmap *signal_s;
 
 	signal_s = gdk_pixmap_create_from_xpm_d
-		(GTK_WIDGET(data->plugin)->window, NULL, NULL, signal_xpm);
+		(GTK_WIDGET(data->plugin)->window, &mask, NULL, signal_xpm);
 	image = gdk_drawable_get_image(signal_s, SIGNAL_WIDTH * signal, 0,
 		SIGNAL_WIDTH, SIGNAL_HEIGHT);
 
-	gtk_image_set_from_image(GTK_IMAGE(data->signal_image), image, NULL);
+	gtk_widget_hide(data->signal_image);
+	gtk_image_set_from_image(GTK_IMAGE(data->signal_image), image, mask);
 	gtk_widget_show(data->signal_image);
 
 	if (GTK_WIDGET(data->signal_image)->parent == NULL)
@@ -77,8 +78,9 @@ update_signal_image(radio_gui* data, gint signal)
 		gtk_box_pack_start(GTK_BOX(data->outer_box),
 			data->signal_image, FALSE, FALSE, 1);
 	}
-	g_object_unref(signal_s);
 	g_object_unref(image);
+	g_object_unref(mask);
+	g_object_unref(signal_s);
 }
 
 static void



More information about the Xfce4-commits mailing list