Image 01
profile-image

kritzner

Arndt Kritzner
Karamba & Superkaramba
test
wall calendar (Dreimonatskalender)

Karamba & Superkaramba 14 comments

Score 50.0%
Dec 30 2009
Currently there are no plans to integrate an additional clock function. For this purpose there are excellent other widgets that can be used. - Jan 06 2010
In version 1.3.2 there is a bugfix that eventually matches this problem description. The bugfix solves that current day in january might be displayed one week in future. - Jan 06 2010
Locale support comes from within python. In the source itself there are no hard coded month or day names and no "Umlaut"-characters (ä,ö,ü,ß ...) at all.

I have also switched to UTF-8 and month names (e.g. März) are displayed correctly. My installed program versions are:
KDE 4.3.4
Python 2.6.4 - Dec 29 2009
For correct alignment of background objects (red rectangles) and numbers the "Luxi" font is needed (but can be changed in theme file). Probably your described misalignment of humbers and rectangles is caused by the lack of this font. - Dec 29 2009
On my printed wall calendar week 1/2008 starts on december 31 2007. This is exactly the same as on the caramba widget. If the week doesn't start on monday this may vary eventually. - Jan 25 2008
Ok. Realized in version 1.1 (thanks to your participation ;-) ). - Apr 14 2007
The color of the navigation controls comes from 3 small icons. If you change the colors in pics/rueckwaerts.png, pics/vorwaerts.png and pics/jetzt.png to whatever you want this will solve your problem. You can do this very easy with gimp by "select by color" and replace this selection by the color you want. - Mar 25 2007
Commi

Various KDE Stuff 2 comments

Score 50.0%
Oct 25 2004
diff commi-0.3.1/CHANGELOG commi-0.3.1a/CHANGELOG
0a1,2
> 2008/02/07 Arndt Kritzner
> * Handling of escape sequences in send function
diff commi-0.3.1/commimainform.ui.h commi-0.3.1a/commimainform.ui.h
513a514,578
> // Patch AK 20080207: handling of escape sequences
> int CommiMainForm::UnEscape(char *target, const char *source)
> {
> int result = 0;
> char *position = (char *)source;
> int sourcelen = strlen(source);
> unsigned char hexVal;
> unsigned Digits;
> while ((position-source)<sourcelen) {
> // printf("CommiMainForm::UnEscape [%d]->[%d] 0x%x, (%s)\n",position-source,result,*position,position);
> switch (*position) {
> case '\\': position++;
> if ((position-source)<sourcelen) {
> switch (*position) {
> case '\\': target[result] = '\\';
> break;
> case 'a': target[result] = '\x07';
> break;
> case 'b': target[result] = '\x08';
> break;
> case 'f': target[result] = '\x0c';
> break;
> case 'n': target[result] = '\x0a';
> break;
> case 'r': target[result] = '\x0d';
> break;
> case 't': target[result] = '\x09';
> break;
> case 'v': target[result] = '\x0b';
> break;
> case 'x': hexVal = 0;
> Digits = 0;
> position++;
> while (((position-source)<sourcelen) && (Digits<2) && (strchr("0123456789abcdefABCDEF",*position)!=NULL)) {
> hexVal<<=4;
> if (*position>='a')
> hexVal+=10+(*position-'a');
> else
> if (*position>='A')
> hexVal+=10+(*position-'A');
> else
> hexVal+=(*position-'0');
> position++;
> Digits++;
> }
> position--;
> target[result] = hexVal;
> break;
> default: target[result] = '\\';
> position--;
> break;
> }
> } else
> target[result] = '\\';
> break;
> default: target[result] = *position;
> break;
> }
> result++;
> position++;
> }
> target[result] = '\0';
> return result;
> }
>
517c582,588
< for (unsigned int i=0; i<s.length(); i++)
---
> char *binarybytes=new char[strlen(bytes)+1];
> unsigned int bytecount;
> bool is_binary;
> bytecount = UnEscape(binarybytes,bytes);
> is_binary = (strcmp(bytes,binarybytes) != 0);
> // printf("CommiMainForm::sendString [%s] =(%d)> [%s] (%d)\n",bytes,bytecount,binarybytes,is_binary);
> for (unsigned int i=0; i<bytecount; i++)
519c590
< if (!sendByte(*bytes))
---
> if (!sendByte(*binarybytes))
521c592
< bytes++;
---
> binarybytes++;
523a595
> if (!is_binary) {
525a598
> }
- Feb 07 2008
diff commi-0.3.1/CHANGELOG commi-0.3.1a/CHANGELOG
0a1,2
> 2008/02/07 Arndt Kritzner
> * Handling of escape sequences in send function
diff commi-0.3.1/commimainform.ui.h commi-0.3.1a/commimainform.ui.h
513a514,578
> // Patch AK 20080207: handling of escape sequences
> int CommiMainForm::UnEscape(char *target, const char *source)
> {
> int result = 0;
> char *position = (char *)source;
> int sourcelen = strlen(source);
> unsigned char hexVal;
> unsigned Digits;
> while ((position-source)<sourcelen) {
> // printf("CommiMainForm::UnEscape [%d]->[%d] 0x%x, (%s)\n",position-source,result,*position,position);
> switch (*position) {
> case '\\': position++;
> if ((position-source)<sourcelen) {
> switch (*position) {
> case '\\': target[result] = '\\';
> break;
> case 'a': target[result] = '\x07';
> break;
> case 'b': target[result] = '\x08';
> break;
> case 'f': target[result] = '\x0c';
> break;
> case 'n': target[result] = '\x0a';
> break;
> case 'r': target[result] = '\x0d';
> break;
> case 't': target[result] = '\x09';
> break;
> case 'v': target[result] = '\x0b';
> break;
> case 'x': hexVal = 0;
> Digits = 0;
> position++;
> while (((position-source)<sourcelen) && (Digits<2) && (strchr("0123456789abcdefABCDEF",*position)!=NULL)) {
> hexVal<<=4;
> if (*position>='a')
> hexVal+=10+(*position-'a');
> else
> if (*position>='A')
> hexVal+=10+(*position-'A');
> else
> hexVal+=(*position-'0');
> position++;
> Digits++;
> }
> position--;
> target[result] = hexVal;
> break;
> default: target[result] = '\\';
> position--;
> break;
> }
> } else
> target[result] = '\\';
> break;
> default: target[result] = *position;
> break;
> }
> result++;
> position++;
> }
> target[result] = '\0';
> return result;
> }
>
517c582,588
< for (unsigned int i=0; i<s.length(); i++)
---
> char *binarybytes=new char[strlen(bytes)+1];
> unsigned int bytecount;
> bool is_binary;
> bytecount = UnEscape(binarybytes,bytes);
> is_binary = (strcmp(bytes,binarybytes) != 0);
> // printf("CommiMainForm::sendString [%s] =(%d)> [%s] (%d)\n",bytes,bytecount,binarybytes,is_binary);
> for (unsigned int i=0; i<bytecount; i++)
519c590
< if (!sendByte(*bytes))
---
> if (!sendByte(*binarybytes))
521c592
< bytes++;
---
> binarybytes++;
523a595
> if (!is_binary) {
525a598
> }
- Feb 07 2008