Commit Graph

115 Commits

Author SHA1 Message Date
Aleksei Bavshin
7f6bef2049
fix(util): make waybar_time formatter compatible with fmt 8.1.0
Stop using private implementation details of the `formatter<std::tm>`.
We never needed anything from the class besides the format specifier,
which is easily obtainable with public API.
2022-01-07 22:34:00 -08:00
Aleksei Bavshin
c0d84853ea
refactor(clock): extract waybar_time to util/waybar_time.hpp 2022-01-07 18:09:44 -08:00
Sergey Mishin
ece86c96d7
Feature Clock: show list of time in other timezones in a tooltip
Introducing new tooltip placeholder: {timezoned_time_list}. It will be replaced with the list of times in different time zones.
I've found it useful to hover the mouse pointer on time and see time in all my timezones at once.
Current timezone excluding from the list, so if you will scroll over the time module and change the active timezone, this timezone will be excluded from the list and the previous active zone will be added.
2021-12-01 17:08:05 +00:00
Sergey Mishin
c5e4d26320
Fix working without timezone 2021-10-05 10:20:06 +00:00
Sergey Mishin
d8bc6c92bb
Fix style and spelling 2021-10-05 09:55:30 +00:00
Sergey Mishin
110c66dd32
Refactor Clock: generalize multi timezones and single timezone cases
After this refactoring:
1. Timezones parses only once on start and the we refer to saved values. All time_zone.isString() checks gone to the constructor.
2. Single timezone case handling as case of multi timezoned logic.
3. Scroll event seems more clear now.
4. Tooltip template parses on start to check if there calendar placeholder or not. To do not calculate calendar_text() if not necessary.
2021-10-03 16:57:55 +00:00
Sergey Mishin
174db444d6
Fix Clock crash on empty string in timezones field
Also fixed timezones behavior: now waybar starting with the first timezone in timezones list and falling back to timezone field only if timezones omit or has no elements.
2021-10-03 03:27:54 +00:00
Elyes HAOUAS
f18eb71ad7 Fix spelling errors
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-02 18:13:17 +02:00
John Helmert III
368e4813de
libfmt >=8.0.0 compatibility 2021-06-30 13:12:38 -05:00
nullobsi
ecba117dc0
remove unnessecary logging 2021-01-31 11:56:25 -08:00
nullobsi
d2a1f41750
Use g_unichar_iswide to properly align calendar on CJK locales 2021-01-31 11:53:53 -08:00
Thomas Hebb
29f78e0426 Fix a few compiler warnings
There was one uninitialized value warning and two mismatched-sign
compare warnings. They both appear valid, the first occurring when MPD's
"format-stopped" contains {songPosition} or {queueLength} and the second
occurring when the clock's "timezones" array is more than 2 billion
items long (not likely, I admit). Fix both issues.
2020-11-30 18:07:22 -08:00
Daniel De Graaf
62082bdb01 clock: scroll through multiple timezones 2020-08-13 18:53:18 -04:00
Daniel De Graaf
8cd6e13308 clock: allow custom formatting for today in calendar 2020-08-13 18:53:18 -04:00
Alex
b251c51936 fix: spdlog 2020-05-22 20:02:09 +02:00
Alex
60bad8279e feat: add comment 2020-05-22 19:09:50 +02:00
Alex
a871dcaebe fix: type 2020-05-22 18:56:32 +02:00
Alex
cef5b27b48 fix: prefer default fmt date formatting unless timezone specified 2020-05-22 18:52:26 +02:00
Alex
4a7dd400fe
Merge branch 'master' into on-update 2020-04-12 18:32:19 +02:00
Alex
b40cdcb5bd refactor: call parent update 2020-04-12 18:30:21 +02:00
Aleksei Bavshin
e70f8d8730
fix(clock): lower precision of zoned_time to avoid fractional seconds in output 2020-02-06 10:04:22 -08:00
Skirmantas Kligys
d1f427618f Cache calendar per clock instance, weekdays properly handle locales. 2020-02-05 11:07:47 -08:00
Skirmantas Kligys
cd2db19267 Detect presence, call nl_langinfo() to get first day of week. 2020-02-03 17:18:34 -08:00
Skirmantas Kligys
4c40f9c635 Stop using a mutex for guarding CachedCalendar. 2020-02-03 17:18:34 -08:00
Skirmantas Kligys
218bb3bc2b Simpify calendar generation, single loop handles both first week and subsequent weeks. 2020-02-02 16:06:27 -08:00
Skirmantas Kligys
f6b2005687 Cache calendar tooltip text to reduce computations. 2020-02-02 15:59:24 -08:00
Skirmantas Kligys
ea9591baea Switch from utfcpp to Glib::ustring for UTF-8 string mangling. 2020-02-02 15:59:24 -08:00
Skirmantas Kligys
8e05aab4d9 Current month calendar in clock tooltip. 2020-01-31 10:36:40 -08:00
Guillaume Maudoux
84b671f6b2 Attempt at supporting locale and timezones (#1) 2020-01-23 08:27:10 -05:00
Michael Cordover
6e30b7af3c Remove duplicate dependency, use current locale 2020-01-23 08:27:00 -05:00
Michael Cordover
3130a57622 Add timezone support to clock module (closes #223) 2020-01-23 08:26:49 -05:00
Jordi Pakey-Rodriguez
0f0765e517 feat(modules): call user on-update if configured 2019-12-05 14:42:36 -08:00
Guillaume Maudoux
1e82982dbd
Detect timezone changes
Fixes #479, because upstream does not intend to.

It may be less expensive to do that only once in a while, or to inotify-watch on /etc/timezone, but this is good enough.
2019-10-04 23:25:09 +02:00
Alex
d24d85bebf refactor: move label name and id to label contructor 2019-05-22 12:06:24 +02:00
Alex
97bd637f5d refactor(clock): avoid usless time_point_cast 2019-05-22 11:51:33 +02:00
Alex
23d4a811db refactor(clock): avoid usless duration_cast 2019-05-22 11:48:02 +02:00
Alex
5314b74dae fix: remove workaround 2019-05-20 14:39:49 +02:00
RX14
5e43b4f587
Fix clock is always a second off 2019-05-19 13:30:19 +01:00
Alex
311c34ecbc feat(Bar): handle widget size changes 2019-04-24 12:37:24 +02:00
Alex
6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
Alex
ef88f0a223 fix: clock rounding 2019-03-07 12:34:21 +01:00
Piet van der Loo
7245fb5d0a Added clock tooltip with optional alternate format 2019-02-24 09:25:34 +01:00
Alexis
399f61df98 refactor: proper modules destruction 2019-01-13 22:22:22 +01:00
Alexis
b554094c7e feat: args && class id 2018-12-18 17:30:54 +01:00
Alexis
7befd27059 fix: clock interval 2018-12-04 09:38:08 +01:00
Alexis
2b05b8e69a chore: v0.2.2 2018-11-23 12:03:23 +01:00
Alexis
ad7400d5ce refactor(ALabel): add interval 2018-11-23 11:57:37 +01:00
Alexis
bd62c4cbc5 feat(Label): use set_markup 2018-11-21 20:49:09 +01:00
Alexis
3f269ff463 fix: check json::value type 2018-10-26 09:27:16 +02:00
dangerousdan
137c5fb712
fix custom intervals causing cpu to go mental 2018-10-23 00:06:46 +01:00
Alexis
53956d9d18
feat(ALabel): Toggleable labels 2018-08-27 01:36:25 +02:00
Alex
49232eed8d
Clean (#31) 2018-08-20 14:50:45 +02:00
Alexis
8ce33e0c64 fix(window): pick only con title 2018-08-19 20:37:33 +02:00
Alex
6705134034
Handle screens disconnection (#29) 2018-08-19 13:39:57 +02:00
Alexis
b1fd4d7b82 feat(modules): generic label module to allow max-length on all labels 2018-08-18 11:43:48 +02:00
Alex
6635548d3e
Style code (#25) 2018-08-16 14:29:41 +02:00
Alexis
008856cbb8 feat(clock): allow choose interval 2018-08-15 21:00:04 +02:00
Alexis
608b791ac1 refactor(clock): use fmt::localtime 2018-08-15 20:53:27 +02:00
Alexis
e3e099f836 feat(workspaces): icons 2018-08-15 14:48:08 +02:00
Alexis
04183dc696 refactor(modules): prefer sigc::mem_fun 2018-08-11 02:40:13 +02:00
Alexis
2512d51564 fix(gtk): use idle to avoid mutex 2018-08-10 23:21:21 +02:00
Alexis
dc4e4860bd feat(config): format modules 2018-08-09 13:30:11 +02:00
Alexis
39a0ae04a8 feat: basic config file 2018-08-09 12:05:48 +02:00
Alexis
b987668f97 style: clean class 2018-08-09 10:50:16 +02:00
Alexis
fcb6a9aa8b feat: init repo 2018-08-08 23:54:58 +02:00