mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-15 09:44:04 +00:00
The HAPPY NEW YEAR commit
This should close sf #2850092.
Basically, before this change, for strings which includes
SECRIT_MULTILINE_CHAR the computed maximum substring width was getting
summed to the width of the last substring.
The old behaviour is kept but for the case of strings including
SECRIT_MULTILINE_CHAR, for which now the maximum width of all substrings
is taken.
I don't think this will break anything else but blame me if it does ...
(cherry picked from commit 72bbe51a8c
)
This commit is contained in:
parent
6ea81f0001
commit
9ba34190c7
12
src/conky.c
12
src/conky.c
@ -2619,6 +2619,8 @@ static long current_color;
|
||||
static int text_size_updater(char *s, int special_index)
|
||||
{
|
||||
int w = 0;
|
||||
int lw;
|
||||
int contain_SECRIT_MULTILINE_CHAR = 0;
|
||||
char *p;
|
||||
|
||||
if ((output_methods & TO_X) == 0)
|
||||
@ -2667,7 +2669,7 @@ static int text_size_updater(char *s, int special_index)
|
||||
special_index++;
|
||||
s = p + 1;
|
||||
} else if (*p == SECRIT_MULTILINE_CHAR) {
|
||||
int lw;
|
||||
contain_SECRIT_MULTILINE_CHAR = 1;
|
||||
*p = '\0';
|
||||
lw = get_string_width(s);
|
||||
*p = SECRIT_MULTILINE_CHAR;
|
||||
@ -2677,7 +2679,13 @@ static int text_size_updater(char *s, int special_index)
|
||||
}
|
||||
p++;
|
||||
}
|
||||
w += get_string_width(s);
|
||||
/* Check also last substring if string contains SECRIT_MULTILINE_CHAR */
|
||||
if (contain_SECRIT_MULTILINE_CHAR) {
|
||||
lw = get_string_width(s);
|
||||
w = lw > w ? lw : w;
|
||||
} else {
|
||||
w += get_string_width(s);
|
||||
}
|
||||
if (w > text_width) {
|
||||
text_width = w;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user