Commit Graph

571 Commits

Author SHA1 Message Date
Alex e1215a6d17
Merge pull request #578 from alebastr/ipc-use-after-free
fix(sway): resolve destruction dependency between Ipc and SleeperThread
2020-02-06 17:36:11 +00:00
Skirmantas Kligys d1f427618f Cache calendar per clock instance, weekdays properly handle locales. 2020-02-05 11:07:47 -08:00
Aleksei Bavshin ae6ca36fa7
fix(sway): resolve destruction dependency between Ipc and SleeperThread
Ipc destructor closes socket and thus wakes up SleeperThread which was
waiting for socket data in Ipc::handleEvent.
Ipc::handleEvent then proceeds with sending signal to already destroyed
object, causing heap-use-after-free Address Sanitizer error.
2020-02-04 23:22:43 -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 af2528952b Merge branch 'master' of github.com:skligys/Waybar into temp 2020-02-02 15:58:40 -08:00
Andreas Stührk 527fa982d2 pulseaudio: adapt icon names to form factors 2020-01-31 22:47:26 +01: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
Alex d5875c468f
Merge pull request #550 from PlusMinus0/use_form_factor
Use PA_PROP_DEVICE_FORM_FACTOR for device icon.
2020-01-15 10:05:34 +00:00
Aleksei Bavshin f80270519b
refactor(client): use std::list<waybar_output> to store outputs
std::unique_ptr is not required here as the only benefit it gives is
stability of address on vector resize and it's easy to invalidate it
accidentaly. std::list provides the same guarantee of stable addresses
of the elements and correct destruction while avoiding smart pointer
overhead.

Also fixes #554, caused by incorrect usage of std::remove_if.
2020-01-14 07:27:08 -08:00
PlusMinus0 8fb3211594 Use PA_PROP_DEVICE_FORM_FACTOR for device icon. 2020-01-13 11:34:33 +01:00
Louis des Landes 569f40de9b
Keep aspect ratio when scaling tray icons. 2020-01-09 17:27:10 +10:30
Luca Weiss 129713fe1b
fix(network): add missing include
Fixes:
../src/modules/network.cpp:68:3: error: 'assert' was not declared in this scope
   68 |   assert(starts_with(read, category));
      |   ^~~~~~
../src/modules/network.cpp:6:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
    5 | #include "util/format.hpp"
  +++ |+#include <cassert>
    6 |
2020-01-07 20:27:31 +01:00
Cole Helbling 75c6e2e7d5
mpd: add paused format string 2020-01-07 09:15:54 -08:00
Moritz Jordan 1145788ab3
fix(network): display of IPv6 address 2020-01-06 13:15:28 +01:00
Alex c8821a5e7f fix(Battery): replace spaces w/ dashes 2019-12-30 13:56:34 +01:00
Alex d40cc6f23a fix(Battery): replace spaces w/ underscores 2019-12-30 13:55:49 +01:00
Alex c885be369e feat(Network): hide on empty format 2019-12-30 13:46:12 +01:00
Aleksei Bavshin dde700f2c9
feat: use gtk-layer-shell library for correct positioning of popups
To enable: use sway >= 1.2, compile waybar with `-Dgtk-layer-shell=enabled` meson option.
Original behavior could be restored at runtime by setting `"gtk-layer-shell": false` in waybar config.
2019-12-27 16:42:14 -08:00
Aleksei Bavshin d1637d34cf
refactor: fetch outputs from Gtk::Display instead of wl_registry.
gtk-layer-shell wants Gdk::Monitor instead of wl_output;
change code to deal with Gdk objects and slightly simplify it.
Requires gtkmm 3.22.0+ (first release with Gdk::Monitor support).
2019-12-27 16:42:12 -08:00
HardDie eb4c76f5e4 Toggle opacity 2019-11-28 20:28:28 +03:00
Niv Sardi 6d5b502bbb pulseaudio: export desc as a format
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
2019-11-25 05:16:58 -03:00
Alex 7f7ebb5367 fix(workspaces): add int comparison 2019-10-19 16:19:35 +01:00
Thomas Venriès 358426cb1c fix: No need to format string with unused 'arg' named argument (#484)
The fmt::format() function looks for the "{arg}" named argument
in the given "format" string which does not exist. It will fail
if the string contains any {...} curled-brace substring.

Consequently, any "on-click*" option's command line containing for
instance substring like "${var}" or "awk '{...}'" will crash the program.

Signed-off-by: Thomas Venriès <thomas.venries@gmail.com>
2019-10-16 22:39:45 +02: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 048d8d328e refactor(Battery): ouput 'Plugged' instead of 'Charging' in the fallback 2019-10-03 09:37:37 +01:00
Hetian Huo 3d1fd4f5ea
change audio scroll bound
Change default behavior from 0% - 99% to 0% - 100%.
2019-09-28 18:05:31 -05:00
Guillaume Maudoux f4d2ca2736 custom formatter for numbers in 'pow' units format 2019-09-25 12:53:06 +02:00
Alex 211b1c2785 fix: no need to wait on start 2019-09-25 09:32:22 +01:00
Guillaume Maudoux 1d39ef5c8e Add a disk module 2019-09-25 08:47:33 +02:00
Alex bae83ee4e3 fix: static_cast clamp 2019-09-19 22:07:38 +01:00
Alex 52db1e8e68
Merge pull request #467 from jspngh/bugfix/mpd_module
Add more locking in mpd module
2019-09-19 22:03:23 +01:00
Alex 334bc1e52a fix(Network): clamp signal strength 2019-09-19 21:59:28 +01:00
Jonas Spanoghe e6599d8ed5 modules/mpd: take lock in waitForEvent to prevent SIGABORT
+ replaced deprecated MPD_IDLE_PLAYLIST with MPD_IDLE_QUEUE
+ add mutex for periodic_updater
2019-09-19 21:43:12 +02:00
Benjamin Cheng a63bc84918
Add configurable time display for battery module
Adds a `format-time` configuration for the battery module so that users
can configure how they want their remaining time to be displayed.

The default format remains the same as before, i.e. `{H} h {M} min`,
but users can choose something like `{H}:{M:02d}` to give an output
like `4:29` if wanted.
2019-09-04 14:43:52 -04:00
Aleksei Bavshin 529daedcec
fix: correct handling of margins on anchored axis 2019-09-01 01:08:15 -07:00
Aleksei Bavshin 089d1299c4
fix: correct calculation of exclusive zone 2019-09-01 01:08:07 -07:00
Alex 36fc8365ee
Merge pull request #446 from bschacht/fix-typo-persistant
Fix typo: persistant -> persistent
2019-08-31 21:13:31 +02:00
Birger Schacht 2646390e28 Fix typo: persistant -> persistent 2019-08-31 19:57:44 +02:00
Birger Schacht 66f2cbed51
Fix typo
ouput -> output
2019-08-31 17:50:56 +00:00
Alex f592e3d38b
Merge branch 'master' into fmt 2019-08-29 11:29:48 +02:00
Alex ceedc689ec
Merge branch 'master' into master 2019-08-29 11:05:55 +02:00
Alex a257126685
Merge branch 'master' into asan-fixes 2019-08-29 11:04:24 +02:00
Jan Beich 712424f9a8 Unbreak build with fmtlib 6.0.0
In file included from ../src/factory.cpp:1:
In file included from ../include/factory.hpp:4:
../include/modules/clock.hpp:5:10: fatal error: 'fmt/time.h' file not found
 #include "fmt/time.h"
          ^~~~~~~~~~~~
In file included from ../src/bar.cpp:4:
In file included from ../include/factory.hpp:4:
In file included from ../include/modules/clock.hpp:3:
In file included from /usr/include/fmt/chrono.h:12:
/usr/include/fmt/locale.h:19:35: error: parameter type 'fmt::v5::internal::buffer' (aka 'basic_buffer<char>') is an abstract class
    const std::locale& loc, buffer<Char>& buf,
                                  ^
/usr/include/spdlog/fmt/bundled/core.h:238:16: note: unimplemented pure virtual method 'grow' in 'basic_buffer'
  virtual void grow(std::size_t capacity) = 0;
               ^
In file included from ../src/modules/sni/host.cpp:3:
/usr/include/fmt/ostream.h:22:9: error: expected member name or ';' after declaration specifiers
  buffer<Char>& buffer_;
  ~~~~~~^
/usr/include/fmt/ostream.h:25:19: error: expected ')'
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
                  ^
/usr/include/fmt/ostream.h:25:12: note: to match this '('
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
           ^
/usr/include/fmt/ostream.h:25:42: error: use of undeclared identifier 'buf'; did you mean 'prettify_handler::buf'?
  formatbuf(buffer<Char>& buf) : buffer_(buf) {}
                                         ^~~
                                         prettify_handler::buf
/usr/include/spdlog/fmt/bundled/format-inl.h:551:11: note: 'prettify_handler::buf' declared here
  buffer &buf;
          ^
2019-08-29 01:38:54 +00:00