mirror of
https://github.com/polybar/polybar.git
synced 2026-03-08 01:09:09 +00:00
fix(parser): Proper handling of %{R} #585
This commit is contained in:
@ -83,7 +83,7 @@ void parser::codeblock(string&& data, const bar_settings& bar) {
|
||||
|
||||
switch (tag) {
|
||||
case 'B': {
|
||||
m_sig.emit(change_background{parse_color(m_bg, value, 0UL)});
|
||||
m_sig.emit(change_background{parse_color(m_bg, value, bar.background)});
|
||||
break;
|
||||
}
|
||||
|
||||
@ -110,8 +110,7 @@ void parser::codeblock(string&& data, const bar_settings& bar) {
|
||||
break;
|
||||
|
||||
case 'R':
|
||||
m_sig.emit(change_background{parse_color_string(value, bar.foreground)});
|
||||
m_sig.emit(change_foreground{parse_color_string(value, bar.background)});
|
||||
m_sig.emit(reverse_colors{});
|
||||
break;
|
||||
|
||||
case 'O':
|
||||
|
||||
@ -205,7 +205,7 @@ void renderer::begin(xcb_rectangle_t rect) {
|
||||
m_align = alignment::NONE;
|
||||
|
||||
// Reset colors
|
||||
m_bg = 0;
|
||||
m_bg = m_bar.background;
|
||||
m_fg = m_bar.foreground;
|
||||
m_ul = m_bar.underline.color;
|
||||
m_ol = m_bar.overline.color;
|
||||
@ -700,6 +700,14 @@ bool renderer::on(const signals::parser::change_alignment& evt) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool renderer::on(const signals::parser::reverse_colors&) {
|
||||
m_log.trace_x("renderer: reverse_colors");
|
||||
m_fg = m_fg + m_bg;
|
||||
m_bg = m_fg - m_bg;
|
||||
m_fg = m_fg - m_bg;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool renderer::on(const signals::parser::offset_pixel& evt) {
|
||||
m_log.trace_x("renderer: offset_pixel(%f)", evt.cast());
|
||||
m_blocks[m_align].x += evt.cast();
|
||||
|
||||
Reference in New Issue
Block a user