Commit Graph

371 Commits

Author SHA1 Message Date
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 171ecd53aa refactor(Bar): roundtrip before setup widgets 2019-04-19 11:56:40 +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 d05b8398fa fix: prefer to hold running even when no window is open 2019-04-15 11:42:16 +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
Alex 83a6475510 feat: can disable tooltip 2019-02-22 11:35:47 +01:00
Ian Hattendorf e67347f6ad
Gate backlight module behind libudev availability 2019-02-18 21:11:18 -07: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 01cec9fcb7 fix(bar): multi screens 2019-02-04 22:09:01 +01:00
Alex add9e925f4 fix(Workspaces): button order 2019-02-02 00:36:52 +01:00
Alex 0ddcf26a45 feat: output configuration 2019-02-01 21:45:59 +01:00
Alexis eace8c549f fix(Network): format-alt 2019-01-13 22:36:37 +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
Caleb Bassi b4d38294a7 Fix typo 2018-12-27 16:03:29 -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 c7b0639f32 fix(workspaces): check thread is running 2018-12-09 10:49:28 +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 087de4e956 refactor(client): lambda to method 2018-11-24 11:04:56 +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 8db94f7efd revert(ALabel): ref on format 2018-11-22 16:50:42 +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
Alexis 9d4048983d refactor: remove useless tmp variable 2018-11-01 09:27:00 +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
Harish Krupo d7d1ebd736 ALabel: Add support for configurable mouse events
This patch adds 3 new configuration options applicable for
subclasses of ALabel. The options can be used to execute
user defined code in response to the 3 mouse events:
* on-click: The left mouse button click
* on-scroll-up
* on-scroll-down
This patch also modifies the behaviour of the format-alt toggle
such that when the on-click event is configured, format-alt is
toggled on any mouse click other than left click. When on-click
is not defined, any mouse button would toggle format-alt.

Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2018-10-30 20:52:23 +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 fd76e98552 fix: ifdef include 2018-10-25 19:12:28 +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 55e1905284
fix(Sway): compile without sway 2018-09-10 11:25:53 +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 d0933ab50f
fix(thread): check before detach 2018-08-29 21:07:58 +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
Alexis 8be67d5008 chore: optional deps 2018-08-20 17:20:02 +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 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 9b75302d22 refactor(client): cleanup 2018-08-15 17:31:45 +02:00
Alexis e3e099f836 feat(workspaces): icons 2018-08-15 14:48:08 +02:00
Alexis d1d51b76aa fix(client): try to fix #20 2018-08-15 01:53:43 +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 6ff296a4b0 refactor(bar): prefer standard unique_ptr 2018-08-11 12:49:28 +02:00
Alexis 8d5b61a9fd refactor(bar): default width is 0 2018-08-11 10:25:21 +02:00
Alexis 424ebb3c9b feat(workspace): only show workspaces which are on same output as bar 2018-08-11 00:32:59 +02:00
Alexis 2512d51564 fix(gtk): use idle to avoid mutex 2018-08-10 23:21:21 +02:00
Alexis c792871f6e feat(bar): choose height from config file 2018-08-10 18:46:31 +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
Alex e749f00aa7
Merge pull request #1 from BlueGone/multiple-default-paths
Add different default paths for config and css files
2018-08-09 14:22:41 +02:00
Thomas Plaçais 6f9fb72cdf Add different default paths for config and css files 2018-08-09 14:20:22 +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 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