Commit Graph

560 Commits

Author SHA1 Message Date
Alex
54beabb9dc
Revert "mpd: revamped to event-driven, single-threaded" 2020-10-18 10:45:31 +02:00
Alex
41752ad5a2
Merge pull request #877 from jbenden/jbenden/mpd-module
mpd: revamped to event-driven, single-threaded
2020-10-18 10:39:12 +02:00
nikto_b
8349316fcd
Merge branch 'master' into sway-language-module 2020-10-12 13:31:39 +03:00
Alex
d6381eeaff
Merge branch 'master' into taskbar/remove-trim 2020-10-11 23:06:32 +02:00
nikto_b
cc3acf8102
feature: created sway language submodule; added styles & config part for a sway language submodule 2020-10-10 19:09:18 +03:00
Joseph Benden
21fdcf41c3
mpd: revamped to event-driven, single-threaded
Fix MPD connection issues by converting/rewriting module into a
state-machine driven system. It is fully single-threaded and uses
events for transitioning between states. It supports all features
and functionality of the previous MPD module.

Signed-off-by: Joseph Benden <joe@benden.us>
2020-10-08 16:43:22 -07:00
Érico Rolim
22e46ea6cc sndio: Add reconnection support. 2020-10-04 14:59:20 -03:00
Érico Rolim
e4427cb017 sndio: Add module.
- can control sndio: change volume, toggle mute
- appearance is somewhat dynamic: takes muted status into account
- uses polling inside sleeper thread to update values
- uses sioctl_* functions, requires sndio>=1.7.0.
2020-10-04 02:54:57 -03:00
Alex
95f505a457 revert: restore eventfd 2020-09-21 10:56:40 +02:00
Tamir Zahavi-Brunner
9e3e4368c7 custom: Add "exec-on-event" config
This config allows disabling the default behavior of re-executing the
script whenever an event that has a command set is triggered.

Fixes #841
2020-09-06 22:49:18 +03:00
dmitry
b54fb24745 Remove trim usage in format
Some clang-tidy fixes
2020-08-16 15:54:21 +03:00
Alex
591eb2ea38
Merge pull request #821 from danieldg/new-clock-features
New clock features
2020-08-14 22:12:48 +02:00
wjoe
4565f7f8b9 only compile rfkill into the network module if the feature is enabled. 2020-08-14 20:58:48 +02:00
Daniel De Graaf
62082bdb01 clock: scroll through multiple timezones 2020-08-13 18:53:18 -04:00
dmitry
22409d27c5 Fix docs typos
Add removing buttons
Adjust handling multiple outputs.
2020-08-11 00:28:56 +03:00
dmitry
0ad29a5960 Finish base implementation 2020-08-07 23:46:47 +03:00
dmitry
4c251578e9 Add formatting and states handling 2020-08-07 02:45:08 +03:00
dmitry
7638f5c595 Add base name representation 2020-08-06 01:42:57 +03:00
dmitry
edd4d8ee11 Finish implement wlr 2020-08-05 23:10:08 +03:00
dmitry
2b11b7ef8c Base wlr impl (Manager, Group) 2020-08-05 02:17:38 +03:00
Michael Rodler
006850ea5e Changed helper function for workspace->num assignment to a static method of Workspaces class
and adapted comments/method name to be consistent with the rest
2020-07-27 10:56:49 +02:00
Till Smejkal
06ad35c42b Add support for multiple icon themes in the config
If there are multiple icon themes defined in the config option
'icon-theme' the module will try from left to right to find an icon.
The system default will always be added to this list.
2020-07-05 13:16:38 +02:00
Isaac Freund
343a8bef22
river/tags: add module 2020-06-12 15:19:46 +02:00
Tudor Brindus
0080feb9af sway/workspaces: make clicking on workspaces idempotent
Previously, clicking on the same workspace you were on would throw you
to another workspace if `workspace_auto_back_and_forth yes` was
specified in your sway config. This also fixes workspace output moving
misbehaving and doing the same.
2020-06-09 20:43:43 -04:00
Till Smejkal
adaf843048
foreign-toplevel-manager based taskbar module (#692)
Co-authored-by: Alex <alexisr245@gmail.com>
2020-05-30 12:07:38 +02:00
Alex
6e7f22ac3a fix: cancel thread and fix window close 2020-05-27 09:10:38 +02:00
Jan Beich
4e567d0483 cpu: port parseCpuinfo to BSDs 2020-05-19 10:43:42 +00:00
Jan Beich
c4f7cdeec4 memory: port parseMeminfo to BSDs 2020-05-19 10:42:21 +00:00
Jan Beich
c844d7ac2e tray: drop std::filesystem dependency 2020-05-19 10:37:27 +00:00
Jan Beich
d5df185ac6 cpu: make getCpuLoad more portable
../include/modules/cpu.hpp:4:10: fatal error: 'sys/sysinfo.h' file not found
 #include <sys/sysinfo.h>
          ^~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
Jan Beich
1dc557456e Add missing includes for libc++
In file included from ../src/modules/custom.cpp:1:
In file included from ../include/modules/custom.hpp:7:
../include/util/command.hpp:15:25: error: implicit instantiation of undefined template 'std::__1::array<char, 128>'
  std::array<char, 128> buffer = {0};
                        ^
../src/modules/pulseaudio.cpp:175:41: error: implicit instantiation of undefined template 'std::__1::array<std::__1::basic_string<char>, 9>'
static const std::array<std::string, 9> ports = {
                                        ^
/usr/include/c++/v1/__tuple:223:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
In file included from ../src/factory.cpp:1:
In file included from ../include/factory.hpp:8:
../include/modules/sway/workspaces.hpp:39:8: error: no template named 'unordered_map' in namespace 'std'
  std::unordered_map<std::string, Gtk::Button> buttons_;
  ~~~~~^
../src/factory.cpp:20:14: error: cannot initialize return object of type 'waybar::AModule *' with an rvalue of type 'waybar::modules::sway::Workspaces *'
      return new waybar::modules::sway::Workspaces(id, bar_, config_[name]);
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
phosit
6e946bf872 Add kelvin-scale 2020-04-25 18:44:48 +02:00
Marc Radau
2d02ae5e97
Merge branch 'master' into master 2020-04-16 14:43:10 +02:00
Danilo Spinella
09ec40e38d fix(memory): add missing unordered_map include 2020-04-13 18:02:50 +02:00
Marc Radau
8a5c3af949
Merge pull request #8 from Alexays/master
Merge Alexays:master into marcplustwo:master
2020-04-05 16:13:56 +02:00
Tudor Brindus
19743f3085 fix(memory): provide better free memory approximation on old kernels
The approximation should include SReclaimable, and subtract Shmem. To
prevent the parsing code from ballooning in size, this commit also
refactors the parsing into a map.
2020-03-20 17:37:22 -04: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
Marc Radau
9abe1e2790
Merge branch 'master' into master 2020-02-23 23:00:09 +01:00
Guillaume Maudoux
047c2929c1 Use the same StatusNotifierWatcher for all trays 2020-02-19 12:06:35 +01:00
Danilo Spinella
e0c42ae415 fix(sway): add missing unordered_map include 2020-02-11 14:31:17 +01: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
Marc
58eb8ad11f Merge branch 'master' of github.com:marcplustwo/Waybar 2020-01-26 05:35:34 +01:00
Marc
c045288ce4 add man page for bluetooth, fix bluetooth race-condition 2020-01-26 05:34:31 +01:00
Marc Radau
f9618d30f3
Merge pull request #7 from Alexays/master
Merge latest changes from upstream
2020-01-23 17:30:33 +01:00
Marc
e3bf6b968c bluetooth module handles rfkill events instantly 2020-01-23 17:17:29 +01: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
Marc Radau
d85f0e1060
Merge pull request #3 from marcplustwo/addbluetoothmodule
Add bluetooth module
2020-01-22 11:44:25 +01:00
Marc
89cb9673d4 bluetooth module working 2020-01-22 11:37:47 +01:00
Marc
f0dbd8b78d properly structure rfkill util 2020-01-21 17:48:45 +01:00
Marc
626af1ddc1 add rudimentary bluetooth module functionality 2020-01-21 17:04:54 +01:00
Marc Radau
b8aeda794c
Merge pull request #2 from marcplustwo/airplane_mode
distinguish between wifi disabled and disconnected
2020-01-20 10:46:59 +01:00
Marc
2dc4ae78fc distinguish between wifi disabled and disconnected 2020-01-20 00:35:37 +01:00
PlusMinus0
8fb3211594 Use PA_PROP_DEVICE_FORM_FACTOR for device icon. 2020-01-13 11:34:33 +01:00
Cole Helbling
75c6e2e7d5
mpd: add paused format string 2020-01-07 09:15:54 -08: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
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
Alex
f592e3d38b
Merge branch 'master' into fmt 2019-08-29 11:29:48 +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
Aleksei Bavshin
01ad3d96d8
fix(tray): pre-create dbusmenu for tray items
It seems that dbusmenu is not ready to display menu immediately and
needs some time to sync data via DBus.
Fixes LIBDBUSMENU-GLIB-CRITICAL: dbusmenu_menuitem_send_about_to_show:
assertion 'DBUSMENU_IS_MENUITEM(mi)' failed.
Also fixes initial render of the menu with layer shell popups support patch.
2019-08-27 00:34:00 -07:00
Aleksei Bavshin
642fd48af1
fix(tray): restore Activate support for compliant SNI implementation
Set ItemIsMenu to true by default because libappindicator supports
neither ItemIsMenu nor Activate method and compiant SNI implementations
are expected to reset the flag during initial property fetch.
To be revisited if anyone finds the implementation that has Activate
but does not set ItemIsMenu.
2019-08-27 00:33:59 -07:00
Alex
ff9d598c16 fix: add proper mutex 2019-06-17 11:39:45 +02:00
Alex
527144a440 refactor(pulseaudio): proper scroll override 2019-06-16 15:08:08 +02:00
Alex
340ec7be91 refactor: AModule 2019-06-15 14:57:52 +02:00
Alex
dabe2bebbb feat(sway/window): handle floating nodes 2019-06-14 11:27:40 +02:00
Alex
486b5a5d38 fix(sway/window): check output recursively 2019-06-14 10:57:22 +02:00
Patrick Hilhorst
ed4521d113
Workspaces: fix twitchy scrolling on touchpads
Previously, any and all scroll events were interpreted as reason to switch
workspaces. This resulted in twitchy behaviour, where the scrolling was
practically unusable.

Now, we pool all scroll values, and only scroll if the value is larger than the
new config option "smooth-scrolling-threshold". If this option is not set, the
behaviour is unchanged.
2019-06-11 17:22:24 +02:00
Alex
1962caf144 refactor(window): gtk stuff in update method 2019-06-04 17:34:00 +02:00
Alex
fcf2d18a01 refactor: destroy threads first 2019-05-29 17:53:22 +02:00
Alex
5ae5821929 refactor(network): re-add MAX_RETRY in order to detect external interface 2019-05-28 11:08:48 +02:00
Alex
6e73c6db61 refactor(network): remove last_ext_iface_ 2019-05-26 23:16:09 +02:00
Alex
ecec02c8be refactor(network): better events handler 2019-05-26 22:36:26 +02:00
Alex
2a9fa1a4b9 refactor(bar): onRealize, onMap 2019-05-25 17:50:45 +02:00
Alex
07147878a9 refactor(network): code cleaning 2019-05-24 09:49:56 +02:00
Alex
85d60f95c4 refactor(network): const methods 2019-05-22 22:20:50 +02:00
Alex
9e1200ae32 refactor: also pass id to custom modules 2019-05-22 12:20:13 +02:00
Alex
d24d85bebf refactor: move label name and id to label contructor 2019-05-22 12:06:24 +02:00
Max Reppen
00ada46dfc feat(Battery) Time remaining on tooltip 2019-05-21 13:36:14 -04:00
Max Reppen
2db81a6107 fix(Battery) "current" unused and removed 2019-05-21 13:35:39 -04:00
Alex
48a58cd979 fix(network): switch between ifaces upon disconnection 2019-05-21 17:38:47 +02:00
Alex
bb4af295bc feat(pulseaudio): source info 2019-05-21 14:53:31 +02:00
Alex
e3879559a2
Merge pull request #330 from Organic-Code/master
Adding sway/workspaces:persistant_workspaces
2019-05-20 14:33:31 +02:00
Alex
67593b8c0f
Merge pull request #332 from Organic-Code/enhancement/spdlog
Adding spdlog
2019-05-20 12:07:58 +02:00
Alex
f2edc8f965 feat(Watcher): define watcher_id 2019-05-20 11:47:52 +02:00
Lucas Lazare
51be97f9aa Adding spdlog 2019-05-18 19:44:45 -04:00
Lucas Lazare
1a76aa0c8c Improving ordering 2019-05-18 11:58:01 -04:00
Alex
ff28de0482 feat(custom): update on click/scroll 2019-05-18 16:07:55 +02:00
Alex
93a644eec4
Merge branch 'master' into master 2019-05-18 15:42:27 +02:00
Alex
4865a9ad6c fix(network): reset frequency 2019-05-18 13:57:50 +02:00
Lucas Lazare
794fb12e8c Adding bandwidth support for network module [linux only] 2019-05-17 23:39:51 -04:00
Alex
d2d9db23b5 fix: uninitialized bool 2019-05-17 14:23:52 +02:00
Alex
cb2d6e1997 feat(Network): frequency 2019-05-17 11:27:38 +02:00
Alex
4d4cadb5ae refactor: simpler code 2019-05-17 09:59:37 +02:00
RX14
b45dcdf74e
Allow scrolling on the entire bar surface 2019-05-16 22:18:43 +01:00
Alex
841576497a refactor: cleaner events 2019-05-16 11:22:22 +02:00
Alex
5b3402e110 feat(Battery): plugged status 2019-05-14 15:43:57 +02:00
Alex
362c393b1d refactor: try/catch, sigc trackable 2019-05-13 15:15:50 +02:00
Alex
0c3c548bc0 fix(Window): avoid concurrency 2019-05-13 14:35:45 +02:00
Alex
4f1defe6d5 fix(Pulseaudio): avoid handleScroll override 2019-05-13 11:46:12 +02:00
Alex
80e9ea746b fix(battery): use path for the / operator 2019-05-12 19:53:22 +02:00
Dan
e343cf4b00 fix(btformat): fixes an issue where btformat was not being correctly detected 2019-05-10 12:07:17 -04:00
Alex
5bf0ca85ac refactor: try/catch around json parse 2019-05-09 10:30:54 +02:00
Alex
5a44c8c6de refactor: avoid unneeded json parsing 2019-05-07 13:43:48 +02:00
Alex
b75e0bb0d0 refactor: remove useless bar param 2019-05-07 13:21:18 +02:00
Dan
dd0ebe117c chore(cr): cr cleanup 2019-05-03 08:08:55 -04:00
Dan
3bac96945c Revert "feat(percent): adds a percent class to numeric modules"
This reverts commit 82302e58f3b611f7ff6d686d1783b1c32914f7c9.
2019-05-02 22:24:29 -04:00
Dan
e158a3e132 feat(states): add generic 'states' to all labels 2019-05-02 22:24:29 -04:00
Dan
472363a623 feat(percent): adds a percent class to numeric modules 2019-05-02 22:24:29 -04:00
Alex
d027243a19 fix: json thread safe 2019-05-02 14:24:54 +02:00
Alex
bb8ff5a99f feat(Bar): add class depend of window in the workspace 2019-04-25 16:47:51 +02:00
Alex
311c34ecbc feat(Bar): handle widget size changes 2019-04-24 12:37:24 +02:00
Alex
90d89fe974 refactor: kill custom modules scripts en destroy 2019-04-23 15:56:38 +02:00
Alex
cccf60c30e fix(Workspaces): fix concurrence and move json parser to ipc client 2019-04-23 11:42:08 +02:00
Minijackson
b50650f63f
fix(mpd): regularly timeout the event listener to prevent timeout
The MPD server has a connection_timeout that defaults to 60. If no data
is transferred in this timespan, the connection is closed. If the
connection is closed while the event listener is listening for events,
it will block forever. By timing out the event listening and
re-connecting regularly, we prevent this issue. An option "timeout" has
been added for users that have a lower server connection_timeout than
default. Fixes #277
2019-04-21 10:58:40 +02:00
Cole Helbling
160837b900
Ensure no NULL tags are set
Because `mpd_song_get_tag` from libmpdclient can return NULL, verify the
value of tag is valid. Otherwise, set a default string of "N/A". Also
adds configuration to specify what this default string should be.
2019-04-20 09:12:30 -07:00
Alex
8cf19826aa fix(Tray): Unexport on exit 2019-04-19 17:03:46 +02:00
Alex
cbb6f2a307 refactor(Workspaces, IPC): no more mutex in the workspaces modules, moved to the IPC client for a proper handling 2019-04-19 16:48:02 +02:00
Alex
e77c155ede fix(workspaces): avoid mutex block 2019-04-19 12:11:55 +02:00
Alex
bb1cf7570e refactor(IPC): use sigc signal 2019-04-19 11:09:06 +02:00
Alex
6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
Alex
807ef32357 refactor: format && better output management 2019-04-18 17:47:40 +02:00
Minijackson
ab43d34a1e
refactor(mpd): Add module name to log messages 2019-04-18 15:57:57 +02:00
Minijackson
cd92b475ad
chore: Add clang-format configuration and format MPD module 2019-04-18 15:57:57 +02:00
Minijackson
235997fa73
feat(mpd): Add support for elapsed and total time 2019-04-18 15:55:46 +02:00
Minijackson
80a12d0238
feat(mpd): play/pause on click & stop on right-click 2019-04-18 15:55:46 +02:00
Minijackson
07dab2baec
feat(mpd): Add support for options (random, repeat, etc.) 2019-04-18 15:55:45 +02:00
Minijackson
cbfcec4867
feat(mpd): Add support for play/pause icons 2019-04-18 15:55:45 +02:00
Minijackson
557b786ce0
feat(mpd): Allow for specifying the reconnect interval 2019-04-18 15:55:45 +02:00
Minijackson
06aff70e2e
feat: Add basic support for MPD 2019-04-18 15:55:45 +02:00
Alex
6d6df4be00 refactor(sni-item): better way to search in default theme 2019-04-17 22:15:18 +02:00
Alex
346ec68578 refactor: format tray && partial fix for #235 2019-04-17 14:19:04 +02:00
Alex
5828d34fa0
Merge branch 'master' into custom-multiple-classes 2019-04-15 10:58:27 +02:00
Alex
bc9a49787a feat: enable pango markup on sway workspaces 2019-04-15 10:55:44 +02:00
Alex
6aee51479d feat: ability to add multiple classes 2019-04-15 10:18:27 +02:00
Alex
57c99dc526 refactor(Tray): also search in default theme 2019-04-11 15:28:38 +02:00
Alex
78067462be fix(Tray): icons update 2019-04-11 15:20:39 +02:00
Alex
5870421f84 refactor(temperature): check if file exist on init 2019-04-11 15:08:23 +02:00
Alex
1f6f443c48 Revert "refactor(network): fix skipped messages"
This reverts commit 1ccf372f8e.
2019-04-01 11:41:43 +02:00
Alex
3a8cd91cc0 Revert "refactor: partial revert of 1ccf372f8e9d74cb18e92220c18a0729832fe69e"
This reverts commit 949a4ecf2e.
2019-03-30 09:20:28 +01:00
Alex
949a4ecf2e refactor: partial revert of 1ccf372f8e 2019-03-30 09:03:31 +01:00
Aleksei Bavshin
5a2b5624dc feat(tray): process tray icon update signals 2019-03-29 18:40:28 -07:00
Aleksei Bavshin
82fcee33b3 refactor(tray): use Gio::DBus bindings in SNI Item class 2019-03-29 18:28:29 -07:00
Alex
47142a61ae feat: allow waybar to be positioned on left/right 2019-03-22 12:25:05 +01:00
hoellen
1f924c9c06
Merge branch 'master' into feat-rtsignal 2019-03-18 19:04:11 +01:00
hoellen
38fa7ceab1 add signalhandler for module update 2019-03-18 18:46:44 +01:00
Alex
22cddc5e26 refactor(workspaces): scroll output aware 2019-03-18 14:44:07 +01:00
Alex
1ccf372f8e refactor(network): fix skipped messages 2019-03-18 11:07:36 +01:00
Groggy
7ae549dc9e
Add temperature module 2019-03-13 13:35:43 +01:00
Jonas
80ef63791d [bugfix] idle_inhibitor handles click events correctly
- Declare event handler in ALabel virtual so the idle_inhibitor can
  overriding them
- Handle the right click event in idle_inhibitor and call ALabel handler if needed
2019-03-03 22:02:34 +01:00
John Doe
737da3615f resolves #205 2019-03-03 21:35:32 +11:00
Alex
6633e34bbd
Merge branch 'master' into custom_alt 2019-02-26 12:18:34 +01:00
Ian Hattendorf
c1295c8fd6
Fix crash when monitor unplugged
`Backlight#devices_` was being destructed before
`Backlight#udev_thread_`. Also check if thread is still running after
`epoll_wait`
2019-02-25 20:05:44 -07:00
Robinhuett
39bf403505 feat(custom): Add field for additional data to json 2019-02-25 22:04:09 +01:00
Robinhuett
63e97df9ff fix(backlight) Allow format-alt 2019-02-24 22:15:41 +01:00
Jonas
d708ce2be9 Add idle inhibitor module 2019-02-22 16:55:46 +01:00
Ian Hattendorf
875306804c
Add backlight module
Monitor the backlight level via udev. Poll every `interval` as well,
in case backlight udev events aren't supported.
2019-02-17 15:29:49 -07:00
Alex
d0370acb21 refactor(network): better network disconnection 2019-02-11 19:06:39 +01:00
Alex
dc9fe04d11 refactor: add retry to get external interface 2019-02-06 10:33:12 +01:00
Alex
add9e925f4 fix(Workspaces): button order 2019-02-02 00:36:52 +01:00
Alexis
800d2f388e refactor(network): proper signal strength type 2019-01-13 22:22:22 +01:00
Alexis
399f61df98 refactor: proper modules destruction 2019-01-13 22:22:22 +01:00
Robinhuett
29a2ee1744 refactor: Replace all occurencec of gtkmm.h and only use the necessary headers 2019-01-08 21:05:44 +01:00
Caleb Bassi
8ea0659ee2 Remove ws index from sway ws names 2018-12-28 09:36:02 -08:00
Robinhuett
4698c9d2cf chore(custom): Change int conversion 2018-12-26 11:35:58 +01:00
Robinhuett
11c98f13e3 feat(custom): Add format-icons to custom module
This commit allows custom modules (json only) to set a percentage. This can be displayed either by using {percentage} or by using {icon} with format-icons set.
2018-12-26 03:52:05 +01:00
Alexis
e3c0624c48 fix(battery): typo 2018-12-24 08:38:37 +01:00
Alexis
87e55ea993 feat(battery): check adapter online as fallback when battery status report unknown 2018-12-24 08:37:10 +01:00
Alexis
b554094c7e feat: args && class id 2018-12-18 17:30:54 +01:00
Alexis
1b13f9e38c fix(custom): close endless scripts 2018-12-08 12:58:47 +01:00
Alexis
1d96d57b75 feat: warn user about stopped endless custom module 2018-12-03 09:35:10 +01:00
Alexis
691fb88057 refactor(modules): const bar 2018-12-01 00:10:41 +01:00
Alexis
ad7400d5ce refactor(ALabel): add interval 2018-11-23 11:57:37 +01:00
Alexis
36652158ad refactor(tray): more cpp binding 2018-11-23 10:46:58 +01:00
Alexis
0b1b0eb1a7 feat(tray): multiple hosts 2018-11-22 16:20:49 +01:00
Alexis
f00be0b552 refactor(tray): remove useless variable 2018-11-22 15:51:55 +01:00
Alexis
ba79b4d397 refactor(tray): cleanup and fixes 2018-11-22 15:47:23 +01:00
Alexis
69fceb1c92 fix(tray): sigsev on click when multiple icons is available 2018-11-16 12:01:03 +01:00
Alexis
e42fae32ab feat(network): network info interval 2018-11-16 10:02:12 +01:00
Alexis
94b9f0a399 feat(cpu): add both usage and load 2018-11-15 14:44:43 +01:00
Robinhuett
5c66b1a770 feat(network): display ip address and subnetmask 2018-11-13 21:31:26 +01:00
Robinhuett
e1d98f0ad9 fix(cpu): show correct load
feat(cpu): show cores in tooltip
2018-11-11 03:11:32 +01:00
Alexis
45bb8b1a1f refactor: simpler memory code 2018-11-09 22:55:25 +01:00
Robinhuett
9ea0815dea Use ifstream to reaad /proc/meminfo 2018-11-09 16:24:13 +01:00
Robinhuett
ac0963c608 Use /proc/meminfo for Memory module 2018-11-08 21:09:56 +01:00
David96
168415440f Fix clicking and scrolling through workspaces
The way waybar used the workspace "num", clicking a workspace called "1:
something" resulted in going to a newly created workspace called "1",
because the workspace ipc command expects the workspace name, not its number.
2018-11-05 20:16:19 +01:00
Alex
5ece0d98ee
Merge pull request #78 from mithodin/filesystem-experimental
add option for when filesystem still lives in the experimental namespace
2018-11-03 13:00:04 +01:00
Lucas L. Treffenstädt
d8b6201632 ...and fix the function signature in the header 2018-11-02 22:15:54 +01:00
Lucas L. Treffenstädt
123ce083b4 fix typo and initialize old_status_ 2018-11-02 22:08:55 +01:00
Lucas L. Treffenstädt
0522577fe5 make status and state fully configurable formats 2018-11-02 22:04:43 +01:00
Lucas L. Treffenstädt
236be90c2f add option for when filesystem still lives in the experimental namespace 2018-11-02 20:59:41 +01:00
Alexis
9b201c77d7 feat: battery states && format-full/charging 2018-11-02 11:23:29 +01:00
Robinhuett
e23fbd0add Added return-type json to custom module 2018-11-01 00:40:44 +01:00
Robinhuett
341d3300fa Custom modules can control tooltip and CSS class 2018-10-30 21:28:31 +01:00
Alex
c3e185546d
Merge pull request #68 from harishkrupo/master
Add configuration options for widgets on mouse events
2018-10-30 16:32:37 +01:00
Harish Krupo
3e34137ac7 pulseaudio: Change volume on scroll event
Subscribe for mouse scroll events on the pulseaudio widget
and change volume when event is received.
Scroll up increments the volume and scroll down decrements it.
These events are only subscibed when there are no user defined
commands present for them.

Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2018-10-30 20:53:43 +05:30
Robinhuett
a042eea384 Add module to show sway binding mode 2018-10-30 13:39:30 +01:00
maxice8
047473e5a4
add missing <cstring> include for strncpy, fixes musl
I/usr/include/libdbusmenu-glib-0.4 -flto -fdiagnostics-color=always -DNDEBUG -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -DHAVE_SWAY -DHAVE_LIBPULSE -DHAVE_DBUSMENU -D_FORTIFY_SOURCE=2 -mtune=generic -O2 -D_REENTRANT -pthread  -MD -MQ 'waybar@exe/src_modules_sway_ipc_client.cpp.o' -MF 'waybar@exe/src_modules_sway_ipc_client.cpp.o.d' -o 'waybar@exe/src_modules_sway_ipc_client.cpp.o' -c ../src/modules/sway/ipc/client.cpp
../src/modules/sway/ipc/client.cpp: In member function 'int waybar::modules::sway::Ipc::open(const string&) const':
../src/modules/sway/ipc/client.cpp:47:3: error: 'strncpy' was not declared in this scope
   strncpy(addr.sun_path, socketPath.c_str(), sizeof(addr.sun_path) - 1);
   ^~~~~~~
../src/modules/sway/ipc/client.cpp:47:3: note: 'strncpy' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
../src/modules/sway/ipc/client.cpp:2:1:
+#include <cstring>

../src/modules/sway/ipc/client.cpp:47:3:
   strncpy(addr.sun_path, socketPath.c_str(), sizeof(addr.sun_path) - 1);
   ^~~~~~~
[36/44] Compiling C++ object 'waybar@exe/src_modules_custom.cpp.o'.
[37/44] Compiling C++ object 'waybar@exe/src_client.cpp.o'.
[38/44] Compiling C++ object 'waybar@exe/src_modules_cpu.cpp.o'.
ninja: build stopped: subcommand failed.
2018-10-28 04:06:07 -03:00
Alexis
a55a1ae866 fix(tray): icons size 2018-10-26 14:53:39 +02:00
Alexis
5010227e6b fix(tray): icons 2018-10-26 11:59:03 +02:00
Alexis
f20441fa92 refactor: simpler sni naming 2018-10-26 10:05:54 +02:00
Alexis
9fae5efc06 feat: use interval thread until got inotify event 2018-10-25 17:39:15 +02:00
Tobias Pisani
a13ce6e227
Merge branch 'tray-gdbus' into tray-gdbus 2018-10-05 21:20:36 +02:00
Alexis
091b460d03 feat(Tray): handle click 2018-10-04 18:53:50 +02:00
Alexis
dc799adf45 feat(Tray): icon pixmap 2018-10-04 18:53:50 +02:00
Alexis
75c9477aa8 feat(Tray): handle item unregister 2018-10-04 18:53:50 +02:00
Alexis
75cf1d70fd feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-10-04 18:53:50 +02:00
topisani
9a333088e5 Merge branch 'tray-gdbus' of github.com:topisani/Waybar into tray-gdbus 2018-10-04 18:47:06 +02:00
topisani
b231054b69 Merge remote-tracking branch 'origin/master' into tray-gdbus 2018-10-04 18:04:36 +02:00
topisani
108b1092e5 WIP sni dbus-menu support. 2018-10-04 18:03:01 +02:00
Alexis
00959c7d65
feat(Custom): handle continuous script 2018-09-18 23:15:37 +02:00
Alexis
d5d620e72d
feat(Window): handle closed window 2018-09-18 21:16:35 +02:00
Alexis
fcdb8387af
feat(Tray): handle click 2018-09-17 23:32:05 +02:00
Alexis
86958f264e
feat(Tray): icon pixmap 2018-09-15 19:01:28 +02:00
Alexis
20ff2cab9e
feat(Tray): handle item unregister 2018-09-15 19:01:28 +02:00
Alexis
fc6e42d748
feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-09-15 19:00:45 +02:00
Alexis
0abaaf2f7f
style: fix 2018-09-10 11:16:57 +02:00
Alexis
de5df09fcd
fix(Custom): loop script block main loop 2018-09-05 19:20:19 +02:00
Alexis
7020af7653
feat(Workspaces): urgent, visible, focused icons 2018-09-05 00:16:56 +02:00
Alexis
0eee8eade7
feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-09-02 17:29:16 +02:00
Alexis
6dd9b5ccc4
feat(Pulseadio): port icons 2018-08-29 23:50:41 +02:00
Alexis
53956d9d18
feat(ALabel): Toggleable labels 2018-08-27 01:36:25 +02:00
Alexis
0ad2bc7516 refactor(Network): clean nl socket 2018-08-24 15:32:06 +02:00
Alexis
0dba3abc1d fix(custom): do not take the custom module ref 2018-08-21 10:50:09 +02:00
Alex
49232eed8d
Clean (#31) 2018-08-20 14:50:45 +02:00
Alex
6705134034
Handle screens disconnection (#29) 2018-08-19 13:39:57 +02:00
Alexis
ce50a627be refactor: move command execution into their own file 2018-08-18 17:54:20 +02:00
Alexis
b794ca63d1 feat(custom): exec-if 2018-08-18 17:27:40 +02:00
Alexis
38ede5b3d5 refactor(ipc): clean 2018-08-18 16:01:56 +02:00
Alexis
27dfffa4e3 refactor: style issue 2018-08-18 15:05:18 +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
d280f5e8bd
Network detect (#26) 2018-08-17 14:24:00 +02:00
Alex
6635548d3e
Style code (#25) 2018-08-16 14:29:41 +02:00
Alexis
608b791ac1 refactor(clock): use fmt::localtime 2018-08-15 20:53:27 +02:00
Alexis
f94598c138 feat(sway): add focused window name 2018-08-15 20:17:17 +02:00
Alexis
e3e099f836 feat(workspaces): icons 2018-08-15 14:48:08 +02:00
Alex
cee031d2fa
Workspaces scroll event (#19) 2018-08-14 11:26:06 +02:00
Alexis
1555cb71e1 feat(pulseaudio): volume icons 2018-08-13 22:33:07 +02:00
Alexis
ea9a08d473 refactor(workspaces): listen ipc event 2018-08-13 21:23:43 +02:00
Alex
a423f7032d
Battery event (#18) 2018-08-13 14:05:13 +02:00
Alexis
01894f18cd chore: clean headers 2018-08-12 20:25:19 +02:00
Alexis
b381e2a596 feat(battery): capacity icons 2018-08-11 13:15:31 +02:00
Alexis
2512d51564 fix(gtk): use idle to avoid mutex 2018-08-10 23:21:21 +02:00
Alexis
e16cce646b feat: add custom module to allow execution of external script 2018-08-10 16:26:46 +02:00
Alexis
c52b0c5f03 feat(network): add signal strength percentage 2018-08-10 10:45:13 +02:00
Alexis
f810713570 refactor(pulseaudio): use pulseaudio thread rater than cpp 2018-08-10 00:34:13 +02:00
Alexis
b85289f7ce fix(pulseaudio): remove useless include 2018-08-09 23:59:40 +02:00
Alexis
7ccb76935d feat: add pulseaudio module 2018-08-09 23:55:38 +02:00
Alexis
c276c3b907 feat(network): signal strength 2018-08-09 22:05:15 +02:00
Alexis
23f48cb8b7 refactor: prefer static methods 2018-08-09 20:22:01 +02:00
Alexis
731a352b41 feat: add network module 2018-08-09 16:38:24 +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
d5bfc754c6 feat: cpu module 2018-08-09 01:54:33 +02:00
Alexis
17fc77cb5e feat: memory module 2018-08-09 01:42:52 +02:00
Alexis
c1e2735314 feat: add idle protocol to avoid update workspace when idle 2018-08-09 01:10:07 +02:00
Alexis
fcb6a9aa8b feat: init repo 2018-08-08 23:54:58 +02:00