faacd76f62
Merge pull request #892 from alebastr/layer-surfaces-v3
...
Refactor layer surface implementations (again)
2020-11-02 10:17:57 +01:00
9785a89013
Making active a bool
2020-11-01 18:25:41 +00:00
a9dae931c7
Renaming idle_inhibitor_modules and idle_inhibitor_status to shorter, more convenient names.
2020-11-01 17:14:05 +00:00
071cb86b45
Moving idle inhibitor shared stuff out of Client and into idle_inhibitor module as static members.
2020-11-01 17:09:48 +00:00
c6743988d3
Removing 'click_param' as it is no longer used.
2020-11-01 16:03:39 +00:00
bb33427f65
Making idle_inhibitor_ private and initialised in constructor, as it was before.
2020-11-01 13:38:58 +00:00
4889e655eb
Since idle_inhibitor's have a surface, we should have one for each inhibitor module. Therefore, the status is stored on the Client, and all modules create or destroy their inhibitors depending on Client's idle_inhibitor_status. Also, when modules are destroyed they remove themselves from Client's idle_inhibitor_modules.
2020-11-01 13:33:28 +00:00
aa4fc3dd29
Idle inhibitor toggle no longer update all modules - a list of idle inhibitors is maintained on the Client.
2020-10-31 17:30:25 +00:00
4872091442
Draft fix for syncing idle inhibitor across outputs. The idle_inhibitor surface has been moved to Client, all instances of idle inhibitor module now use one surface between them. Any time an idle inhibitor is clicked, currently it force updates ALL modules on all outputs, this needs work.
2020-10-31 16:31:27 +00:00
96d965fe04
Add simpleclock as fallback when hhdate is not available
...
ref https://github.com/Alexays/Waybar/issues/668
2020-10-29 19:40:28 +01:00
9c566564e1
fix(bar): address some of RawSurfaceImpl resizing issues
2020-10-28 08:22:26 -07:00
fc5906dbd4
feat(bar): change layer to bottom
when hidden
...
Invisible bar on a `top` layer would still intercept pointer events and
stop them from reaching windows below. Always changing the layer to
to `bottom` along with making bar invisible would prevent that.
2020-10-28 08:18:49 -07:00
591a417b7d
fix(bar): rework surface commit calls for RawSurfaceImpl
...
wayland log shows that some changes were committed twice and some
weren't committed until the next redraw.
2020-10-28 08:14:57 -07:00
f97de599dd
refactor: header cleanup
...
Replace a couple of header includes with forward declarations.
2020-10-28 08:08:03 -07:00
f01996ae99
fix(bar): CamelCase SurfaceImpl method names
2020-10-28 08:07:40 -07:00
7735c80d0e
refactor(bar): Split GLS and raw layer-shell implementations
...
Extract two surface implementations from the bar class: GLSSurfaceImpl
and RawSurfaceImpl. This change allowed to remove _all_ surface type
conditionals and significantly simplify the Bar code.
The change also applies PImpl pattern to the Bar, allowing to remove
some headers and fields from `bar.hpp`.
2020-10-28 07:53:37 -07:00
7a0c0ca613
replace lowercase "k" with uppercase "K"
...
Other units are all uppercased, so using an uppercased "K" makes it look more consistent (especially when {bandwidthUpBits} or something like that is used).
2020-10-28 19:39:50 +08:00
f13f49ccb5
Merge branch 'master' into sway-language-module
2020-10-20 12:22:22 +03:00
ebdeb86703
feat(swaybar-ipc): handle visibility_by_modifier update
2020-10-19 19:35:55 -07:00
23e5181cac
feat(swaybar-ipc): add swaybar IPC client
2020-10-19 19:34:48 -07:00
452dcaa5d3
feat(client): store bar_id argument
2021-11-19 20:28:41 -08:00
52361ed360
refactor(bar): make setVisible switch between "default" and "invisible" modes
2021-11-21 11:00:57 -08:00
6d2ba7a75b
feat(bar): store modes as a map of presets
...
This allows to apply the mode atomically and adds possibility of
defining custom modes (to be implemented).
2021-11-19 19:29:51 -08:00
03a641ed83
feat(bar): support swaybar mode
for configuring window
...
Use `mode` (`waybar::Bar::setMode`) as a shorthand to configure bar
visibility, layer, exclusive zones and input event handling in the same
way as `swaybar` does.
See `sway-bar(5)` for a description of available modes.
2021-09-15 22:35:50 +07:00
79883dbce4
feat(util): optimize SafeSignal for events from the main thread
2020-12-28 17:31:23 -08:00
8a0e76c8d8
fix(util): avoid creating temporary functor for each event
2020-10-19 18:42:25 -07:00
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
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
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
54beabb9dc
Revert "mpd: revamped to event-driven, single-threaded"
2020-10-18 10:45:31 +02:00
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
8349316fcd
Merge branch 'master' into sway-language-module
2020-10-12 13:31:39 +03:00
d6381eeaff
Merge branch 'master' into taskbar/remove-trim
2020-10-11 23:06:32 +02:00
45f7f9b07a
Merge branch 'master' into config-reloading
2020-10-11 23:00:25 +02:00
cc3acf8102
feature: created sway language submodule; added styles & config part for a sway language submodule
2020-10-10 19:09:18 +03:00
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
22e46ea6cc
sndio: Add reconnection support.
2020-10-04 14:59:20 -03:00
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
95f505a457
revert: restore eventfd
2020-09-21 10:56:40 +02:00
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
943b6bc51b
Implement support for reloading of config files.
...
Fixes #759 .
2020-08-28 22:34:24 +10:00
b54fb24745
Remove trim usage in format
...
Some clang-tidy fixes
2020-08-16 15:54:21 +03:00
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
591eb2ea38
Merge pull request #821 from danieldg/new-clock-features
...
New clock features
2020-08-14 22:12:48 +02:00
4d775008df
only return a bluetooth module from factory if the rfkill feature is enabled.
2020-08-14 20:59:30 +02:00
4565f7f8b9
only compile rfkill into the network module if the feature is enabled.
2020-08-14 20:58:48 +02:00
62082bdb01
clock: scroll through multiple timezones
2020-08-13 18:53:18 -04:00
22409d27c5
Fix docs typos
...
Add removing buttons
Adjust handling multiple outputs.
2020-08-11 00:28:56 +03:00
9b41b95934
Fix crash with fmt
2020-08-10 20:53:29 +02:00
0ad29a5960
Finish base implementation
2020-08-07 23:46:47 +03:00