more less sucking code
authorMikael Magnusson <mikachu@comhem.se>
Mon, 4 Jun 2007 19:47:35 +0000 (19:47 +0000)
committerMikael Magnusson <mikachu@comhem.se>
Mon, 4 Jun 2007 19:47:35 +0000 (19:47 +0000)
rspanel.c

index 7b56275..7d3cc10 100644 (file)
--- a/rspanel.c
+++ b/rspanel.c
@@ -179,7 +179,7 @@ enum {
     TOGGLE
 };
 
-void *get_prop_data(Window win, Atom prop, Atom type, int *items)
+static void *get_prop_data(Window win, Atom prop, Atom type, int *items)
 {
     Atom type_ret;
     int format_ret;
@@ -197,22 +197,22 @@ void *get_prop_data(Window win, Atom prop, Atom type, int *items)
     return prop_data;
 }
 
-void set_foreground(int index)
+static void set_foreground(int index)
 {
     XSetForeground(dd, fore_gc, palette[index]);
 }
 
-void draw_line(int x, int y, int a, int b)
+static void draw_line(int x, int y, int a, int b)
 {
     XDrawLine(dd, tb.win, fore_gc, x, y, a, b);
 }
 
-void fill_rect(int x, int y, int a, int b)
+static void fill_rect(int x, int y, int a, int b)
 {
     XFillRectangle(dd, tb.win, fore_gc, x, y, a, b);
 }
 
-void scale_icon(task * tk)
+static void scale_icon(task * tk)
 {
     int xx, yy, x, y;
     unsigned int w, h, d, bw;
@@ -254,7 +254,7 @@ void scale_icon(task * tk)
     tk->icon = pix;
 }
 
-void get_task_hinticon(task * tk)
+static void get_task_hinticon(task * tk)
 {
     XWMHints *hin;
 
@@ -290,7 +290,7 @@ void get_task_hinticon(task * tk)
     }
 }
 
-void get_task_kdeicon(task * tk)
+static void get_task_kdeicon(task * tk)
 {
     unsigned long *data;
 
@@ -302,7 +302,7 @@ void get_task_kdeicon(task * tk)
     }
 }
 
-int generic_get_int(Window win, Atom at)
+static int generic_get_int(Window win, Atom at)
 {
     int num = 0;
     unsigned long *data;
@@ -315,12 +315,12 @@ int generic_get_int(Window win, Atom at)
     return num;
 }
 
-int find_desktop(Window win)
+static int find_desktop(Window win)
 {
     return generic_get_int(win, atoms[_NET_WM_DESKTOP]);
 }
 
-int find_state(Window win, atom_t atom)
+static int find_state(Window win, atom_t atom)
 {
     unsigned long *data;
     int ret = 0;
@@ -338,32 +338,32 @@ int find_state(Window win, atom_t atom)
 }
 
 /* this naming is very confusing :) */
-int is_hidden(Window win)
+static int is_hidden(Window win)
 {
     return find_state(win, _NET_WM_STATE_SKIP_TASKBAR);
 }
 
-int is_iconified(Window win)
+static int is_iconified(Window win)
 {
     return find_state(win, _NET_WM_STATE_HIDDEN);
 }
 
-int is_shaded(Window win)
+static int is_shaded(Window win)
 {
     return find_state(win, _NET_WM_STATE_SHADED);
 }
 
-int get_current_desktop(void)
+static int get_current_desktop(void)
 {
     return generic_get_int(root_win, atoms[_NET_CURRENT_DESKTOP]);
 }
 
-int get_number_of_desktops(void)
+static int get_number_of_desktops(void)
 {
     return generic_get_int(root_win, atoms[_NET_NUMBER_OF_DESKTOPS]);
 }
 
-void add_task(Window win, int focus)
+static void add_task(Window win, int focus)
 {
     task *tk, *list;
     int desk;
@@ -410,13 +410,13 @@ void add_task(Window win, int focus)
     }
 }
 
-void set_prop(Window win, Atom at, Atom type, long val)
+static void set_prop(Window win, Atom at, Atom type, long val)
 {
     XChangeProperty(dd, win, at, type, 32,
                     PropModeReplace, (unsigned char *)&val, 1);
 }
 
-Window gui_create_taskbar(void)
+static Window gui_create_taskbar(void)
 {
     Window win;
     MWMHints mwm;
@@ -491,19 +491,8 @@ Window gui_create_taskbar(void)
 
     return win;
 }
-#ifdef OBRENDER
-static void set_default_appearance(RrAppearance *a)
-{
-    a->surface.grad = RR_SURFACE_SOLID;
-    a->surface.relief = RR_RELIEF_FLAT;
-    a->surface.bevel = RR_BEVEL_1;
-    a->surface.interlaced = FALSE;
-    a->surface.border = FALSE;
-    a->surface.primary = RrColorNew(a->inst, 0, 0, 0);
-    a->surface.secondary = RrColorNew(a->inst, 0, 0, 0);
-}
-#endif
-void gui_init(void)
+
+static void gui_init(void)
 {
     XGCValues gcv;
     XColor xcl;
@@ -573,30 +562,37 @@ void gui_init(void)
 #endif
 #ifdef OBRENDER
     inst = RrInstanceNew(dd, scr_screen);
-    set_default_appearance(background = RrAppearanceNew(inst, 0));
-    set_default_appearance(focused_task = RrAppearanceNew(inst, 0));
-    set_default_appearance(unfocused_task = RrAppearanceNew(inst, 0));
-    set_default_appearance(normal_text = RrAppearanceNew(inst, 1));
-    background->surface.grad = RR_SURFACE_SPLIT_VERTICAL;
-    background->surface.secondary = RrColorNew(inst, 90, 0, 150);
-    background->surface.primary = RrColorNew(inst, 90, 80, 150);
+    background = RrAppearanceNew(inst, 0);
+    focused_task = RrAppearanceNew(inst, 0);
+    unfocused_task = RrAppearanceNew(inst, 0);
+    normal_text = RrAppearanceNew(inst, 1);
+
+    background->surface.grad = RR_SURFACE_VERTICAL;
+    background->surface.primary = RrColorNew(inst, 170, 170, 190);
+    background->surface.secondary = RrColorNew(inst, 100, 100, 160);
+
     unfocused_task->surface.parent = background;
     unfocused_task->surface.grad = RR_SURFACE_PARENTREL;
+//    unfocused_task->surface.relief = RR_RELIEF_SUNKEN;
+
     focused_task->surface.parent = background;
     focused_task->surface.grad = RR_SURFACE_CROSS_DIAGONAL;
-    focused_task->surface.secondary = RrColorNew(inst, 50, 60, 110);
-    focused_task->surface.primary = RrColorNew(inst, 90, 120, 250);
+    focused_task->surface.secondary = RrColorNew(inst, 70, 80, 110);
+    focused_task->surface.primary = RrColorNew(inst, 130, 160, 250);
+    focused_task->surface.relief = RR_RELIEF_RAISED;
+
     normal_text->surface.grad = RR_SURFACE_PARENTREL;
     normal_text->texture[0].type = RR_TEXTURE_TEXT;
     normal_text->texture[0].data.text.font = RrFontOpenDefault(inst);
     normal_text->texture[0].data.text.justify = RR_JUSTIFY_LEFT;
+
     iconified_text = RrAppearanceCopy(normal_text);
-    normal_text->texture[0].data.text.color = RrColorNew(inst, 200, 200, 200);
-    iconified_text->texture[0].data.text.color = RrColorNew(inst, 0, 150, 0);
+    normal_text->texture[0].data.text.color = RrColorNew(inst, 230, 230, 255);
+    iconified_text->texture[0].data.text.color = RrColorNew(inst, 40, 40, 80);
 #endif
 }
 
-void gui_draw_vline(int x)
+static void gui_draw_vline(int x)
 {
     set_foreground(4);
     draw_line(x, 0, x, WINHEIGHT);
@@ -604,7 +600,7 @@ void gui_draw_vline(int x)
     draw_line(x + 1, 0, x + 1, WINHEIGHT);
 }
 
-void draw_box(int x, int width)
+static void draw_box(int x, int width)
 {
     set_foreground(1);                /* mid gray */
     fill_rect(x + 3, 2, width - 2, WINHEIGHT - 4);
@@ -620,7 +616,7 @@ void draw_box(int x, int width)
 
 #ifdef OBRENDER
 #define PADDING 4
-void gui_draw_task(task *tk)
+static void gui_draw_task(task *tk)
 {
     RrAppearance *a = (tk->iconified || tk->shaded) ? iconified_text : normal_text;
     RrAppearance *b = tk->focused ? focused_task : unfocused_task;
@@ -641,7 +637,7 @@ void gui_draw_task(task *tk)
     XFreePixmap(dd, b->pixmap);
 }
 #else
-void gui_draw_task(task * tk)
+static void gui_draw_task(task * tk)
 {
     int x = tk->pos_x;
     int taskw = tk->width;
@@ -762,7 +758,7 @@ void gui_draw_task(task * tk)
 }
 #endif
 
-void draw_dot(int x, int y)
+static void draw_dot(int x, int y)
 {
     set_foreground(4);
     XDrawPoint(dd, tb.win, fore_gc, x, y);
@@ -770,7 +766,7 @@ void draw_dot(int x, int y)
     XDrawPoint(dd, tb.win, fore_gc, x + 1, y + 1);
 }
 
-void draw_grill(int x)
+static void draw_grill(int x)
 {
     int y = 0;
     while (y < WINHEIGHT - 4) {
@@ -780,7 +776,7 @@ void draw_grill(int x)
     }
 }
 
-void netwm_action(Window win, atom_t atom, Time time, long l)
+static void netwm_action(Window win, atom_t atom, Time time, long l)
 {
     XClientMessageEvent xev = {
     .type = ClientMessage,
@@ -814,7 +810,7 @@ void netwm_action(Window win, atom_t atom, Time time, long l)
 
 #ifdef PAGER
 
-void switch_desk(int new_desk, Time time)
+static void switch_desk(int new_desk, Time time)
 {
     if (get_number_of_desktops() <= new_desk)
         return;
@@ -823,7 +819,7 @@ void switch_desk(int new_desk, Time time)
 }
 
 /* This doesn't work with pango yet */
-void pager_draw_button(int x, int num)
+static void pager_draw_button(int x, int num)
 {
     char label;
 #ifdef XFT
@@ -856,7 +852,7 @@ void pager_draw_button(int x, int num)
 #endif
 }
 
-void pager_draw(void)
+static void pager_draw(void)
 {
     int desks, i, x = GRILL_WIDTH;
 
@@ -874,7 +870,7 @@ void pager_draw(void)
 
 #endif
 
-void gui_draw_taskbar(void)
+static void gui_draw_taskbar(void)
 {
     task *tk;
     int x, width, taskw;
@@ -889,8 +885,9 @@ void gui_draw_taskbar(void)
     width = WINWIDTH - (pager_size + GRILL_WIDTH);
 #ifdef OBRENDER
 #warning only rerender if width changed!
-    RrPaintPixmap(background, width, WINHEIGHT);
-    XCopyArea(dd, background->pixmap, tb.win, fore_gc, 0, 0, width, WINHEIGHT, x, 0);
+    XFreePixmap(dd, RrPaintPixmap(background, width, WINHEIGHT));
+    XSetWindowBackgroundPixmap(dd, tb.win, background->pixmap);
+    XClearWindow(dd, tb.win);
 #endif
     if (tb.num_tasks == 0)
         goto clear;
@@ -908,6 +905,9 @@ void gui_draw_taskbar(void)
         tk = tk->next;
     }
 
+#ifdef OBRENDER
+clear:{}
+#else
     if (x < (width + pager_size + 2)) {
 clear:
         gui_draw_vline(x);
@@ -920,9 +920,10 @@ clear:
 
     draw_grill(2);
     draw_grill(WINWIDTH - 6);
+#endif
 }
 
-task *find_task(Window win)
+static task *find_task(Window win)
 {
     task *list = tb.task_list;
     while (list) {
@@ -933,7 +934,7 @@ task *find_task(Window win)
     return 0;
 }
 
-void del_task(Window win)
+static void del_task(Window win)
 {
     task *next, *prev = 0, *list = tb.task_list;
 
@@ -961,7 +962,7 @@ void del_task(Window win)
     }
 }
 
-void move_taskbar(void)
+static void move_taskbar(void)
 {
     int x, y;
 
@@ -976,7 +977,7 @@ void move_taskbar(void)
     XMoveWindow(dd, tb.win, x, y);
 }
 
-void taskbar_read_clientlist(void)
+static void taskbar_read_clientlist(void)
 {
     Window *win, focus_win = 0;
     int num, i, desk, new_desk = 0;
@@ -1029,7 +1030,7 @@ dontdel:
     XFree(win);
 }
 
-void handle_press(int x, int y, int button, Time time)
+static void handle_press(int x, int y, int button, Time time)
 {
     task *tk;
 
@@ -1128,7 +1129,7 @@ void handle_press(int x, int y, int button, Time time)
     }
 }
 
-void handle_focusin(Window win)
+static void handle_focusin(Window win)
 {
     task *tk;
 
@@ -1149,7 +1150,7 @@ void handle_focusin(Window win)
     }
 }
 
-void handle_propertynotify(Window win, Atom at)
+static void handle_propertynotify(Window win, Atom at)
 {
     task *tk;
 
@@ -1204,7 +1205,7 @@ void handle_propertynotify(Window win, Atom at)
     }
 }
 
-void handle_error(Display * d, XErrorEvent * ev)
+static void handle_error(Display * d, XErrorEvent * ev)
 {
 }