Commit Graph

27 Commits

Author SHA1 Message Date
b8322c4b4b button: Add AButton class
The AButton class is designed as full a substitute to ALabel. The
GtkButton attribute 'button_' is initialized with a label. This
label can the be referenced by the subsequent inheritors of AButton
instead of the GtkLabel attribute 'label_' of ALabel.
For convenience a GtkLabel* 'label_' attribute is added to AButton.

If the button cannot be clicked it is disabled, effectively acting
like its label predecessor.

GtkButton seems to catch one-click mouse events regardless of the
flags set on it. Therefore, 'signal_pressed' is connected to a
function creating a fake GdkEventButton* and calling 'handleToggle'
(for details on this possible bug in GTK see:
https://stackoverflow.com/questions/45334911 )

In accordance with other GtkButtons (i.e. the sway/workspace ones)
set_relief(Gtk::RELIEF_NONE) is called on the 'button_' instance.
2022-10-12 10:25:29 +02:00
f2fcadbf62 refactor: lint 2022-04-06 08:37:19 +02:00
f43f8773c4 Merge pull request #1169 from roosemberth/pa-control-active-sink
pulseaudio: Control currently running sink
2021-07-20 14:01:23 +02:00
86a43b9042 pulseaudio: Control currently running sink
In a system with multiple sinks, the default sink may not always be
the once currently being used. It is more useful to control the
currently active sink rather than an unused one.

This patch does not make any difference if the system only uses the
default sink.

Signed-off-by: Roosembert Palacios <roosemberth@posteo.ch>
2021-07-20 10:16:53 +02:00
9c2b5efe7b Support per-device icon in pulseaudio 2021-07-15 09:20:43 +02:00
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
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
8fb3211594 Use PA_PROP_DEVICE_FORM_FACTOR for device icon. 2020-01-13 11:34:33 +01:00
527144a440 refactor(pulseaudio): proper scroll override 2019-06-16 15:08:08 +02:00
340ec7be91 refactor: AModule 2019-06-15 14:57:52 +02:00
bb4af295bc feat(pulseaudio): source info 2019-05-21 14:53:31 +02:00
4f1defe6d5 fix(Pulseaudio): avoid handleScroll override 2019-05-13 11:46:12 +02:00
Dan
e343cf4b00 fix(btformat): fixes an issue where btformat was not being correctly detected 2019-05-10 12:07:17 -04:00
6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
b554094c7e feat: args && class id 2018-12-18 17:30:54 +01:00
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
6dd9b5ccc4 feat(Pulseadio): port icons 2018-08-29 23:50:41 +02:00
53956d9d18 feat(ALabel): Toggleable labels 2018-08-27 01:36:25 +02:00
49232eed8d Clean (#31) 2018-08-20 14:50:45 +02:00
6705134034 Handle screens disconnection (#29) 2018-08-19 13:39:57 +02:00
b1fd4d7b82 feat(modules): generic label module to allow max-length on all labels 2018-08-18 11:43:48 +02:00
6635548d3e Style code (#25) 2018-08-16 14:29:41 +02:00
1555cb71e1 feat(pulseaudio): volume icons 2018-08-13 22:33:07 +02:00
01894f18cd chore: clean headers 2018-08-12 20:25:19 +02:00
f810713570 refactor(pulseaudio): use pulseaudio thread rater than cpp 2018-08-10 00:34:13 +02:00
b85289f7ce fix(pulseaudio): remove useless include 2018-08-09 23:59:40 +02:00
7ccb76935d feat: add pulseaudio module 2018-08-09 23:55:38 +02:00