}
}
}
- OBJ(to_bytes) {
+ OBJ(to_bytes) {//commented code is original - not working when input value contains a decimal point
char buf[max_user_text];
- long long bytes;
+ //long long bytes;
+ long double bytes;
char unit[16]; // 16 because we can also have long names (like mega-bytes)
generate_text_internal(buf, max_user_text, *obj->sub, cur);
- if(sscanf(buf, "%lli%s", &bytes, unit) == 2 && strlen(unit) < 16){
- if(strncasecmp("b", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes);
- else if(strncasecmp("k", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024);
- else if(strncasecmp("m", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024);
- else if(strncasecmp("g", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024 * 1024);
- else if(strncasecmp("t", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024 * 1024 * 1024);
+// if(sscanf(buf, "%lli%s", &bytes, unit) == 2 && strlen(unit) < 16){
+// if(strncasecmp("b", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes);
+// else if(strncasecmp("k", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024);
+// else if(strncasecmp("m", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024);
+// else if(strncasecmp("g", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024 * 1024);
+// else if(strncasecmp("t", unit, 1) == 0) snprintf(buf, max_user_text, "%lli", bytes * 1024 * 1024 * 1024 * 1024);
+// }
+ if(sscanf(buf, "%Lf%s", &bytes, unit) == 2 && strlen(unit) < 16){
+ if(strncasecmp("b", unit, 1) == 0) snprintf(buf, max_user_text, "%Lf", bytes);
+ else if(strncasecmp("k", unit, 1) == 0) snprintf(buf, max_user_text, "%Lf", bytes * 1024);
+ else if(strncasecmp("m", unit, 1) == 0) snprintf(buf, max_user_text, "%Lf", bytes * 1024 * 1024);
+ else if(strncasecmp("g", unit, 1) == 0) snprintf(buf, max_user_text, "%Lf", bytes * 1024 * 1024 * 1024);
+ else if(strncasecmp("t", unit, 1) == 0) snprintf(buf, max_user_text, "%Lf", bytes * 1024 * 1024 * 1024 * 1024);
}
snprintf(p, p_max_size, "%s", buf);
}
{
#ifdef HAVE_XDBE
if (use_xdbe) {
- /* The swap action is XdbeBackground, which clears */
+/*
+ The swap action is XdbeBackground, which clears
return;
+*/
+ if (display && window.back_buffer) { // make sure these are !null
+ /* there is some extra space for borders and outlines */
+ XFillRectangle(display, window.back_buffer, window.gc_back,
+ text_start_x - window.border_inner_margin - window.border_outer_margin - window.border_width,
+ text_start_y - window.border_inner_margin - window.border_outer_margin - window.border_width,
+ text_width + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2,
+ text_height + window.border_inner_margin * 2 + window.border_outer_margin * 2 + window.border_width * 2);
+ }
+
+
} else
#endif
if (display && window.window) { // make sure these are !null
draw_stuff(); /* redraw everything in our newly sized window */
XResizeWindow(display, window.window, window.width,
window.height); /* resize window */
+ fprintf(stderr, PACKAGE_NAME": resizing window to %d x %d\n",window.width,window.height);
+#ifdef HAVE_XDBE
+ if (use_xdbe) {
+ XFreePixmap(display, window.back_buffer);
+ window.back_buffer = XCreatePixmap(display, window.window,
+ window.width, window.height, window.depth);
+ if (window.back_buffer != None)
+ window.drawable = window.back_buffer;
+ else {
+ window.drawable = window.window;
+ use_xdbe = 0;
+ }
+ }
+#endif
set_transparent_background(window.window, own_window_argb_value);
#ifdef HAVE_XDBE
/* swap buffers */
window.window, &attrs)) {
window.width = attrs.width;
window.height = attrs.height;
+ fprintf(stderr, PACKAGE_NAME": x11? resized our window to %d x %d\n",window.width,window.height);
+ }
+#ifdef HAVE_XDBE
+ if (use_xdbe) {
+ XFreePixmap(display, window.back_buffer);
+ window.back_buffer = XCreatePixmap(display, window.window,
+ window.width, window.height, window.depth);
+ if (window.back_buffer != None)
+ window.drawable = window.back_buffer;
+ else {
+ window.drawable = window.window;
+ use_xdbe = 0;
+ }
}
+#endif
}
text_width = window.width - window.border_inner_margin * 2 - window.border_outer_margin * 2 - window.border_width * 2;
{
terminate = 1;
}
+ if (ev.xbutton.x <= 50 && ev.xbutton.y <= 50)
+ { //minimize / goto task switcher
+ dbus_exit_app_view();
+ }
break;
} else {
/* forward the click to the desktop window */
} else {
#endif /* X11 */
t = (next_update_time - get_time()) * 1000000;
+ fprintf(stderr, PACKAGE_NAME": trying to sleep %d microseconds\n",t);
if(t > 0) usleep((useconds_t)t);
update_text();
draw_stuff();