рдкреНрд░рдЧрддрд┐ рдХреА рддрд░рд╣ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП% p рдХреЗ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдпрд╛рдиреА 25% рдкреНрд░рдЧрддрд┐ рдорд╛рди рдХреЗ рд╕рд╛рде, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдмрд╛рдИрдВ рддрд┐рдорд╛рд╣реА рдХреЛ рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЬреНрдЬрд╡рд▓ рднрд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
рд▓рдЧрд╛ рдХрд┐ рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВрдиреЗ рд╕рдЪрдореБрдЪ рдкрд╣рд▓реЗ рдХрднреА рд╕реА рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ рдХрд┐ рд░рдВрдЧ рдФрд░ рд╕рд╛рдорд╛рди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреИрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ (рдЕрднреА рдпрд╣ рдереЛрдбрд╝рд╛ рдЙрдЬреНрдЬреНрд╡рд▓ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдЕрдЧрд░ рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рднрджреНрджреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЪрд╛рд╣рддрд╛ рд╣реИред
рдЕрд░реЗ, рдореИрдВрдиреЗ рддреБрдореНрд╣рд╛рд░реЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛,рдпрд╣ рдпрд╣ рдЧрд▓рдд рд╣реИ, рдЕрдиреБрд╡рд░реНрддреА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВредshrink
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЙрд▓реНрдпреВрдо 100 рдкреНрд░рддрд┐рд╢рдд рд╣реИ, рддреЛ рдмрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 50 рдкреНрд░рддрд┐рд╢рдд рдкрд░ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ shrink
рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреА рдкреВрд░реА рдКрдВрдЪрд╛рдИ рдХреЛ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдПрдХ рддреНрд╡рд░рд┐рдд рд╣реИрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ bg_height/8
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред (рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреНрд░рдЧрддрд┐ рдмрд╛рд░ рдХреА рдКрдВрдЪрд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред)
рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реАрдзреЗ рдЖрдЧреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред IMHO рдореИрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред
рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдмрдЧ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдХреНрд░рдо рд╣реИ:
bg_width / 100 * (cl->n->progress - 1)
рджреЗрдЦреЗрдВ:
рдЕрдЧрд░ рдореИрдВ shrink
рдХреЛ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░рддрд╛, рддреЛ рдореЗрд░реА рд╕реВрдЪрдирд╛рдПрдВ 300px рдЪреМрдбрд╝реА рд╣реЛрддреА рд╣реИрдВред рддреЛ 300/100 == 3
рдФрд░ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд╕рдордп, рдпрд╣ рдЪреМрдбрд╝рд╛рдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдм рдареАрдХ рд╣реИред
рдЕрдЧрд░ рдореИрдВ shrink
рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде рдореЗрд░реА рдЕрдзрд┐рд╕реВрдЪрдирд╛ 185px рдЪреМрдбрд╝рд╛рдИ рддрдХ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣рд╛рдВ 185/100 == 1
рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ 1.85
рд╣реИ, рд▓реЗрдХрд┐рди рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛рдЯ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рддреНрд░реБрдЯрд┐ рд▓рдЧрднрдЧ рдЖрдзреА рд╣реИ, рдЬреЛ 50% рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреА рд╣реИред
рдХреНрд░рдо рдмрджрд▓рдиреЗ (рдкрд╣рд▓реЗ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рднрд╛рдЧ рджреЗрдиреЗ) рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
@bebehei рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдХрд╛рдВрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдкрд╣рд▓реЗ рдкреНрд░рдЧрддрд┐ рд╕рд▓рд╛рдЦреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо/рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдпрд╛ рдирд╣реАрдВ рдмрд╛рд╣рд░ред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╢реАрд░реНрд╖рдХ рдиреЗ рдореБрдЭреЗ рдЧрд▓рдд рдЙрдореНрдореАрджреЗрдВ рджреАрдВ рдХрд┐ рдЖрдкрдХреЗ рдкреИрдЪ рдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ:
рдпрд╣рд╛рдБ рдкреИрдЪ рд╣реИ:
diff --git a/src/x11/x.c b/src/x11/x.c
index 9f7ac20..3430892 100644
--- a/src/x11/x.c
+++ b/src/x11/x.c
@@ -565,14 +565,22 @@ static dimension_t x_render_layout(cairo_t *c, colored_layout *cl, colored_layou
double bg_half_height = settings.notification_height/2.0;
int pango_offset = (int) floor(h/2.0);
+ int progress_width = cl->n->progress > 0 ? bg_width * (cl->n->progress - 1) / 100 : bg_width;
+
if (first) bg_height += settings.frame_width;
if (last) bg_height += settings.frame_width;
else bg_height += settings.separator_height;
cairo_set_source_rgb(c, cl->frame.r, cl->frame.g, cl->frame.b);
- cairo_rectangle(c, bg_x, bg_y, bg_width, bg_height);
+ cairo_rectangle(c, bg_x, bg_y, progress_width, bg_height);
cairo_fill(c);
+ if (progress_width != bg_width) {
+ cairo_set_source_rgb(c, cl->frame.r - 0.2, cl->frame.g - 0.2, cl->frame.b - 0.2);
+ cairo_rectangle(c, bg_x + progress_width, bg_y, bg_width - progress_width, bg_height);
+ cairo_fill(c);
+ }
+
/* adding frame */
bg_x += settings.frame_width;
if (first) {
@@ -582,13 +590,26 @@ static dimension_t x_render_layout(cairo_t *c, colored_layout *cl, colored_layou
if (!last) bg_height -= settings.separator_height;
}
bg_width -= 2 * settings.frame_width;
+ if (progress_width < settings.frame_width) {
+ progress_width = 0;
+ } else if (progress_width - settings.frame_width > bg_width) {
+ progress_width = bg_width;
+ } else {
+ progress_width -= settings.frame_width;
+ }
if (last)
bg_height -= settings.frame_width;
cairo_set_source_rgb(c, cl->bg.r, cl->bg.g, cl->bg.b);
- cairo_rectangle(c, bg_x, bg_y, bg_width, bg_height);
+ cairo_rectangle(c, bg_x, bg_y, progress_width, bg_height);
cairo_fill(c);
+ if (progress_width != bg_width) {
+ cairo_set_source_rgb(c, cl->bg.r - 0.2, cl->bg.g - 0.2, cl->bg.b - 0.2);
+ cairo_rectangle(c, bg_x + progress_width, bg_y, bg_width - progress_width, bg_height);
+ cairo_fill(c);
+ }
+
bool use_padding = settings.notification_height <= (2 * settings.padding) + h;
if (use_padding)
dim.y += settings.padding;
@ рдордзреНрдп-рдмрдЪреНрдЪрд╛ рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдлреИрдВрд╕реА рдХреНрдпрд╛ рд╣реИ" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИред рд╣рдо рд╕рднреА рдХрд╛ рд╕реНрд╡рд╛рдж рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдкреВрд░реА рдЪреМрдбрд╝рд╛рдИ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд╕рдмрдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдлреНрд░реЗрдо рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреЛ рдореИрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рд╡реЗ рдХреБрдЫ рд╕рд╛рд░реНрдердХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рд╕рднреА рдХреЛ рдЕрдкрдиреА рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреНрдпрд╛рдорд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@ рдордзреНрдп-рдмрдЪреНрдЪрд╛ рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдлреИрдВрд╕реА рдХреНрдпрд╛ рд╣реИ" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИред рд╣рдо рд╕рднреА рдХрд╛ рд╕реНрд╡рд╛рдж рдХреБрдЫ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдкреВрд░реА рдЪреМрдбрд╝рд╛рдИ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд╕рдмрдорд┐рд╢рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдлреНрд░реЗрдо рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреЛ рдореИрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рд╡реЗ рдХреБрдЫ рд╕рд╛рд░реНрдердХ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рд╕рднреА рдХреЛ рдЕрдкрдиреА рдкреНрд░рдЧрддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЬреНрдпрд╛рдорд┐рддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред