Commit Graph

580 Commits

Author SHA1 Message Date
BoostCookie
2f975f870a Added support for absolute device paths for the temperature module. 2020-03-12 22:04:00 +01:00
Aleksei Bavshin
dd0144c3cd
fix(bar): set exclusive zone early for gtk-layer-shell
If the bar is using initial size from the config (i.e both width and
height are set and resize is not required), GtkWindow configure event
is is not emitted. Initialize exclusive zone earlier for that case.

Fixes #609
2020-03-04 06:56:25 -08:00
Guillaume Maudoux
190b2dd922 pulseaudio: track only the default sink and source
When you have multiple sinks (resp. sources), the module used to display
the state of the most recently changed one. This changes remembers the
default sink name, and only records changes to that one.
2020-02-24 11:30:35 +01:00
Alex
2d8dc83480
Merge pull request #598 from layus/sni-watcher
Use the same StatusNotifierWatcher for all trays
2020-02-19 14:22:51 +01:00
Guillaume Maudoux
9a5f5114c4 pulse: track default source/sink changes 2020-02-19 12:28:36 +01:00
Guillaume Maudoux
047c2929c1 Use the same StatusNotifierWatcher for all trays 2020-02-19 12:06:35 +01:00
Alex
543589a97b
Update pulseaudio.cpp 2020-02-16 21:48:22 +00:00
Jordan Leppert
4f8a396692 Fix for 'Network label text not updated properly when formats contain Unicode characters' (#588) 2020-02-15 16:51:18 +00: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
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