Commit Graph

130 Commits

Author SHA1 Message Date
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
Christoffer Noerbjerg e9b2d275c8 added module group selectors for styling 2020-10-11 22:36:30 +02: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 e3fdd6d94a
fix: don't a warning for a width/height of 0 2020-07-12 11:57:47 +02:00
Alex 6e7f22ac3a fix: cancel thread and fix window close 2020-05-27 09:10:38 +02:00
Aleksei Bavshin dd0144c3cd
fix(bar): set exclusive zone early for gtk-layer-shell
If the bar is using initial size from the config (i.e both width and
height are set and resize is not required), GtkWindow configure event
is is not emitted. Initialize exclusive zone earlier for that case.

Fixes #609
2020-03-04 06:56:25 -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
HardDie eb4c76f5e4 Toggle opacity 2019-11-28 20:28:28 +03: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
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
James Edwards-Jones ae88d6bc3c feat(bar): individual bars can be named for CSS
Allows CSS to select individual waybars when multiple are configured
2019-07-04 02:15:56 +01:00
James Edwards-Jones 4f3c38c542 feat(bar): add CSS class for window position 2019-07-04 02:15:50 +01:00
Alex a6980fca7f feat: ellipsize modules 2019-06-28 14:16:09 +02:00
Alex 71a9a75aad refactor: remove fix workaround 2019-06-16 15:14:31 +02:00
razic 46e5dd93d4
adds the wl output name as a css class
now you can have a custom styling for each bar
2019-06-08 11:04:34 -07:00
Alex 070619fa34 revert: restore idle fix 2019-05-26 20:09:05 +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 aa385e28b6 refactor: execute update on idle 2019-05-18 15:32:40 +02:00
Alex 9234be8544 revert: re-add rountrip before widgets setup 2019-05-17 14:45:02 +02:00
Alex 9d3255fe9f fix: remove redundant roundtrip 2019-05-17 14:41:12 +02: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
Eric Engestrom 4d4562aade fix s/hidded/hidden/ typo 2019-05-01 12:40:12 +01: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 9564adb5b4 refactor(Bar): avoid reinterpret_cast 2019-04-17 19:33:49 +02:00
Alex ecc5f48dd7 feat: partially hide waybar on toggle 2019-04-15 11:11:16 +02:00
Alex dda0cc793e fix: check vertical after parsing multiple outputs 2019-03-25 21:02:00 +01: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 2995da845d fix: config per output 2019-03-10 10:34:56 +01:00
Lucas Lazare d0f56b7bdd Improving mouse buttons support
Adding support for middle, backward, and forward mouse buttons click events, adds config keys : "on-click-middle", "on-click-forward" and "on-click-backward"
Adding the key "format-alt-click" to choose what mouse clicks toggles the alternative format, when present. Possible values (in config): "click-right", "click-left", "click-middle", "click-forward", "click-backward". Other values have the same effect than "click-left". Previous behaviour was to toggle it whenever any click was registered and any click that was not handled by "on-click-right" or "on-click-left" occurred
2019-03-02 14:07:12 -05: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
Alexis a17220054d feat(client): pefix module name on update error 2018-11-24 11:20:03 +01:00
Alexis 4cc48b3cfd fix(client): catch error on update 2018-11-24 11:13:52 +01:00
Victor Berger 2f6abfda59 Don't call layer_surface.set_size on configure 2018-11-03 13:16:13 +01:00
Alexis 7bca5fd6bd feat(Bar): add a warning about minimum height 2018-11-02 12:35:26 +01:00
Alex Maese 4b68840212 Fix #54 2018-11-01 16:00:38 -05:00
Alexis c9a8a07976 fix(window): title on new workspace 2018-10-29 21:52:53 +01:00
Alexis 3f269ff463 fix: check json::value type 2018-10-26 09:27:16 +02:00
Alex 0e6147b644
Merge branch 'master' into tray-gdbus 2018-10-25 11:36:35 +02:00
Alexis 45847847b9 style: disallow resize 2018-10-25 10:43:37 +02:00
topisani 9a333088e5 Merge branch 'tray-gdbus' of github.com:topisani/Waybar into tray-gdbus 2018-10-04 18:47:06 +02:00
Alexis 20ff2cab9e
feat(Tray): handle item unregister 2018-09-15 19:01:28 +02:00
Alex 49232eed8d
Clean (#31) 2018-08-20 14:50:45 +02:00
Alex 6705134034
Handle screens disconnection (#29) 2018-08-19 13:39:57 +02:00
Alexis 0603b99714 fix(bar): proper center modules 2018-08-16 18:11:16 +02:00
Alex 6635548d3e
Style code (#25) 2018-08-16 14:29:41 +02:00
Alexis 9b75302d22 refactor(client): cleanup 2018-08-15 17:31:45 +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 8d5b61a9fd refactor(bar): default width is 0 2018-08-11 10:25:21 +02:00
Alexis 3c66f4baa7 feat(config): can force width 2018-08-11 09:59:35 +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 8b0cdc5f4b feat(bar): choose between layers used 2018-08-10 18:30:13 +02:00
Alexis 7d05f6c612 fix(bar): now use bottom layer 2018-08-10 18:25:07 +02:00
Thomas Plaçais 472a954d03 Allow bar position at the bottom of screen 2018-08-10 00:40:09 +02:00
Alexis 23f48cb8b7 refactor: prefer static methods 2018-08-09 20:22:01 +02:00
Alexis 39a0ae04a8 feat: basic config file 2018-08-09 12:05:48 +02:00
Alexis 4659f04454 fix(workspaces): proper order workspace 2018-08-09 11:12:46 +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 193bd8a79a fix(bar): remove focused window code 2018-08-09 00:41:39 +02:00
Alexis fcb6a9aa8b feat: init repo 2018-08-08 23:54:58 +02:00