Aleksei Bavshin
8a0e76c8d8
fix(util): avoid creating temporary functor for each event
2020-10-19 18:42:25 -07:00
Aleksei Bavshin
285a264aae
feat(util): SafeSignal class for cross-thread signals with arguments
...
Implement a wrapper over Glib::Dispatcher that passes the arguments to
the signal consumer via synchronized `std::queue`.
Arguments are always passed by value and the return type of the signal
is expected to be `void`.
2020-12-28 17:26:55 -08:00
Joseph Benden
587eb5fdb4
mpd: support password protected MPD
...
- Add MPD module option `password`, and document it.
- Add logic to send the password, directly after connecting to
MPD.
Fixes : #576
Signed-off-by: Joseph Benden <joe@benden.us>
2020-10-19 11:54:36 -07:00
Joseph Benden
8f961ac397
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-18 10:37:57 -07:00
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
Alex
45f7f9b07a
Merge branch 'master' into config-reloading
2020-10-11 23:00:25 +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
Renee D'Netto
943b6bc51b
Implement support for reloading of config files.
...
Fixes #759 .
2020-08-28 22:34:24 +10:00
dmitry
b54fb24745
Remove trim usage in format
...
Some clang-tidy fixes
2020-08-16 15:54:21 +03:00
Aleksei Bavshin
3663b9193d
refactor(bar): separate GTK event handlers for gtk-layer-shell
...
Cleanly separate resizing logic for gtk-layer-shell and manually managed
layer surface code.
2020-08-14 22:47:57 -07:00
Alex
591eb2ea38
Merge pull request #821 from danieldg/new-clock-features
...
New clock features
2020-08-14 22:12:48 +02:00
wjoe
4d775008df
only return a bluetooth module from factory if the rfkill feature is enabled.
2020-08-14 20:59:30 +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
Thorben Günther
9b41b95934
Fix crash with fmt
2020-08-10 20:53:29 +02:00
dmitry
0ad29a5960
Finish base implementation
2020-08-07 23:46:47 +03:00
Alex
5ebd3594e4
Merge pull request #778 from excellentname/handle-sigchld
...
Handle SIGCHLD for exec/forkExec
2020-08-07 13:33:27 +02: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
excellentname
c3359dec1b
Replace signal handler with signal handling thread
2020-07-25 21:02:59 +10:00
excellentname
246f7bf555
Handle SIGCHLD for exec/forkExec
...
When forkExec is called it begins to ignore all SIGCHLD signals for
the rest of the progam's execution so that they are automatically
reaped. However, this means that subsequent waitpid calls in the exec
function will always fail. So instead handle SIGCHLD by reaping any
processes created by forkExec and ignoring all others so that they can be
handled directly by the exec function.
2020-07-21 12:36:48 +10: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
Alex
1d92d78de7
refactor: prefer spdlog
2020-05-24 22:14:17 +02:00
Alex
eb624c929d
fix: fmt format
2020-05-24 22:08:10 +02:00
Alex
7b4ded306b
fix: restart-interval
2020-05-24 21:33:38 +02:00
Alex
9b9d13ab0d
feat: execNoRead
2020-05-24 18:27:21 +02:00
Alex
6ca4e14b29
Feat icons vector ( #716 )
2020-05-22 21:23:04 +02:00
Alex
6b32aca094
feat: debug cmd
2020-05-22 20:57:41 +02:00
Jan Beich
1885ecc958
bluetooth: limit to Linux due to missing /dev/rfkill
...
../src/modules/bluetooth.cpp:3:10: fatal error: 'linux/rfkill.h' file not found
#include <linux/rfkill.h>
^~~~~~~~~~~~~~~~
2020-05-19 10:44:31 +00: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
496e782544
battery: limit to Linux due to /sys/class/power_supply
...
../include/modules/battery.hpp:9:10: fatal error: 'sys/inotify.h' file not found
#include <sys/inotify.h>
^~~~~~~~~~~~~~~
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
Alex
ec451b5908
fix(command): check WIFEXITED
2020-03-30 10:36:24 +02:00
Yuuki Harano
af96150f5c
restore SIGCHLD settings to SIG_DFL.
2020-03-28 01:35:21 +09: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
dd7d78cd60
changes requested
2020-02-23 23:09:05 +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
2c4369a653
add basis for bluetooth module implementation
2020-01-21 15:46:08 +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
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
Cole Helbling
75c6e2e7d5
mpd: add paused format string
2020-01-07 09:15:54 -08: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
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
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
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
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
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
bb99e6cf5b
fix: check before destroy
2019-07-15 10:06:01 +02:00
Alex
a6980fca7f
feat: ellipsize modules
2019-06-28 14:16:09 +02: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
Patrick Hilhorst
7f13478396
AModule: handle X axis scrolling
2019-06-16 13:17:34 +02:00
Alex
90a9c0e25f
refactor: get rid of some mutex
2019-06-15 15:01:03 +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
Alex
11bbc3b24d
Fix twitchy scrolling on touchpads ( #381 )
...
Fix twitchy scrolling on touchpads
2019-06-14 10:38:25 +02:00
Alex
564fdcb369
fix(custom): exit status
2019-06-11 22:09:47 +02:00
Patrick Hilhorst
ae397c8fa2
ALabel: add smooth-scrolling-threshold
2019-06-11 17:56:10 +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
Thomas Kerpe
d20a586734
Prevent zombie apocalypse by ignoring SIGCHLD
...
Fixes Issue #369
2019-06-05 14:35:25 +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
ffadd5c1a7
refactor: avoid useless class vars
2019-05-24 09:49:09 +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
31f63398dc
Merge pull request #319 from Alexays/network
...
Network improvements
2019-05-16 14:11:32 +02:00
Alex
841576497a
refactor: cleaner events
2019-05-16 11:22:22 +02:00
Alex
963d4f68e4
refactor: remove useless param
2019-05-16 09:39:06 +02:00
unresolvedsymbol
7e8eee0571
fix state behavior
2019-05-15 22:14:51 -05: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
92967c7c06
fix(Label): reverse only battery states
2019-05-13 11:36:34 +02:00
Alex
fcb23d3104
feat(temperature): format-icons
2019-05-13 11:31:05 +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
4688002f23
feat: margins
2019-05-09 15:10:13 +02: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
5623bbecfe
feat(idle_inhibitor): pass status to click events exec
2019-05-02 16:56:45 +02: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
79a5e9ecee
feat: multiple bar with same process
2019-04-25 13:25:06 +02:00
Alex
9504b7ac03
fix(Bar): typo
2019-04-24 12:42:16 +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
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