Commit Graph

649 Commits

Author SHA1 Message Date
Alex
c885be369e feat(Network): hide on empty format 2019-12-30 13:46:12 +01: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
Jordi Pakey-Rodriguez
0f0765e517 feat(modules): call user on-update if configured 2019-12-05 14:42:36 -08:00
HardDie
eb4c76f5e4 Toggle opacity 2019-11-28 20:28:28 +03:00
Niv Sardi
6d5b502bbb pulseaudio: export desc as a format
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
2019-11-25 05:16:58 -03:00
Alex
7f7ebb5367 fix(workspaces): add int comparison 2019-10-19 16:19:35 +01: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
1e82982dbd
Detect timezone changes
Fixes #479, because upstream does not intend to.

It may be less expensive to do that only once in a while, or to inotify-watch on /etc/timezone, but this is good enough.
2019-10-04 23:25:09 +02:00
Alex
048d8d328e refactor(Battery): ouput 'Plugged' instead of 'Charging' in the fallback 2019-10-03 09:37:37 +01:00
Hetian Huo
3d1fd4f5ea
change audio scroll bound
Change default behavior from 0% - 99% to 0% - 100%.
2019-09-28 18:05:31 -05: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
Alex
bae83ee4e3 fix: static_cast clamp 2019-09-19 22:07:38 +01:00
Alex
52db1e8e68
Merge pull request #467 from jspngh/bugfix/mpd_module
Add more locking in mpd module
2019-09-19 22:03:23 +01:00
Alex
334bc1e52a fix(Network): clamp signal strength 2019-09-19 21:59:28 +01: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
Benjamin Cheng
a63bc84918
Add configurable time display for battery module
Adds a `format-time` configuration for the battery module so that users
can configure how they want their remaining time to be displayed.

The default format remains the same as before, i.e. `{H} h {M} min`,
but users can choose something like `{H}:{M:02d}` to give an output
like `4:29` if wanted.
2019-09-04 14:43:52 -04: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
36fc8365ee
Merge pull request #446 from bschacht/fix-typo-persistant
Fix typo: persistant -> persistent
2019-08-31 21:13:31 +02:00
Birger Schacht
2646390e28 Fix typo: persistant -> persistent 2019-08-31 19:57:44 +02:00
Birger Schacht
66f2cbed51
Fix typo
ouput -> output
2019-08-31 17:50:56 +00:00
Alex
f592e3d38b
Merge branch 'master' into fmt 2019-08-29 11:29:48 +02:00
Alex
ceedc689ec
Merge branch 'master' into master 2019-08-29 11:05:55 +02:00
Alex
a257126685
Merge branch 'master' into asan-fixes 2019-08-29 11:04:24 +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
xPMo
e38df047fd
sway/mode: enable pango markup on supported modes
IPC reports {"mode": "mode_string", "pango_markup": bool}.
Use this to conditionally enable pango markup.
2019-08-28 19:48:33 -05: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
Aleksei Bavshin
8f9e6c132d
fix(network): stack-use-after-return found by address sanitizer
Fixes compilation with clang.
2019-08-27 00:11:40 -07:00
tufteddeer
d8b1b0d0af
add support for muted bluetooth audio, fix #420 2019-08-18 16:15:21 +02:00
Joel Nordström
21a89ac46d
Typo 2019-07-15 12:21:31 +02:00
Alex
bb99e6cf5b fix: check before destroy 2019-07-15 10:06:01 +02:00
crwxrws
617b370104 fix(pulseaudio): connect scroll event handler
Reconnect the event handler that was removed in commit 527144a.

Fixes Alexays#400
2019-07-06 15:51:00 +02:00
sheenobu
a6c0bc5a52 Fix deadlock on workspace scrolling
Make the mutex guard lifecycle finish before the send ipc command
by adding scope around the code.

Fixes #395 .
2019-07-05 20:47:44 -07: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
bd5146fdcf fix(Label): ELLIPSIZE all label modules 2019-06-28 13:49:04 +02:00
Alex
c916fe258e fix(network): no need to check family here 2019-06-25 07:55:55 +02:00
Alex
c621afb0c4
Merge branch 'master' into clean 2019-06-22 18:15:34 +02:00
Alex
bcf4725349
Cleanup on clean branch (#391)
Cleanup on clean branch
2019-06-18 09:43:34 +02:00
Patrick Hilhorst
12b30ca25f
AModule::getScrollDir: convert reset if-else into switch 2019-06-17 20:42:19 +02:00
Patrick Hilhorst
86d6668ed4
AModule::getScrollDir: convert if-else chain into switch statement 2019-06-17 20:40:13 +02:00
Patrick Hilhorst
7c85aec8e0
AModule::getScrollDir: get deltas in a more C++ way 2019-06-17 20:29:37 +02:00
Patrick Hilhorst
2c038d1977
AModule::getScrollDir: move dir inside the only scope it is relevant 2019-06-17 20:09:53 +02:00
Alex
ff9d598c16 fix: add proper mutex 2019-06-17 11:39:45 +02:00
Alex
71a9a75aad refactor: remove fix workaround 2019-06-16 15:14:31 +02:00
Alex
05f796158b fix: typo 2019-06-16 15:13:40 +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
Nenad Stojanovikj
1b7068e61d Expose total memory to the formatting directive 2019-06-14 22:48:16 +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
028b184f7b fix(workspaces): persistant class with empty outputs 2019-06-12 09:50:33 +02:00
Patrick Hilhorst
396f7d4525
Workspaces: implement horizontal continuous scrolling 2019-06-11 18:44:54 +02:00
Alex
3c9b533997 fix(window): avoid hexpand 2019-06-11 17:57:17 +02:00
Patrick Hilhorst
ae397c8fa2
ALabel: add smooth-scrolling-threshold 2019-06-11 17:56:10 +02:00
Alex
ec75be0bc3 fix(Tray): click behaviour 2019-06-11 17:53:16 +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
Alex
c2e9ed6091 feat(workspaces): add class to persistant workspaces 2019-06-11 14:08:48 +02:00
Alex
a37b4687ff Revert "refactor(window): we don't need to subscribe workspace events"
This reverts commit 648eecdd83.
2019-06-11 14:06: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
648eecdd83 refactor(window): we don't need to subscribe workspace events 2019-06-07 15:08:33 +02:00
Alex
1962caf144 refactor(window): gtk stuff in update method 2019-06-04 17:34:00 +02:00
Alex
9dbf057f58 fix(custom): hide on empty format 2019-06-03 09:50:35 +02:00
Alex
0b01b35c76 refactor(pulseaudio): only watch changes 2019-05-31 16:21:01 +02:00
Alex
fcf2d18a01 refactor: destroy threads first 2019-05-29 17:53:22 +02:00
Alex
b05d4cd413 fix(network): retry around all getExternalInterface 2019-05-29 16:17:40 +02:00
Alex
9b89fc6470 refactor: disable bar scroll by default 2019-05-28 16:11:33 +02:00
Alex
c06725aa69 fix(network): better disconnect handler 2019-05-28 11:21:59 +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
74e40432e5 fix(network): linked state 2019-05-28 09:58:48 +02:00
Alex
6e69af8967 refactor(custon): avoid useless logic 2019-05-27 00:08:16 +02:00
Alex
be2fa743eb refactor(custon): hide on empty text 2019-05-27 00:05:29 +02:00
Alex
6e73c6db61 refactor(network): remove last_ext_iface_ 2019-05-26 23:16:09 +02:00
Alex
253366baf4 refactor(network): remove useless assignment 2019-05-26 22:40:29 +02:00
Alex
ecec02c8be refactor(network): better events handler 2019-05-26 22:36:26 +02:00
Alex
070619fa34 revert: restore idle fix 2019-05-26 20:09:05 +02:00
Alex
d4ace4b4d8 fix(network): subscribe only wanted family 2019-05-26 20:06:27 +02:00
Alex
5fd92b3c28 fix(network): don't check IFF_UP 2019-05-26 19:53:10 +02:00
Alex
c0a39f34cd refactor(network): don't clear ipaddr 2019-05-25 18:02:36 +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
2b34f3a30f refactor: parse args before app creation 2019-05-23 10:13:49 +02:00
Alex
85d60f95c4 refactor(network): const methods 2019-05-22 22:20:50 +02:00
Alex
755d38d4d6 fix(custom): bad alloc 2019-05-22 19:46:56 +02:00
Alex
b673279a43 style: remove non wanted comment 2019-05-22 12:22:56 +02:00
Alex
9e1200ae32 refactor: also pass id to custom modules 2019-05-22 12:20:13 +02:00
Alex
e999cca7a6 style: don't specify included namespaces 2019-05-22 12:15:59 +02:00
Alex
d24d85bebf refactor: move label name and id to label contructor 2019-05-22 12:06:24 +02:00
Alex
97bd637f5d refactor(clock): avoid usless time_point_cast 2019-05-22 11:51:33 +02:00
Alex
23d4a811db refactor(clock): avoid usless duration_cast 2019-05-22 11:48:02 +02:00
Alex
14ace24a26 style(battery): format 2019-05-22 10:09:05 +02:00
Alex
2fa581c7ea fix(battery): multiple paths 2019-05-22 10:06:54 +02:00
Max Reppen
cf3cb4c61f feat(Battery) Format argument for time to full|empty 2019-05-21 13:44:05 -04: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
7a3febf6a7 fix(pulseaudio): default source format 2019-05-21 14:55:17 +02:00
Alex
bb4af295bc feat(pulseaudio): source info 2019-05-21 14:53:31 +02:00
Alex
cf7663153d fix(pulseaudio): allow to scroll to 0 2019-05-21 09:29:39 +02:00
Alex
12a251c3a4 fix(mode): escape text 2019-05-20 20:51:19 +02:00
Alex
4accdd4524 fix(Workspace): ordering 2019-05-20 20:46:59 +02:00
Aleksei Bavshin
50bfe78aed refactor(tray): improve error handling and add debug logs 2019-05-20 08:00:07 -07:00
Aleksei Bavshin
afd291a566 fix(tray): Fix glib assertion when old property value is missing
xembedsniproxy sets WindowId as 'i' instead of 'u' and DBus::Proxy
ignores incorrectly typed value.
2019-05-20 07:16:08 -07:00
Aleksei Bavshin
316a9be656 refactor(tray): Use spdlog for SNI::Item error messages 2019-05-20 07:16:08 -07:00
Aleksei Bavshin
cdb347aaca Add --log-level command line option 2019-05-20 06:48:44 -07:00
Alex
ed240ac105 feat: add warning about tray requirements 2019-05-20 15:21:13 +02:00
Alex
232073ca17
Fix clock is always a second off (#333)
Fix clock is always a second off
2019-05-20 14:45:34 +02:00
Alex
5314b74dae fix: remove workaround 2019-05-20 14:39:49 +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
Lucas Lazare
0ec8774a08 Fixing: missing argument for fmt, workspace order
Persistant workspaces would reorder upon their first creation
2019-05-20 08:23:42 -04:00
Alex
071b4928dc fix(workspaces): order 2019-05-20 13:31:02 +02:00
Alex
7c4d75d428 feat: create new workspace on the wanted output 2019-05-20 13:21:22 +02:00
Alex
67593b8c0f
Merge pull request #332 from Organic-Code/enhancement/spdlog
Adding spdlog
2019-05-20 12:07:58 +02:00
Alex
cff39bc7cf fix: remove watcher_id fixme comment as fixed on master 2019-05-20 11:56:55 +02:00
Alex
f2edc8f965 feat(Watcher): define watcher_id 2019-05-20 11:47:52 +02:00
Alex
7b11283b73
Allow formatting memory with used and available memory (#334)
Allow formatting memory with used and available memory
2019-05-20 11:30:19 +02:00
Alex
03e43fb31d refactor: remove wlroots dependency 2019-05-20 09:49:54 +02:00
isheshukov
5feb478611
Merge branch 'master' into amd_fix 2019-05-19 22:40:47 +03:00
RX14
6bf64cd04d
Allow formatting memory with used and available memory 2019-05-19 16:34:42 +01:00
RX14
5e43b4f587
Fix clock is always a second off 2019-05-19 13:30:19 +01:00
Lucas Lazare
e8dd1e2d2c Adding missing ; and _
I'll admit I don't have libmpd on my computer
2019-05-18 20:10:42 -04:00
Lucas Lazare
51be97f9aa Adding spdlog 2019-05-18 19:44:45 -04:00
Lucas Lazare
a00f812cd1 Typo 2019-05-18 18:21:01 -04:00
Lucas Lazare
863e0babd8 Adding break when sorted_workspaces is filled 2019-05-18 12:09:30 -04:00
Lucas Lazare
8ba3052dd1 Adding comments & fixing code style 2019-05-18 12:04:09 -04:00
Lucas Lazare
1a76aa0c8c Improving ordering 2019-05-18 11:58:01 -04:00
Lucas Lazare
85f177a213 Adding sway/workspaces:persistant_workspaces in config file
c.f. https://github.com/Alexays/Waybar/issues/210
2019-05-18 10:58:55 -04:00
Alex
ff28de0482 feat(custom): update on click/scroll 2019-05-18 16:07:55 +02:00
Alex
67786c32a8 fix(merge): re-add missing code 2019-05-18 15:45:18 +02:00
Alex
93a644eec4
Merge branch 'master' into master 2019-05-18 15:42:27 +02:00
Alex
aa385e28b6 refactor: execute update on idle 2019-05-18 15:32:40 +02:00
Lucas Lazare
2c1a3d0430 Adding logging 2019-05-18 09:27:47 -04:00
Lucas Lazare
b31a64ad00 Displaying in ko/s and kb/s instead of interval dependant unit 2019-05-18 09:13:00 -04:00
Alex
4865a9ad6c fix(network): reset frequency 2019-05-18 13:57:50 +02:00
RX14
3e1c77d158
Add option to disable scroll wraparound on workspaces 2019-05-18 12:15:35 +01:00
Alex
d34c3a801c fix(Network): less updates 2019-05-18 12:27:10 +02:00
Lucas Lazare
794fb12e8c Adding bandwidth support for network module [linux only] 2019-05-17 23:39:51 -04:00
Ilia Sheshukov
f743882baa Merge branch 'master' into amd_fix 2019-05-17 22:33:02 +03:00
Ilia Sheshukov
9fa0eb7068 more elegant amd fix 2019-05-17 22:30:45 +03:00
Alex
43d724ebad
Merge pull request #326 from RX14/rename-bar-scroll
Rename the "disable-workspace-scroll" option to "disable-bar-scroll"
2019-05-17 20:24:15 +02:00
RX14
0d59f7b7d1
Rename the "disable-workspace-scroll" option to "disable-bar-scroll" 2019-05-17 17:42:11 +01:00