Alex
a4a4be3381
fix: lint
2024-05-28 09:19:21 +02:00
wmlhwl
b61ea62732
change layer for mode invisible to nullopt
2024-05-19 13:53:09 +02:00
Aleksei Bavshin
8a4a44896a
refactor: merge BarSurface into Bar
...
With only one implementation left, the abstraction is no longer
necessary.
2024-02-19 03:00:38 -08:00
Aleksei Bavshin
4420447e74
fix(bar): use std::string for mode names
...
`string_view` leads to UAF when reading custom mode definitions from the
configuration.
2024-02-19 01:50:40 -08:00
Aleksei Bavshin
2f555a6936
refactor(bar): use Gtk enums for position and orientation
...
Ensure that the position and the corresponding CSS class on window are
always set.
2024-02-14 22:11:21 -08:00
Brenno Lemos
bbb7fb0c82
refactor: don't use a group's box directly in bar
2023-10-14 13:23:11 -03:00
Cherser-s
936937ec78
store margins and global window offset in the bar object
2023-08-25 20:37:14 +03:00
Alex
f2fcadbf62
refactor: lint
2022-04-06 08:37:19 +02:00
John Fredriksson
f573e32d0b
bar: Fix crash when unplugging HDMI
...
There is a double delete situation which causes a SIGSEGV to happen
during destruction of bar.
This was introduced by the group feature patch.
The same object pointer is stored in two different vectors of
unique_ptr<AModule> element. Replace with shared_ptr to handle
reference counting correctly and avoid double delete.
2021-12-05 10:55:07 +01:00
Alex
05f7727dae
Merge branch 'master' into swaybar-ipc
2021-12-01 11:48:03 +01:00
Nicolas Joyard
0c18e57937
add group feature
2021-11-25 12:01:17 +01:00
Aleksei Bavshin
7aaa3df701
feat(bar): add config flag to disable exclusive zone
2021-05-21 22:44:18 -07:00
Aleksei Bavshin
729553d3bc
feat(bar): add config flag for pointer event passthrough
2021-05-21 22:44:17 -07:00
Andreas Backx
0233e0eeec
Added waybar_output.identifier support.
...
Resolves #602 .
2020-12-25 20:54:38 +00:00
Aleksei Bavshin
9c566564e1
fix(bar): address some of RawSurfaceImpl resizing issues
2020-10-28 08:22:26 -07:00
Aleksei Bavshin
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
Aleksei Bavshin
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
Aleksei Bavshin
f97de599dd
refactor: header cleanup
...
Replace a couple of header includes with forward declarations.
2020-10-28 08:08:03 -07:00
Aleksei Bavshin
f01996ae99
fix(bar): CamelCase SurfaceImpl method names
2020-10-28 08:07:40 -07:00
Aleksei Bavshin
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
Aleksei Bavshin
23e5181cac
feat(swaybar-ipc): add swaybar IPC client
2020-10-19 19:34:48 -07:00
Aleksei Bavshin
52361ed360
refactor(bar): make setVisible switch between "default" and "invisible" modes
2021-11-21 11:00:57 -08:00
Aleksei Bavshin
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
Aleksei Bavshin
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
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
6e7f22ac3a
fix: cancel thread and fix window close
2020-05-27 09:10:38 +02: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
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
bb99e6cf5b
fix: check before destroy
2019-07-15 10:06:01 +02:00
Alex
340ec7be91
refactor: AModule
2019-06-15 14:57:52 +02:00
Alex
2a9fa1a4b9
refactor(bar): onRealize, onMap
2019-05-25 17:50:45 +02:00
Lucas Lazare
51be97f9aa
Adding spdlog
2019-05-18 19:44:45 -04:00
Alex
4688002f23
feat: margins
2019-05-09 15:10:13 +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
171ecd53aa
refactor(Bar): roundtrip before setup widgets
2019-04-19 11:56:40 +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
Alex
47142a61ae
feat: allow waybar to be positioned on left/right
2019-03-22 12:25:05 +01:00
hoellen
38fa7ceab1
add signalhandler for module update
2019-03-18 18:46:44 +01:00
Jonas
d708ce2be9
Add idle inhibitor module
2019-02-22 16:55:46 +01:00
Alex
01cec9fcb7
fix(bar): multi screens
2019-02-04 22:09:01 +01:00
Alex
0ddcf26a45
feat: output configuration
2019-02-01 21:45:59 +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
Alexis
691fb88057
refactor(modules): const bar
2018-12-01 00:10:41 +01:00
Alexis
0b1b0eb1a7
feat(tray): multiple hosts
2018-11-22 16:20:49 +01:00