1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-11-17 10:35:10 +00:00

small fixes, mostly to graph stuff

git-svn-id: https://conky.svn.sourceforge.net/svnroot/conky/trunk/conky@26 7f574dfc-610e-0410-a909-a81674777703
This commit is contained in:
Brenden Matthews 2005-07-29 02:52:08 +00:00
parent c090f68393
commit 093878ac03
3 changed files with 24 additions and 7 deletions

21
conky.c
View File

@ -240,7 +240,7 @@ static struct special_t *new_special(char *buf, int t)
buf[0] = SPECIAL_CHAR; buf[0] = SPECIAL_CHAR;
buf[1] = '\0'; buf[1] = '\0';
if (t == GRAPH && specials[special_count].graph == NULL) { if (t == GRAPH && specials[special_count].graph == NULL) {
if (specials[special_count].height > 0) if (specials[special_count].height > 0 && specials[special_count].height < MAX_GRAPH_DEPTH)
specials[special_count].graph_width = specials[special_count].height; specials[special_count].graph_width = specials[special_count].height;
else else
specials[special_count].graph_width = MAX_GRAPH_DEPTH; specials[special_count].graph_width = MAX_GRAPH_DEPTH;
@ -2374,6 +2374,7 @@ static void text_size_updater(char *s)
{ {
int w = 0; int w = 0;
char *p; char *p;
int h = font_height();
/* get string widths and skip specials */ /* get string widths and skip specials */
p = s; p = s;
@ -2385,6 +2386,9 @@ static void text_size_updater(char *s)
if (specials[special_index].type == BAR || specials[special_index].type == GRAPH) { if (specials[special_index].type == BAR || specials[special_index].type == GRAPH) {
w += specials[special_index].width; w += specials[special_index].width;
if ( specials[special_index].height > h ) {
h = specials[special_index].height;
}
} }
special_index++; special_index++;
@ -2394,11 +2398,10 @@ static void text_size_updater(char *s)
} }
w += get_string_width(s); w += get_string_width(s);
if (w > text_width) if (w > text_width)
text_width = w; text_width = w;
text_height += font_height(); text_height += h;
} }
static void update_text_area() static void update_text_area()
@ -2559,6 +2562,7 @@ static void draw_string(const char *s)
static void draw_line(char *s) static void draw_line(char *s)
{ {
char *p; char *p;
short font_h = font_height();
cur_x = text_start_x; cur_x = text_start_x;
cur_y += font_ascent(); cur_y += font_ascent();
@ -2656,8 +2660,10 @@ static void draw_line(char *s)
by, by,
w * bar_usage / 255, w * bar_usage / 255,
h); h);
cur_y += h; if (specials[special_index].height > font_h) {
cur_y += specials[special_index].height;
cur_y -= font_descent();
}
} }
break; break;
@ -2697,7 +2703,10 @@ static void draw_line(char *s)
for (i=0;i<specials[special_index].graph_width;i++) { for (i=0;i<specials[special_index].graph_width;i++) {
XDrawLine(display, window.drawable, window.gc, cur_x+(i*w*1.0/specials[special_index].graph_width)+2, by+h, cur_x+(i*w*1.0/specials[special_index].graph_width)+2, by+h-specials[special_index].graph[i]*h/100.0); /* this is mugfugly, but it works */ XDrawLine(display, window.drawable, window.gc, cur_x+(i*w*1.0/specials[special_index].graph_width)+2, by+h, cur_x+(i*w*1.0/specials[special_index].graph_width)+2, by+h-specials[special_index].graph[i]*h/100.0); /* this is mugfugly, but it works */
} }
cur_y += h; if (specials[special_index].height > font_h) {
cur_y += specials[special_index].height;
cur_y -= font_ascent();
}
} }
break; break;

View File

@ -163,7 +163,7 @@ void update_metar()
iret1 = pthread_create(&thread1, NULL, fetch_ftp, NULL); iret1 = pthread_create(&thread1, NULL, fetch_ftp, NULL);
} else if (status == 2) { /* thread is still running. what else can we do? */ } else if (status == 2) { /* thread is still running. what else can we do? */
return; return;
} else { } else { /* status must be 1 */
pthread_join(thread1, NULL); pthread_join(thread1, NULL);
status = 2; status = 2;
iret1 = pthread_create(&thread1, NULL, fetch_ftp, NULL); iret1 = pthread_create(&thread1, NULL, fetch_ftp, NULL);

8
mpd.c
View File

@ -67,12 +67,20 @@ void update_mpd()
} }
if (status->state == MPD_STATUS_STATE_STOP) { if (status->state == MPD_STATUS_STATE_STOP) {
current_info->mpd.status = "Stopped"; current_info->mpd.status = "Stopped";
current_info->mpd.bitrate = 0;
current_info->mpd.progress = 0;
current_info->mpd.elapsed = 0;
current_info->mpd.length = 0;
} }
if (status->state == MPD_STATUS_STATE_PAUSE) { if (status->state == MPD_STATUS_STATE_PAUSE) {
current_info->mpd.status = "Paused"; current_info->mpd.status = "Paused";
} }
if (status->state == MPD_STATUS_STATE_UNKNOWN) { if (status->state == MPD_STATUS_STATE_UNKNOWN) {
current_info->mpd.status = "Unknown"; current_info->mpd.status = "Unknown";
current_info->mpd.bitrate = 0;
current_info->mpd.progress = 0;
current_info->mpd.elapsed = 0;
current_info->mpd.length = 0;
} }
if (status->state == MPD_STATUS_STATE_PLAY || if (status->state == MPD_STATUS_STATE_PLAY ||
status->state == MPD_STATUS_STATE_PAUSE) { status->state == MPD_STATUS_STATE_PAUSE) {