Waybar. Clock module - weeknum fix for the left side

pull/1492/head
Viktar Lukashonak 2022-03-25 16:12:11 +03:00
parent 2d87bcb1ab
commit 1d2a381b5f
No known key found for this signature in database
GPG Key ID: 08A413AA87200A6F
1 changed files with 7 additions and 10 deletions

View File

@ -171,6 +171,7 @@ auto waybar::modules::Clock::calendar_text(const waybar_time& wtime) -> std::str
int ws{0}; // weeks-pos: side(1 - left, 2 - right) int ws{0}; // weeks-pos: side(1 - left, 2 - right)
int wn{0}; // weeknumber int wn{0}; // weeknumber
if (config_["week-pos"].isString()) { if (config_["week-pos"].isString()) {
wn = (date::sys_days{date::year_month_day{ym / 1}} - date::sys_days{date::year_month_day{ymd.year() / 1 / 1}}).count() / 7 + 1;
if (config_["week-pos"].asString() == "left") { if (config_["week-pos"].asString() == "left") {
ws = 1; ws = 1;
// Add paddings before the header // Add paddings before the header
@ -179,21 +180,17 @@ auto waybar::modules::Clock::calendar_text(const waybar_time& wtime) -> std::str
ws = 2; ws = 2;
} }
} }
if (ws > 0){
wn = (date::sys_days{date::year_month_day{ym / 1}} - date::sys_days{date::year_month_day{ymd.year() / 1 / 1}}).count() / 7 + 1;
}
weekdays_header(first_dow, os); weekdays_header(first_dow, os);
/* Print weeknumber on the left for the first row*/
// First week prefixed with spaces if needed.
auto wd = date::weekday(ym / 1);
auto empty_days = (wd - first_dow).count();
if (empty_days > 0) {
if (ws == 1) { if (ws == 1) {
print_iso_weeknum(os, wn); print_iso_weeknum(os, wn);
os << ' '; os << ' ';
++wn; ++wn;
} }
// First week prefixed with spaces if needed.
auto wd = date::weekday(ym / 1);
auto empty_days = (wd - first_dow).count();
if (empty_days > 0) {
os << std::string(empty_days * 3 - 1, ' '); os << std::string(empty_days * 3 - 1, ' ');
} }
auto last_day = (ym / date::literals::last).day(); auto last_day = (ym / date::literals::last).day();