]> Dogcows Code - chaz/tint2/commitdiff
*fix* removed warnings
authorAndreas Fink <andreas.fink85@googlemail.com>
Mon, 18 Jan 2010 21:11:05 +0000 (21:11 +0000)
committerAndreas Fink <andreas.fink85@googlemail.com>
Mon, 18 Jan 2010 21:11:05 +0000 (21:11 +0000)
*fix* removed unneeded code (backwards compatibility to tint2-0.6 and unneccesary XSetWindowsBackground)
*fix* better heuristicMask algorithm

src/config.c
src/systray/systraybar.c
src/tint.c
src/util/common.c

index db0f1f81042ceae2a342839b023f745f99b75fed..9977574b93b12e91119d4946c7e6f08ac60e191f 100644 (file)
@@ -58,8 +58,6 @@ char *snapshot_path = 0;
 // --------------------------------------------------
 // backward compatibility
 static int old_task_icon_size;
-static int bg_task;
-static int bg_task_active;
 // detect if it's an old config file
 // ==1
 static int old_config_file;
@@ -600,86 +598,6 @@ void add_entry (char *key, char *value)
        else if (strcmp(key, "autohide_height") == 0)
                panel_autohide_height = atoi(value);
 
-
-       // QUESTION: Do we still need backwards compatibility???
-       /* Read tint-0.6 config for backward compatibility */
-       else if (strcmp (key, "panel_mode") == 0) {
-               if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP;
-               else panel_mode = MULTI_DESKTOP;
-       }
-       else if (strcmp (key, "panel_rounded") == 0) {
-               Background bg;
-               bg.border.rounded = atoi(value);
-               g_array_append_val(backgrounds, bg);
-       }
-       else if (strcmp (key, "panel_border_width") == 0) {
-               g_array_index(backgrounds, Background, backgrounds->len-1).border.width = atoi(value);
-       }
-       else if (strcmp (key, "panel_background_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->back.color);
-               if (value2) bg->back.alpha = (atoi (value2) / 100.0);
-               else bg->back.alpha = 0.5;
-       }
-       else if (strcmp (key, "panel_border_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->border.color);
-               if (value2) bg->border.alpha = (atoi (value2) / 100.0);
-               else bg->border.alpha = 0.5;
-       }
-       else if (strcmp (key, "task_text_centered") == 0)
-               panel_config.g_task.centered = atoi (value);
-       else if (strcmp (key, "task_margin") == 0) {
-               panel_config.g_taskbar.area.paddingxlr = 0;
-               panel_config.g_taskbar.area.paddingx = atoi (value);
-       }
-       else if (strcmp (key, "task_icon_size") == 0)
-               old_task_icon_size = atoi (value);
-       else if (strcmp (key, "task_rounded") == 0) {
-               Background bg;
-               bg.border.rounded = atoi(value);
-               g_array_append_val(backgrounds, bg);
-               g_array_append_val(backgrounds, bg);
-               bg_task = backgrounds->len-2;
-               bg_task_active = backgrounds->len-1;
-       }
-       else if (strcmp (key, "task_background_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, bg_task);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->back.color);
-               if (value2) bg->back.alpha = (atoi (value2) / 100.0);
-               else bg->back.alpha = 0.5;
-       }
-       else if (strcmp (key, "task_active_background_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, bg_task_active);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->back.color);
-               if (value2) bg->back.alpha = (atoi (value2) / 100.0);
-               else bg->back.alpha = 0.5;
-       }
-       else if (strcmp (key, "task_border_width") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, bg_task);
-               bg->border.width = atoi (value);
-               bg = &g_array_index(backgrounds, Background, bg_task_active);
-               bg->border.width = atoi (value);
-       }
-       else if (strcmp (key, "task_border_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, bg_task);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->border.color);
-               if (value2) bg->border.alpha = (atoi (value2) / 100.0);
-               else bg->border.alpha = 0.5;
-       }
-       else if (strcmp (key, "task_active_border_color") == 0) {
-               Background* bg = &g_array_index(backgrounds, Background, bg_task_active);
-               extract_values(value, &value1, &value2, &value3);
-               get_color (value1, bg->border.color);
-               if (value2) bg->border.alpha = (atoi (value2) / 100.0);
-               else bg->border.alpha = 0.5;
-       }
-
        else
                fprintf(stderr, "tint2 : invalid option \"%s\", correct your config file\n", key);
 
index 41f93a4e4a100bf7264acf26dbbde44ff85a3598..a0c1f3c716ee275136da229a10b7ed7513de9051 100644 (file)
@@ -113,7 +113,7 @@ void resize_systray(void *obj)
        TrayWindow *traywin;
        GSList *l;
        int count, icon_size;
-       int icons_per_column, icons_per_row, marging;
+       int icons_per_column=1, icons_per_row=1, marging=0;
 
        if (panel_horizontal)
                icon_size = sysbar->area.height;
index 0b9a7197a0e19239a3fc2cd599293ad33d5227a0..502c7b1812670159cb688471b6e8f06481c21582 100644 (file)
@@ -677,13 +677,6 @@ int main (int argc, char *argv[])
                if (panel_refresh) {
                        panel_refresh = 0;
 
-                       // QUESTION: do we need this first refresh_systray, because we check refresh_systray once again later...
-                       // ANSWER: yes, panel->temp_pmap is freeded in the loop.
-                       // we change background to None to avoid tray icon using freeded pixmap.
-                       if (refresh_systray) {
-                               panel = (Panel*)systray.area.panel;
-                               XSetWindowBackgroundPixmap (server.dsp, panel->main_win, None);
-                       }
                        for (i=0 ; i < nb_panel ; i++) {
                                panel = &panel1[i];
 
@@ -799,7 +792,7 @@ int main (int argc, char *argv[])
                                        break;
 
                                        case ClientMessage:
-                                               ev = &e;
+                                               ev = &e.xclient;
                                                if (ev->data.l[1] == server.atom._NET_WM_CM_S0) {
                                                        if (ev->data.l[2] == None)
                                                                // TODO: Stop real_transparency
index 8e213fcf8b72c5308ca93dcfc99ea9b1e6fe7cd9..67ddc5dffe6a2ccace129469ac8c516ecd6b0840 100644 (file)
@@ -241,15 +241,27 @@ void adjust_asb(DATA32 *data, int w, int h, int alpha, float satur, float bright
 
 void createHeuristicMask(DATA32* data, int w, int h)
 {
+       // first we need to find the mask color, therefore we check all 4 edge pixel and take the color which
+       // appears most often (we only need to check three edges, the 4th is implicitly clear)
+       unsigned int topLeft = data[0], topRight = data[w-1], bottomLeft = data[w*h-w], bottomRight = data[w*h-1];
+       int max = (topLeft == topRight) + (topLeft == bottomLeft) + (topLeft == bottomRight);
+       int maskPos = 0;
+       if ( max < (topRight == topLeft) + (topRight == bottomLeft) + (topRight == bottomRight) ) {
+               max = (topRight == topLeft) + (topRight == bottomLeft) + (topRight == bottomRight);
+               maskPos = w-1;
+       }
+       if ( max < (bottomLeft == topRight) + (bottomLeft == topLeft) + (bottomLeft == bottomRight) )
+               maskPos = w*h-w;
+
+       // now mask out every pixel which has the same color as the edge pixels
        unsigned char* udata = (unsigned char*)data;
-       int b = udata[0];
-       int g = udata[1];
-       int r = udata[2];
+       unsigned char b = udata[4*maskPos];
+       unsigned char g = udata[4*maskPos+1];
+       unsigned char r = udata[4*maskPos+1];
        int i;
        for (i=0; i<h*w; ++i) {
-               if ( abs(b-*udata)<5 && abs(g-*(udata+1))<5 && abs(r-*(udata+2))<5 ) {
-                       *(udata+3) = 0;
-               }
+               if ( b-udata[0] == 0 && g-udata[1] == 0 && r-udata[2] == 0 )
+                       udata[3] = 0;
                udata += 4;
        }
 }
This page took 0.024174 seconds and 4 git commands to generate.