Commit Graph

2208 Commits

Author SHA1 Message Date
Alex 51bfe9eaf6
Merge pull request #881 from olemartinorg/master
Support format-{state} for cpu/disk/memory
2021-01-18 12:02:59 +01:00
Alex a25cf4d188
Merge pull request #891 from danieldg/temp-tooltip
Add "tooltip-format" to temperature module
2021-01-18 12:01:34 +01:00
Alex ede1146ddc
Merge pull request #903 from spk/simpleclock
Add simpleclock as fallback when hhdate is not available
2021-01-18 12:00:48 +01:00
sjtio 9d5ce45f3b add option tag-labels to river/tags 2021-01-15 01:07:56 +00:00
Kamus Hadenes a7941a00c5
fix missing parentheses 2021-01-12 19:10:34 -03:00
Kamus Hadenes f4ffb21c8c
improve sink/source separation
Add additional fields, namely `source_volume` and `source_desc`
Add `tooltip-format`, reverting to default behavior if not specified
Add additional CSS classes, namely `sink-muted` and `source-muted`
2021-01-12 18:51:44 -03:00
Aleksei Bavshin b79301a5bd
fix(wlr/taskbar): protocol error when reconnecting outputs
Destroy request is not specified for foreign toplevel manager and it
does not prevent the compositor from sending more events.
Libwayland would ignore events to a destroyed objects, but that could
indirectly cause a gap in the sequence of new object ids and trigger
error condition in the library.

With this commit waybar sends a `stop` request to notify the compositor
about the destruction of a toplevel manager. That fixes abnormal
termination of the bar with following errors:
```
(waybar:11791): Gdk-DEBUG: 20:04:19.778: not a valid new object id (4278190088), message toplevel(n)

Gdk-Message: 20:04:19.778: Error reading events from display: Invalid argument
```
2021-01-08 15:41:48 -08:00
Aleksei Bavshin ef9c3ef1cb
fix(wlr/taskbar): fix wl_array out-of-bounds access
wl_array->size contains the number of bytes in the array instead of the
number of elements.
2021-01-08 15:28:29 -08:00
Johannes Christenson f20dbbbd74 Fixing logic in getIcon 2021-01-03 19:08:06 +01:00
ocisra 00046d309d add an option to use battery design capacity as a reference for percentage informations 2021-01-03 15:25:19 +01:00
Alex bd208fcec6
Merge pull request #956 from AndreasBackx/feature/output-identifier
Added waybar_output.identifier support. #602
2021-01-02 11:52:14 +01:00
dorgnarg 42e8667773 Better way of doing it by just moving the original delcarations after everything's for sure been set 2020-12-28 13:44:16 -07:00
dorgnarg c0361e8546 A hopeful fix to the module section classes when the bar is vertical 2020-12-28 13:34:59 -07:00
Andreas Backx 3fbbbf8541
Removed redundant log line. 2020-12-25 23:31:29 +00:00
Andreas Backx e5684c6127
Separated name and description setup and moved bar creation to done callback. 2020-12-25 23:03:01 +00:00
Andreas Backx 0233e0eeec
Added waybar_output.identifier support.
Resolves #602.
2020-12-25 20:54:38 +00:00
Andrea Scarpino 005af7f7b7 Revert "Fix waybar-pulseaudio with pipewire-pulse"
This reverts commit 0d03c1d4da.
2020-12-25 17:37:21 +01:00
Alex dd2792b204
Merge pull request #937 from ilpianista/bugfix/pipewire-pulse
Fix waybar-pulseaudio with pipewire-pulse
2020-12-23 21:39:40 +01:00
Harit Kapadia cb7baee045 Fixed compile error 2020-12-18 18:17:17 -05:00
Harit Kapadia 85ca5027f4 Fix Sway #waybar.solo CSS rule applying on split
This error occurs because of an incorrect assumption that the size of
the list of nodes that contains the focused window is the number of
windows in a workspace.

The windows in a workspace are stored as a tree by Sway, rather than a
list, so the number of windows has to be found by counting the leaves of
a workspace tree.
2020-12-18 18:14:14 -05:00
Andrea Scarpino d382734698
Merge branch 'master' into bugfix/pipewire-pulse 2020-12-09 18:14:22 +01:00
Andrea Scarpino 0d03c1d4da Fix waybar-pulseaudio with pipewire-pulse 2020-12-04 23:51:10 +01:00
Aleksei Bavshin 68b6136989
fix(sway/workspaces): ignore emulated scroll events
GDK Wayland backend can emit two events for mouse scroll: one is a
GDK_SCROLL_SMOOTH and the other one is an emulated scroll event with
direction. We only receive emulated events on a window, thus it is not
possible to handle these in a module and stop propagation.

Ignoring emulated events should be safe since those are duplicates of
smooth scroll events anyways.

Fixes #386
2020-12-04 01:09:42 -08:00
Till Smejkal 18f129a712 Spit out a warning when trying to set/unset fullscreen without server supporting it
Previously we only checked when connecting to the server whether it had
the minimum required version but didn't act accordingly in the various
functions that use the functionality of later versions. If there were a
server in the wild, that actually would not have this functionality,
there would have been a crash. Fix this by checking the version before
using the functionality and gracefully abort it.
2020-12-04 08:04:02 +01:00
Till Smejkal bb60e68b9d Update to the latest version of the foreign toplevel manager protocol
There was an update the of the toplevel manager protocol. Unfortunately,
there are no new interesting updates with regard to the taskbar
implementation. Nonetheless, update the protocol xml files to the latest
version so that the implementation is up-to-date.

While being there, also change the debug warning that is shown when
there is a version mismatch between the server and client version of the
protocol.
2020-12-04 08:03:43 +01:00
Pedro Côrte-Real 09c89bcd20 Don't update battery list on every update
Speedup battery state update by only updating the battery list when we
get a CREATE/DELETE event in the directory or whenever we do a full
refresh on the interval.
2020-12-03 09:52:33 +00:00
Alex cc365a8175
Merge pull request #923 from pedrocr/fix-battery-calculations
Simplify and improve battery state calculations
2020-12-02 14:35:56 +01:00
Alex f74c22e851
Merge pull request #930 from tchebb/fix-compiler-warnings
Fix a few compiler warnings
2020-12-01 09:09:02 +01:00
Thomas Hebb 29f78e0426 Fix a few compiler warnings
There was one uninitialized value warning and two mismatched-sign
compare warnings. They both appear valid, the first occurring when MPD's
"format-stopped" contains {songPosition} or {queueLength} and the second
occurring when the clock's "timezones" array is more than 2 billion
items long (not likely, I admit). Fix both issues.
2020-11-30 18:07:22 -08:00
Thomas Hebb 85df7ce2da Add debug log message to print each bar's widget tree
This is very useful when writing CSS that affects more than just a
single widget. Pass `-l debug` to enable debug logging and show this
information.

Example output:

    [2020-11-30 12:38:51.141] [debug] GTK widget tree:
    window#waybar.background.bottom.eDP-1.:dir(ltr)
      decoration:dir(ltr)
      box.horizontal:dir(ltr)
        box.horizontal.modules-left:dir(ltr)
          widget:dir(ltr)
            box#workspaces.horizontal:dir(ltr)
          widget:dir(ltr)
            label#mode:dir(ltr)
          widget:dir(ltr)
            label#window:dir(ltr)
        box.horizontal.modules-center:dir(ltr)
        box.horizontal.modules-right:dir(ltr)
          widget:dir(ltr)
            box#tray.horizontal:dir(ltr)
          widget:dir(ltr)
            label#idle_inhibitor:dir(ltr)
          widget:dir(ltr)
            label#pulseaudio:dir(ltr)
          widget:dir(ltr)
            label#network:dir(ltr)
          widget:dir(ltr)
            label#cpu:dir(ltr)
          widget:dir(ltr)
            label#memory:dir(ltr)
          widget:dir(ltr)
            label#temperature:dir(ltr)
          widget:dir(ltr)
            label#backlight:dir(ltr)
          widget:dir(ltr)
            label#battery:dir(ltr)
          widget:dir(ltr)
            label#clock:dir(ltr)
2020-11-30 17:23:02 -08:00
Pedro Côrte-Real 31a4aff1f8 Don't show battery estimate at 0
If we think we're done might as well not show 0h 0min as the estimate
and just not show anything.
2020-11-27 14:23:37 +00:00
Pedro Côrte-Real 89ca155c43 Support hotplugging of batteries
Refresh the list of batteries on update to handle hotplug correctly.
Probably fixes #490.
2020-11-27 13:56:04 +00:00
Pedro Côrte-Real 908fa2c6c2 Make the battery full-at go to 100%
full-at was capped at the value instead of allowing the battery to show
100% when you were at the full-at value. Uncapping makes more sense as
it makes the full-at value the new 100% and the scale goes down from
there. Whereas before the battery would stay at the full-at value until
it went down enough which is unrealistic.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real f45d582957 Always mark battery as full at 100%
Since we're now clamping at 100% and rounding, mark as full at that
point. Some batteries will stay in charging state for a long time while
stuck at the same charge level. Just mark them as full to not be
confusing.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real eb3f4216d4 Show battery state as rounded number
Round the battery charge state so that 99.9% shows as 100%.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real e0cdcb6e30 Handle charging above 100% gracefully
When calibrating a battery it's possible to go above 100%. Handle that
gracefully by just presenting the battery as full and 100%.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real a7056f7cce Calculate battery state from just energy values
The energy values are all that's needed to calculate the battery state.
Using other values for the total capacity results in broken results in
some cases. This matches the output of TLP and i3status, while also
being more straightforward.
2020-11-27 11:02:11 +00:00
Daniel De Graaf 3b576ae12d Add "tooltip-format" to temperature module 2020-11-26 20:23:19 -05:00
Aleksei Bavshin 2695985da0
fix: compilation error with gcc 11
../src/modules/network.cpp:22:6: error: ‘optional’ in namespace ‘std’ does not name a template type
   22 | std::optional<unsigned long long> read_netstat(std::string_view category, std::string_view key) {
      |      ^~~~~~~~
../src/modules/network.cpp:7:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
    6 | #include "util/format.hpp"
  +++ |+#include <optional>
    7 | #ifdef WANT_RFKILL
2020-11-26 15:42:44 -08:00
Alex 05b12602d4
fix: don't check against nullptr 2020-11-26 15:16:55 +01:00
Alex 374d5ae5a1
fix: check get_icon return non nullpt 2020-11-26 15:10:33 +01:00
Arnaud Vallette d'Osia d8dafa7ecc
add minimize-raise() action 2020-11-18 20:12:07 +01:00
Alex faacd76f62
Merge pull request #892 from alebastr/layer-surfaces-v3
Refactor layer surface implementations (again)
2020-11-02 10:17:57 +01:00
Jordan Leppert 9785a89013 Making active a bool 2020-11-01 18:25:41 +00:00
Jordan Leppert b015836e7b Ensure style class is removed from all IdleInhibitor instances by moving it to update(). 2020-11-01 18:17:51 +00:00
Jordan Leppert a9dae931c7 Renaming idle_inhibitor_modules and idle_inhibitor_status to shorter, more convenient names. 2020-11-01 17:14:05 +00:00
Jordan Leppert 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
Jordan Leppert c6743988d3 Removing 'click_param' as it is no longer used. 2020-11-01 16:03:39 +00:00
Jordan Leppert bb33427f65 Making idle_inhibitor_ private and initialised in constructor, as it was before. 2020-11-01 13:38:58 +00:00
Jordan Leppert 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
Jordan Leppert 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
Jordan Leppert 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
Jordan Leppert abe1fa5bd4 Custom module - only call label_.set_tooltip_markup if tooltip markup has actually changed - fixes tooltips not appearing at all if a custom module is updating too frequently. 2020-10-31 12:21:51 +00:00
Laurent Arnoud 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
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 fe3aeb36c5
refactor(bar): wrap layer_surface pointer in unique_ptr 2020-10-28 08:15:02 -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 2b3d7be9cb
feat(bar): let gtk-layer-shell manage exclusive zone
Previous attempts to use auto exclusive zone from gtk-layer-shell failed
because gls was expecting real booleans (`TRUE`/`FALSE`) as set_anchor
arguments. With that being fixed, gtk_layer_auto_exclusive_zone_enable
makes gls handle everything related to the bar resizing.

The only remaining purpose of onConfigureGLS is to log warnings and bar
size changes; gtk-layer-shell code path no longer needs saved width_ or
height_ values.
2020-10-28 07:53:32 -07:00
Aleksei Bavshin 67d54ef3d5
fix(wlr/taskbar): do not bind to unsupported protocol versions
It's not allowed to bind to a higher version of a wayland protocol than
supported by the client. Binding wlr-foreign-toplevel-manager-v1 v3 to
a generated code for v2 causes errors in libwayland due to a missing
handler for `zwlr_foreign_toplevel_handle_v1.parent` event.
2020-10-25 10:26:44 -07:00
Flakebi be3f47b374
Fix various mpd bugs
- Add elapsedTime and totalTime to tooltip format arguments
- Catch format exceptions and print error
- Copy mpd connection error message before it gets freed
- Update display after connection to mpd was lost
2020-10-23 21:13:20 +02:00
nikto_b f13f49ccb5
Merge branch 'master' into sway-language-module 2020-10-20 12:22:22 +03:00
Aleksei Bavshin ebdeb86703
feat(swaybar-ipc): handle visibility_by_modifier update 2020-10-19 19:35:55 -07:00
Aleksei Bavshin bc13453155
feat(swaybar-ipc): handle mode update 2021-09-15 22:39:51 +07:00
Aleksei Bavshin 23e5181cac
feat(swaybar-ipc): add swaybar IPC client 2020-10-19 19:34:48 -07:00
Aleksei Bavshin 452dcaa5d3
feat(client): store bar_id argument 2021-11-19 20:28:41 -08:00
Aleksei Bavshin 52361ed360
refactor(bar): make setVisible switch between "default" and "invisible" modes 2021-11-21 11:00:57 -08:00
Aleksei Bavshin 87b43c2171
feat(bar): attach CSS class `mode-{mode}` to window when setting mode 2021-11-19 20:02:57 -08:00
Aleksei Bavshin ae88d7d8dc
feat(bar): use "default" mode to store global options
Read `layer`, `exclusive`, `passthrough` into a special mode "default".
Drop `overlay` layer hacks, as it's easier to use `"mode": "overlay"`
for the same result.
2021-11-19 19:31:41 -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
Joseph Benden 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
Joseph Benden 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
Alex 54beabb9dc
Revert "mpd: revamped to event-driven, single-threaded" 2020-10-18 10:45:31 +02:00
Alex 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
nikto_b 8349316fcd
Merge branch 'master' into sway-language-module 2020-10-12 13:31:39 +03:00
Ole Martin Handeland 4229e9b2ca Implemented format-{state} for cpu/disk/memory 2020-10-12 02:05:26 +02:00
Alex d6381eeaff
Merge branch 'master' into taskbar/remove-trim 2020-10-11 23:06:32 +02:00
Alex 45f7f9b07a
Merge branch 'master' into config-reloading 2020-10-11 23:00:25 +02:00
Christoffer Noerbjerg e9b2d275c8 added module group selectors for styling 2020-10-11 22:36:30 +02:00
Alex f270d317bb
Merge pull request #869 from lrhel/master
Add format-icons for workspace's name entry in sway/workspaces module
2020-10-11 14:39:39 +02:00
nikto_b cc3acf8102
feature: created sway language submodule; added styles & config part for a sway language submodule 2020-10-10 19:09:18 +03:00
Joseph Benden 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
Érico Rolim 22e46ea6cc sndio: Add reconnection support. 2020-10-04 14:59:20 -03:00
Érico Rolim 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
Minijackson e9b5be9adb
fix: add global /etc/xdg/waybar back. fixes #714 2020-09-29 22:28:39 +02:00
lrhel 83d679bf72 Add format-icons for workspace's name entry 2020-09-26 23:06:12 +00:00
Daniel De Graaf 7ba14c2097 Fix "on-click-backward" when "on-click-forward" is not present 2020-09-26 15:55:06 -04:00
Thorben Günther 12016d35bb
disk module: add state for percentage_used 2020-09-23 14:01:25 +02:00
Alex 063c5a5ace
Merge branch 'master' into fix-network 2020-09-21 12:09:54 +02:00
Alex 95f505a457 revert: restore eventfd 2020-09-21 10:56:40 +02:00
Alex 577dc1fa00
Merge branch 'master' into poll-h 2020-09-21 10:40:46 +02:00
koffeinfriedhof c651670222 Added song position and queue length. 2020-09-13 18:49:47 +02:00
Alex 459df4e0c9
Merge pull request #851 from tamirzb/exec-on-event
Add an "exec-on-event" config for the custom module
2020-09-08 09:18:32 +02:00
Tamir Zahavi-Brunner 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
Luca Weiss 98b6d7f283
Fix non-standard usage of <sys/poll.h>
Fixes the following build warning with musl libc:

In file included from ../src/util/rfkill.cpp:24:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
    1 | #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
      |  ^~~~~~~
2020-09-06 21:48:42 +02:00
MusiKid 225a0eccdd
Add support for memory tooltip 2020-09-02 14:35:39 +02:00
Alex 44119db436
Merge pull request #840 from tamirzb/fix-restart-interval
Fix "restart-interval" in the custom module
2020-08-28 15:38:41 +02:00
Renee D'Netto 943b6bc51b Implement support for reloading of config files.
Fixes #759.
2020-08-28 22:34:24 +10:00
Alex 4a22057138
Merge pull request #814 from danieldg/markup-fixes
Allow enabing pango markup in the taskbar string
2020-08-28 09:01:32 +02:00
Tamir Zahavi-Brunner ba78199dd1 custom: Fix "restart-interval"
This commit fixes the issue where the process would restart immediately
and the thread would sleep after the process has restarted, and not
before.

Fixes #621
2020-08-28 01:43:19 +03:00
Marek Černoch 9b51094743
Merge branch 'master' into battery-custom-tooltip 2020-08-20 13:52:25 +02:00
Daniel De Graaf ea722615c4 Allow enabing pango markup in the taskbar string
The fix for taskbar tooltips in 6a2d214b55 was incomplete: it causes the label
to contain escaped titles.  Use set_markup so that GTK decodes markup again,
but only if requested by the user (disabling markup is needed if using format
strings like "{title:.15}" to avoid terminating the string in the middle of an
XML entity).
2020-08-19 22:26:11 -04:00
Pedro Côrte-Real 6f7d7e645a Prevent line breaks in ellipsized labels
If a label is being ellipsized it doesn't make sense to allow it to use
line breaks to have multiple lines.

Fixes #827
2020-08-19 23:38:59 +01:00
Marek Černoch 8fb54f47ea battery: allow custom tooltip format 2020-08-19 23:13:03 +02:00
Marek Černoch d263607b27 network: fix typo - update tooltip only when it changes 2020-08-18 23:09:35 +02:00
dmitry b54fb24745 Remove trim usage in format
Some clang-tidy fixes
2020-08-16 15:54:21 +03:00
Alex 0cf3b25d50
Merge pull request #824 from alebastr/gls-resize
Fix resizing of the bar with gtk-layer-shell
2020-08-15 10:59:12 +02:00
Alex 033f0b01b7
Fix rfkill condition 2020-08-15 10:36:15 +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 591eb2ea38
Merge pull request #821 from danieldg/new-clock-features
New clock features
2020-08-14 22:12:48 +02:00
wjoe 4d775008df only return a bluetooth module from factory if the rfkill feature is enabled. 2020-08-14 20:59:30 +02:00
wjoe 4565f7f8b9 only compile rfkill into the network module if the feature is enabled. 2020-08-14 20:58:48 +02:00
Daniel De Graaf 62082bdb01 clock: scroll through multiple timezones 2020-08-13 18:53:18 -04:00
Daniel De Graaf 8cd6e13308 clock: allow custom formatting for today in calendar 2020-08-13 18:53:18 -04:00
Pedro Côrte-Real 29fa74f621 Add IDs to sway workspace buttons for CSS styling
In case you want to style a specific workspace add IDs to the workspace
buttons. Styling is done by matching button#sway-workspace-${name}.
2020-08-13 11:36:19 +01:00
Pedro Côrte-Real 8f10c9056c Add option for no workspace switch on click
In sway/workspaces, just like disable-scroll turns on/off the ability to
change workspaces by scrolling the mouse add disable-click that turns
on/off the ability to change workspaces by clicking.
2020-08-12 11:38:48 +01:00
dmitry 22409d27c5 Fix docs typos
Add removing buttons
Adjust handling multiple outputs.
2020-08-11 00:28:56 +03:00
dmitry 42b6c089f3 Add docs and adjust sorting 2020-08-08 00:09:35 +03:00
dmitry 0ad29a5960 Finish base implementation 2020-08-07 23:46:47 +03:00
Alex 5ebd3594e4
Merge pull request #778 from excellentname/handle-sigchld
Handle SIGCHLD for exec/forkExec
2020-08-07 13:33:27 +02:00
dmitry 4c251578e9 Add formatting and states handling 2020-08-07 02:45:08 +03:00
Alex a446cd692d
Fix MPD, add missing while loop 2020-08-06 21:57:02 +02:00
NotAFile 9ebfc54eb5
switch workspace on mouse-down to match swaybar
fixes #686
2020-08-06 16:04:30 +02:00
Daniel De Graaf 4cd31cf3c3 Fix wlr/taskbar all-outputs config string 2020-08-05 20:39:12 -04:00
Daniel De Graaf 6a2d214b55 Fix titles containing & and other HTML entities 2020-08-05 20:39:12 -04:00
dmitry 7638f5c595 Add base name representation 2020-08-06 01:42:57 +03:00
dmitry edd4d8ee11 Finish implement wlr 2020-08-05 23:10:08 +03:00
dmitry 2b11b7ef8c Base wlr impl (Manager, Group) 2020-08-05 02:17:38 +03:00
Eivind Uggedal fb8cda9d90 network: make missing nl80211 non-fatal
This will enable the networking module to be used for ethernet
interfaces on kernels without nl80211 support.

It should be reasonable to allow desktop systems without
wireless interfaces to run custom kenrel configs
without nl80211 compiled in.
2020-07-31 08:15:16 +02:00
Michael Rodler 006850ea5e Changed helper function for workspace->num assignment to a static method of Workspaces class
and adapted comments/method name to be consistent with the rest
2020-07-27 10:56:49 +02:00
excellentname c3359dec1b Replace signal handler with signal handling thread 2020-07-25 21:02:59 +10:00
Michael Rodler 15fe73a252 duplicate the logic to assign numbers to workspaces from sway into waybar to handle perisstent workspaces 2020-07-22 16:13:24 +02:00
excellentname 246f7bf555 Handle SIGCHLD for exec/forkExec
When forkExec is called it begins to ignore all SIGCHLD signals for
the rest of the progam's execution so that they are automatically
reaped. However, this means that subsequent waitpid calls in the exec
function will always fail. So instead handle SIGCHLD by reaping any
processes created by forkExec and ignoring all others so that they can be
handled directly by the exec function.
2020-07-21 12:36:48 +10:00
Alex 759602af64
Update mpd.cpp 2020-07-18 10:23:04 +02:00
Alex e3fdd6d94a
fix: don't a warning for a width/height of 0 2020-07-12 11:57:47 +02:00
Till Smejkal bc112eaae1 Convert icon-theme option to array|string
Use the config support of using arrays in its options instead of the
complicated and error-prone parsing of the string.
2020-07-07 11:22:08 +02:00
Till Smejkal 70e368a1c6 Refactor the lower_app_id logic
Move the lower_app_id lookup logic completely in the image_load_icon
method and use it also when looking up the icon from the desktop files
as well as icon themes.
2020-07-07 10:39:28 +02:00
Till Smejkal 7d9f6096fe Respect XDG_DATA_DIRS when looking for icons.
Use the base folders as defined in $XDG_DATA_DIRS and only fall back to
/usr/share and /usr/local/share if the environment variable does not
exist.
2020-07-05 13:16:41 +02:00
Till Smejkal 06ad35c42b Add support for multiple icon themes in the config
If there are multiple icon themes defined in the config option
'icon-theme' the module will try from left to right to find an icon.
The system default will always be added to this list.
2020-07-05 13:16:38 +02:00
Till Smejkal b7e8275d90 Properly trim when splitting up the format string
Previously only single spaces would be trimmed and not multiple ones.
Now use a proper trim implementation for strings.
2020-07-05 13:13:34 +02:00
dmitry 8a13ed59bc Fix lower 2020-07-01 03:05:17 +03:00
dmitry 43500a9983 Move lower to load_icon phase 2020-07-01 02:56:44 +03:00
dmitry 8e6cbc1021 Change find icon priority and to_lower app_id 2020-07-01 02:10:22 +03:00
Till Smejkal b7a8e8e544 Fix format option for the taskbar module
When using additional format options in addition to {icon} the format is
separated into text before and text after the icon. Each of the texts is
displayed in a separate label one before and one after the image for the
icon.

The code updating the labels on changes used the wrong format strings
when updating the label after the icon.
2020-06-24 09:47:34 +02:00
Till Smejkal 7429d1f9cc Fix click events for the taskbar module
When only the option 'on-click-right' was set and no other 'on-click'
option than the taskbar module wouldn't register for click events and
hence those events were handled by the generic AModule::on-click code.
This code would try to start a shell with the specified command, which
wouldn't make any sense in this circumstances.

The taskbar code falsely checked for the 'on-click-left' option instead
for the 'on-click-right' when deciding to register for click events.
2020-06-24 09:36:28 +02:00
Jannusch Bigge 401ea05dd8 add check that all batteries from type battery 2020-06-16 12:30:21 +02:00
Isaac Freund 343a8bef22
river/tags: add module 2020-06-12 15:19:46 +02:00
Tudor Brindus 0080feb9af sway/workspaces: make clicking on workspaces idempotent
Previously, clicking on the same workspace you were on would throw you
to another workspace if `workspace_auto_back_and_forth yes` was
specified in your sway config. This also fixes workspace output moving
misbehaving and doing the same.
2020-06-09 20:43:43 -04:00
Till Smejkal adaf843048
foreign-toplevel-manager based taskbar module (#692)
Co-authored-by: Alex <alexisr245@gmail.com>
2020-05-30 12:07:38 +02:00
Alex e96a0bf799 refactor(custom): tooltip markup 2020-05-30 11:59:22 +02:00
Alex 6e7f22ac3a fix: cancel thread and fix window close 2020-05-27 09:10:38 +02:00
Jan Beich 94a4d41a65 disk: make used calculation match df(1) output
Substract space only available to superuser as well.
2020-05-26 07:47:08 +00:00
Alex 3b16946c25 fix(custom): avoid hide outside update 2020-05-25 09:21:04 +02:00
Alex e72b153f87 fix: ignore gtk unknown options 2020-05-24 22:03:41 +02:00
Alex 7b4ded306b fix: restart-interval 2020-05-24 21:33:38 +02:00
Alex 2ffc96d0b2 fix: hide box by default 2020-05-24 19:02:52 +02:00
Alex 9a123052a0 refactor: check conn 2020-05-24 18:47:50 +02:00
Alex 9b9d13ab0d feat: execNoRead 2020-05-24 18:27:21 +02:00
Alex 6ca4e14b29
Feat icons vector (#716) 2020-05-22 21:23:04 +02:00
Alex 6b32aca094 feat: debug cmd 2020-05-22 20:57:41 +02:00
Alex b251c51936 fix: spdlog 2020-05-22 20:02:09 +02:00
Alex 60bad8279e feat: add comment 2020-05-22 19:09:50 +02:00
Alex a871dcaebe fix: type 2020-05-22 18:56:32 +02:00
Alex cef5b27b48 fix: prefer default fmt date formatting unless timezone specified 2020-05-22 18:52:26 +02:00
Jan Beich 1885ecc958 bluetooth: limit to Linux due to missing /dev/rfkill
../src/modules/bluetooth.cpp:3:10: fatal error: 'linux/rfkill.h' file not found
 #include <linux/rfkill.h>
          ^~~~~~~~~~~~~~~~
2020-05-19 10:44:31 +00:00
Jan Beich 71b7b4e0f4 disk: properly calculate free/total size
On most Unix systems `f_blocks`, `f_bfree`, and `f_bavail` are
reported in units of `f_frsize`.
2020-05-19 10:43:45 +00:00
Jan Beich 4e567d0483 cpu: port parseCpuinfo to BSDs 2020-05-19 10:43:42 +00:00
Jan Beich c4f7cdeec4 memory: port parseMeminfo to BSDs 2020-05-19 10:42:21 +00:00
Jan Beich c844d7ac2e tray: drop std::filesystem dependency 2020-05-19 10:37:27 +00:00
Jan Beich 496e782544 battery: limit to Linux due to /sys/class/power_supply
../include/modules/battery.hpp:9:10: fatal error: 'sys/inotify.h' file not found
 #include <sys/inotify.h>
          ^~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
Jan Beich d5df185ac6 cpu: make getCpuLoad more portable
../include/modules/cpu.hpp:4:10: fatal error: 'sys/sysinfo.h' file not found
 #include <sys/sysinfo.h>
          ^~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
Jan Beich c94ef092ff build: drop -Dout in favor of --prefix
$ meson --prefix=/tmp/foo _build
$ ninja install -C _build
[49/50] Installing files.
Installing waybar to /tmp/foo/bin
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 127, in run
    return options.run_func(options)
  File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 514, in run
    installer.do_install(datafilename)
  File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 346, in do_install
    self.install_data(d)
  File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 375, in install_data
    d.dirmaker.makedirs(outdir, exist_ok=True)
  File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 55, in makedirs
    os.makedirs(path, exist_ok=exist_ok)
  File "/usr/lib/python3.6/os.py", line 210, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/etc/xdg'
FAILED: meson-install
2020-05-19 10:37:27 +00:00
Alex 45deb2472c fix: use strcmp 2020-05-19 12:14:59 +02:00
Alex 8fbaf06cbe refactor(mpd): prefer debug over warn 2020-05-16 09:29:37 +02:00
Alex 08dce576bd refactor(mpd): prefer debug over info 2020-05-16 09:28:30 +02:00
Michael Rodler 6fe764540c sway/workspaces: sort by the "num" property provided by sway, configurable whether numeric workspace names come first
Sway provides the workspace "num" property which is an integer number of
the workspace, i.e., workspace "3" -> 3 and also "3dev" -> "3". This
commit uses this property to sort the workspaces, which makes sense when
persistent workspaces or all-output is specified. This commit also adds
a new configuration option, whether the numeric workspaces come in front
or after workspaces that have non-numeric name.
2020-05-05 09:15:20 +02:00
Michael Rodler c602d38c8e sway/workspaces added current_output CSS class to buttons.
All workspace buttons that are visible on the same output as the current waybar can be styled with the `current_output` css class.

This is really only useful in combination with the `"all-outputs":
true`. Then the workspaces that are on the current output can be styled
differently than the workspace on other outputs, while all are visible
in the waybar.
2020-05-04 16:16:09 +02:00
Alex 44ed61b2c3
Merge pull request #680 from akobel/master
Fix round to 0 or 1 in capacity computation with given full-at
2020-04-27 08:47:22 +02:00
phosit 6e946bf872 Add kelvin-scale 2020-04-25 18:44:48 +02:00
Alex e01a081f2f fix(brightness): amd brightness 2020-04-21 09:11:56 +02:00
Alexander Kobel df0d34dbd4 Fix round to 0 or 1 in capacity computation with given full-at 2020-04-21 00:58:17 +02:00
Alex 774d8ffdba
Merge branch 'master' into output-exclusion 2020-04-17 23:42:58 +02:00
Alex 4a80874da9
Update client.cpp 2020-04-17 23:41:32 +02:00
Marc Radau 2d02ae5e97
Merge branch 'master' into master 2020-04-16 14:43:10 +02:00
Alex d1c4897f31 feat: update man 2020-04-12 18:38:51 +02:00
Alex 4a7dd400fe
Merge branch 'master' into on-update 2020-04-12 18:32:19 +02:00
Alex 687c50dc13 refactor: remove old stuff 2020-04-12 18:31:07 +02:00
Alex b40cdcb5bd refactor: call parent update 2020-04-12 18:30:21 +02:00
Alex 7c4ea39774 fix: add missing comma 2020-04-06 12:49:41 +02:00
Alex 27fbea2b5a refactor(workspaces): default value unstripped, fix man 2020-04-06 12:42:29 +02:00
Marc Radau f34163a065
Merge pull request #9 from Alexays/master
Changes
2020-04-06 12:20:31 +02:00
JohnHolmesII 5c5031fd69
pulse: do not die when a server hasn't been started. wait first. 2020-04-05 11:42:27 -07:00
Alex 8e0f3c7ddf
feat: full-at (#649)
* feat: full-at

* fix(man): typo
2020-04-05 16:56:51 +02:00
Marc Radau 8a5c3af949
Merge pull request #8 from Alexays/master
Merge Alexays:master into marcplustwo:master
2020-04-05 16:13:56 +02:00
Alex bb2c16386b feat: format-icon for persistent workspaces 2020-04-04 21:13:25 +02:00
Alex 10b152ac3e fix: process last line, restart-interval 2020-03-26 09:18:47 +01:00
Alex 9acf5587fa refactor(pulseaudio): fallback to default muted format 2020-03-25 22:53:09 +01:00
Alex ff36154c4b fix: typo 2020-03-25 22:31:04 +01:00
Alex d12ad1128e fix: man 2020-03-25 22:30:22 +01:00
Alex cb2f5c154c feat(custon): restart_interval for continuous script 2020-03-25 22:25:30 +01:00
Alex c3cdd516ef
Merge pull request #629 from Xyene/pre-3.4-meminfo
fix(memory): provide better free memory approximation on old kernels
2020-03-24 20:57:23 +01:00
Tudor Brindus 19743f3085 fix(memory): provide better free memory approximation on old kernels
The approximation should include SReclaimable, and subtract Shmem. To
prevent the parsing code from ballooning in size, this commit also
refactors the parsing into a map.
2020-03-20 17:37:22 -04:00
BoostCookie d405f28622
Indent now uses spaces. 2020-03-13 16:42:05 +01:00
BoostCookie 2f975f870a Added support for absolute device paths for the temperature module. 2020-03-12 22:04:00 +01: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
Vesim 4eb462426d
Merge branch 'master' into output-exclusion 2020-02-28 07:53:20 +01:00
Vesim 1209022492 Return true when outputs are not specified 2020-02-28 07:54:00 +01:00
Vesim bb88038c17 Dont exclude outputs in arrays 2020-02-27 21:49:09 +01:00
Guillaume Maudoux 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
Marc dd7d78cd60 changes requested 2020-02-23 23:09:05 +01:00
Marc Radau 9abe1e2790
Merge branch 'master' into master 2020-02-23 23:00:09 +01:00
Vesim 7bebfebe5f
Merge branch 'master' into output-exclusion 2020-02-20 22:17:13 +01:00
Alex 2d8dc83480
Merge pull request #598 from layus/sni-watcher
Use the same StatusNotifierWatcher for all trays
2020-02-19 14:22:51 +01:00
Guillaume Maudoux 9a5f5114c4 pulse: track default source/sink changes 2020-02-19 12:28:36 +01:00
Guillaume Maudoux 047c2929c1 Use the same StatusNotifierWatcher for all trays 2020-02-19 12:06:35 +01:00
Vesim 9525663014
Update src/client.cpp
Co-Authored-By: Alex <alexisr245@gmail.com>
2020-02-18 22:40:21 +01:00
Vesim 4fcf06a164 Add a way to exclude specific output 2020-02-18 22:24:59 +01:00
Alex 543589a97b
Update pulseaudio.cpp 2020-02-16 21:48:22 +00:00
Jordan Leppert 4f8a396692 Fix for 'Network label text not updated properly when formats contain Unicode characters' (#588) 2020-02-15 16:51:18 +00:00
Aleksei Bavshin e70f8d8730
fix(clock): lower precision of zoned_time to avoid fractional seconds in output 2020-02-06 10:04:22 -08:00
Alex e1215a6d17
Merge pull request #578 from alebastr/ipc-use-after-free
fix(sway): resolve destruction dependency between Ipc and SleeperThread
2020-02-06 17:36:11 +00:00
Skirmantas Kligys d1f427618f Cache calendar per clock instance, weekdays properly handle locales. 2020-02-05 11:07:47 -08:00
Aleksei Bavshin ae6ca36fa7
fix(sway): resolve destruction dependency between Ipc and SleeperThread
Ipc destructor closes socket and thus wakes up SleeperThread which was
waiting for socket data in Ipc::handleEvent.
Ipc::handleEvent then proceeds with sending signal to already destroyed
object, causing heap-use-after-free Address Sanitizer error.
2020-02-04 23:22:43 -08:00
Skirmantas Kligys cd2db19267 Detect presence, call nl_langinfo() to get first day of week. 2020-02-03 17:18:34 -08:00
Skirmantas Kligys 4c40f9c635 Stop using a mutex for guarding CachedCalendar. 2020-02-03 17:18:34 -08:00
Skirmantas Kligys 218bb3bc2b Simpify calendar generation, single loop handles both first week and subsequent weeks. 2020-02-02 16:06:27 -08:00
Skirmantas Kligys f6b2005687 Cache calendar tooltip text to reduce computations. 2020-02-02 15:59:24 -08:00
Skirmantas Kligys ea9591baea Switch from utfcpp to Glib::ustring for UTF-8 string mangling. 2020-02-02 15:59:24 -08:00
Skirmantas Kligys af2528952b Merge branch 'master' of github.com:skligys/Waybar into temp 2020-02-02 15:58:40 -08:00
Andreas Stührk 527fa982d2 pulseaudio: adapt icon names to form factors 2020-01-31 22:47:26 +01:00
Skirmantas Kligys 8e05aab4d9 Current month calendar in clock tooltip. 2020-01-31 10:36:40 -08:00
Marc 6ae9f436a9 add copyright notice for rfkill util 2020-01-30 00:25:37 +01:00
Marc 58eb8ad11f Merge branch 'master' of github.com:marcplustwo/Waybar 2020-01-26 05:35:34 +01:00
Marc c045288ce4 add man page for bluetooth, fix bluetooth race-condition 2020-01-26 05:34:31 +01:00
Marc Radau f9618d30f3
Merge pull request #7 from Alexays/master
Merge latest changes from upstream
2020-01-23 17:30:33 +01:00
Marc e3bf6b968c bluetooth module handles rfkill events instantly 2020-01-23 17:17:29 +01:00
Guillaume Maudoux 84b671f6b2 Attempt at supporting locale and timezones (#1) 2020-01-23 08:27:10 -05:00
Michael Cordover 6e30b7af3c Remove duplicate dependency, use current locale 2020-01-23 08:27:00 -05:00
Michael Cordover 3130a57622 Add timezone support to clock module (closes #223) 2020-01-23 08:26:49 -05:00
Marc Radau d85f0e1060
Merge pull request #3 from marcplustwo/addbluetoothmodule
Add bluetooth module
2020-01-22 11:44:25 +01:00
Marc 89cb9673d4 bluetooth module working 2020-01-22 11:37:47 +01:00
Marc f0dbd8b78d properly structure rfkill util 2020-01-21 17:48:45 +01:00
Marc 626af1ddc1 add rudimentary bluetooth module functionality 2020-01-21 17:04:54 +01:00
Marc 2c4369a653 add basis for bluetooth module implementation 2020-01-21 15:46:08 +01:00
Marc Radau b8aeda794c
Merge pull request #2 from marcplustwo/airplane_mode
distinguish between wifi disabled and disconnected
2020-01-20 10:46:59 +01:00
Marc 2dc4ae78fc distinguish between wifi disabled and disconnected 2020-01-20 00:35:37 +01:00
Alex d5875c468f
Merge pull request #550 from PlusMinus0/use_form_factor
Use PA_PROP_DEVICE_FORM_FACTOR for device icon.
2020-01-15 10:05:34 +00:00
Aleksei Bavshin f80270519b
refactor(client): use std::list<waybar_output> to store outputs
std::unique_ptr is not required here as the only benefit it gives is
stability of address on vector resize and it's easy to invalidate it
accidentaly. std::list provides the same guarantee of stable addresses
of the elements and correct destruction while avoiding smart pointer
overhead.

Also fixes #554, caused by incorrect usage of std::remove_if.
2020-01-14 07:27:08 -08:00
PlusMinus0 8fb3211594 Use PA_PROP_DEVICE_FORM_FACTOR for device icon. 2020-01-13 11:34:33 +01:00
Louis des Landes 569f40de9b
Keep aspect ratio when scaling tray icons. 2020-01-09 17:27:10 +10:30
Luca Weiss 129713fe1b
fix(network): add missing include
Fixes:
../src/modules/network.cpp:68:3: error: 'assert' was not declared in this scope
   68 |   assert(starts_with(read, category));
      |   ^~~~~~
../src/modules/network.cpp:6:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
    5 | #include "util/format.hpp"
  +++ |+#include <cassert>
    6 |
2020-01-07 20:27:31 +01:00
Cole Helbling 75c6e2e7d5
mpd: add paused format string 2020-01-07 09:15:54 -08:00
Moritz Jordan 1145788ab3
fix(network): display of IPv6 address 2020-01-06 13:15:28 +01:00
Alex c8821a5e7f fix(Battery): replace spaces w/ dashes 2019-12-30 13:56:34 +01:00
Alex d40cc6f23a fix(Battery): replace spaces w/ underscores 2019-12-30 13:55:49 +01:00
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
RX14 1e95f5d9b6
Fix workspace scroll wrapping off the end of the list 2019-05-17 17:37:24 +01: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 d2d9db23b5 fix: uninitialized bool 2019-05-17 14:23:52 +02:00
Alex d8be72e4b6 refactor: unexport tray watcher 2019-05-17 13:51:55 +02:00
Alex f8a47598ba fix: roundtrip before bar creation 2019-05-17 13:40:04 +02:00
Alex cb2d6e1997 feat(Network): frequency 2019-05-17 11:27:38 +02:00
Alex 17291dffdf fix(Battery): plugged state 2019-05-17 10:59:54 +02:00
Alex 2cb70c7324
Merge pull request #322 from RX14/feature/generic-scroll
Allow scrolling on the entire bar surface
2019-05-17 10:03:52 +02:00
Alex 4d4cadb5ae refactor: simpler code 2019-05-17 09:59:37 +02:00
Olegs Jeremejevs d5c1e6f312 Change scroll-step unit to percent 2019-05-17 11:19:58 +08:00
RX14 b45dcdf74e
Allow scrolling on the entire bar surface 2019-05-16 22:18:43 +01:00
Alex 4b4b74db0c feat(Battery): get icon by state 2019-05-16 17:18:27 +02:00
Alex e12766a656 fix: compilation on some os 2019-05-16 17:09:25 +02:00
Alex 31f63398dc
Merge pull request #319 from Alexays/network
Network improvements
2019-05-16 14:11:32 +02:00
Alex 0a14e7f3ab feat: ipv6 family 2019-05-16 12:22:08 +02:00
Alex 31416ffae6 fix: bar removed 2019-05-16 12:19:47 +02:00
Alex fbe19d886a fix: drop memberships 2019-05-16 12:16:44 +02:00
Alex 9c67150884 refactor: prepare ipv6 2019-05-16 12:14:12 +02:00
Alex f3c467cc46 refactor: remove non wanted headers 2019-05-16 11:27:22 +02:00
Alex 45ebee52a6 fix: typo 2019-05-16 11:26:06 +02:00
Alex 841576497a refactor: cleaner events 2019-05-16 11:22:22 +02:00
Alex 963d4f68e4 refactor: remove useless param 2019-05-16 09:39:06 +02:00
unresolvedsymbol 7e8eee0571 fix state behavior 2019-05-15 22:14:51 -05:00
Jørgen Bele Reinfjell 380fc58f3c fix(battery): change comparison expr. to assignment 2019-05-15 19:19:00 +02:00
Alex 22bf0b161a fix(Network): do not stop thread 2019-05-15 10:24:35 +02:00
Alex 5b3402e110 feat(Battery): plugged status 2019-05-14 15:43:57 +02:00
Alex 0968170074 style(media): min-width 2019-05-13 15:40:02 +02:00
Alex 362c393b1d refactor: try/catch, sigc trackable 2019-05-13 15:15:50 +02:00
Alex 0c3c548bc0 fix(Window): avoid concurrency 2019-05-13 14:35:45 +02:00
Alex b54160e02f fix(Tray): add item if not exist 2019-05-13 14:27:01 +02:00
Alex 4f1defe6d5 fix(Pulseaudio): avoid handleScroll override 2019-05-13 11:46:12 +02:00
Alex 92967c7c06 fix(Label): reverse only battery states 2019-05-13 11:36:34 +02:00
Alex fcb23d3104 feat(temperature): format-icons 2019-05-13 11:31:05 +02:00
Alex 62f8af8a39 fix(Window): avoid multiple same classes 2019-05-13 10:56:48 +02:00
Alex 80e9ea746b fix(battery): use path for the / operator 2019-05-12 19:53:22 +02:00
Alex 84728f6fab
Merge pull request #313 from apiote/master
remove empty and solo classes when they do not apply
2019-05-12 12:13:07 +02:00
Adam Pioterek 7cdde05568
remove empty and solo classes when they do not apply 2019-05-11 20:36:10 +02:00
Dan e343cf4b00 fix(btformat): fixes an issue where btformat was not being correctly detected 2019-05-10 12:07:17 -04:00
Alex e4756cf24e refactor: don't print an error when a watcher is already present 2019-05-10 14:56:28 +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
Alex 5a44c8c6de refactor: avoid unneeded json parsing 2019-05-07 13:43:48 +02:00
Alex 74137befba fix(window): title flickers 2019-05-07 13:31:41 +02:00
Alex b75e0bb0d0 refactor: remove useless bar param 2019-05-07 13:21:18 +02:00
Dan dd0ebe117c chore(cr): cr cleanup 2019-05-03 08:08:55 -04:00
Dan 5f0a3063d1 feat(states): add getState to other percent based modules 2019-05-02 22:24:29 -04:00
Dan 3bac96945c Revert "feat(percent): adds a percent class to numeric modules"
This reverts commit 82302e58f3b611f7ff6d686d1783b1c32914f7c9.
2019-05-02 22:24:29 -04:00
Dan e158a3e132 feat(states): add generic 'states' to all labels 2019-05-02 22:24:29 -04:00
Dan 472363a623 feat(percent): adds a percent class to numeric modules 2019-05-02 22:24:29 -04:00
Alex 1a024db03c fix(idle_inhibitor): overload 2019-05-02 17:51:01 +02:00
Alex 5623bbecfe feat(idle_inhibitor): pass status to click events exec 2019-05-02 16:56:45 +02:00
Alex 1e871b2353 refactor: propagate the event further 2019-05-02 16:46:53 +02:00
Alex d027243a19 fix: json thread safe 2019-05-02 14:24:54 +02:00
Eric Engestrom 4d4562aade fix s/hidded/hidden/ typo 2019-05-01 12:40:12 +01:00
Alex e8f31a0c4f revert: infinite seconds for once custom modules 2019-04-26 21:57:15 +02:00
Alex f8c06b27ae Revert "feat(Cpu): dynamic fmt args"
This reverts commit 2d9bcb1a2d.
2019-04-26 21:49:16 +02:00
Alex 717a07d584 refactor(Window): simpler conditions 2019-04-26 15:29:54 +02:00
Alex 2d9bcb1a2d feat(Cpu): dynamic fmt args 2019-04-26 14:07:31 +02:00
Jon Valdés 9fe29c37b4 Fix indentation 2019-04-25 22:56:14 +02:00
Jon Valdés f8ae1534db Allow rotating label contents by specifying a new "rotate" property in the label config 2019-04-25 22:47:58 +02:00
Alex bb8ff5a99f feat(Bar): add class depend of window in the workspace 2019-04-25 16:47:51 +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 90d89fe974 refactor: kill custom modules scripts en destroy 2019-04-23 15:56:38 +02:00
Alex cccf60c30e fix(Workspaces): fix concurrence and move json parser to ipc client 2019-04-23 11:42:08 +02:00
Minijackson b50650f63f
fix(mpd): regularly timeout the event listener to prevent timeout
The MPD server has a connection_timeout that defaults to 60. If no data
is transferred in this timespan, the connection is closed. If the
connection is closed while the event listener is listening for events,
it will block forever. By timing out the event listening and
re-connecting regularly, we prevent this issue. An option "timeout" has
been added for users that have a lower server connection_timeout than
default. Fixes #277
2019-04-21 10:58:40 +02:00
Cole Helbling 12e1233d38
Fix compile-time warning of catch by value 2019-04-20 09:16:11 -07:00
Cole Helbling 160837b900
Ensure no NULL tags are set
Because `mpd_song_get_tag` from libmpdclient can return NULL, verify the
value of tag is valid. Otherwise, set a default string of "N/A". Also
adds configuration to specify what this default string should be.
2019-04-20 09:12:30 -07:00
Alex 471b5b1ea1
Merge branch 'master' into refactoring 2019-04-19 17:33:18 +02:00
Alex 29d8f365f8 refactor(Tray): proper lookup in the default theme 2019-04-19 17:30:40 +02:00
Alex 8cf19826aa fix(Tray): Unexport on exit 2019-04-19 17:03:46 +02:00
Alex cbb6f2a307 refactor(Workspaces, IPC): no more mutex in the workspaces modules, moved to the IPC client for a proper handling 2019-04-19 16:48:02 +02:00
Alex e77c155ede fix(workspaces): avoid mutex block 2019-04-19 12:11:55 +02:00
Alex 171ecd53aa refactor(Bar): roundtrip before setup widgets 2019-04-19 11:56:40 +02:00
Minijackson 66b0420391
fix(mpd): Escape MPD values in the label 2019-04-19 11:11:44 +02:00
Alex 42dc0c4c71 fix(ipc): typo 2019-04-19 11:10:48 +02:00
Alex bb1cf7570e refactor(IPC): use sigc signal 2019-04-19 11:09:06 +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
Minijackson 3656035c89
fix(mpd): slightly better and safer error handling 2019-04-18 15:57:57 +02:00
Minijackson 0ce8821aec
feat(mpd): Add playing / paused classes 2019-04-18 15:57:57 +02:00
Minijackson ab43d34a1e
refactor(mpd): Add module name to log messages 2019-04-18 15:57:57 +02:00
Minijackson 22eccc2ac2
feat(mpd): reset player state when connection drops 2019-04-18 15:57:57 +02:00
Minijackson cd92b475ad
chore: Add clang-format configuration and format MPD module 2019-04-18 15:57:57 +02:00
Minijackson 235997fa73
feat(mpd): Add support for elapsed and total time 2019-04-18 15:55:46 +02:00
Minijackson 80a12d0238
feat(mpd): play/pause on click & stop on right-click 2019-04-18 15:55:46 +02:00
Minijackson 07dab2baec
feat(mpd): Add support for options (random, repeat, etc.) 2019-04-18 15:55:45 +02:00
Minijackson cbfcec4867
feat(mpd): Add support for play/pause icons 2019-04-18 15:55:45 +02:00
Minijackson 557b786ce0
feat(mpd): Allow for specifying the reconnect interval 2019-04-18 15:55:45 +02:00
Minijackson 8c9dd94670
feat(mpd): Add support for setting tooltip label when disconnected 2019-04-18 15:55:45 +02:00
Minijackson 06aff70e2e
feat: Add basic support for MPD 2019-04-18 15:55:45 +02:00
Alex 6d6df4be00 refactor(sni-item): better way to search in default theme 2019-04-17 22:15:18 +02:00
Alex 9564adb5b4 refactor(Bar): avoid reinterpret_cast 2019-04-17 19:33:49 +02:00
Alex aeaa1927d9 fix: add default_paths on init 2019-04-17 19:23:52 +02:00
Alex 346ec68578 refactor: format tray && partial fix for #235 2019-04-17 14:19:04 +02:00
Alex 3273ee8b42 fix(Tray): icon size lookup 2019-04-15 12:10:37 +02:00
Alex d05b8398fa fix: prefer to hold running even when no window is open 2019-04-15 11:42:16 +02:00
Alex ecc5f48dd7 feat: partially hide waybar on toggle 2019-04-15 11:11:16 +02:00
Alex 5828d34fa0
Merge branch 'master' into custom-multiple-classes 2019-04-15 10:58:27 +02:00
Alex bc9a49787a feat: enable pango markup on sway workspaces 2019-04-15 10:55:44 +02:00
Alex 6aee51479d feat: ability to add multiple classes 2019-04-15 10:18:27 +02:00
Alex 57c99dc526 refactor(Tray): also search in default theme 2019-04-11 15:28:38 +02:00
Alex 78067462be fix(Tray): icons update 2019-04-11 15:20:39 +02:00
Alex 5870421f84 refactor(temperature): check if file exist on init 2019-04-11 15:08:23 +02:00
Alex 8351dea292 refactor(network): process all messages 2019-04-04 11:58:27 +02:00
Alex 1f6f443c48 Revert "refactor(network): fix skipped messages"
This reverts commit 1ccf372f8e.
2019-04-01 11:41:43 +02:00
Alex 7fac483530 fix: don't bind RTMGRP_IPV(4|6)_ROUTE 2019-03-31 16:33:01 +02:00
Alex 3a8cd91cc0 Revert "refactor: partial revert of 1ccf372f8e9d74cb18e92220c18a0729832fe69e"
This reverts commit 949a4ecf2e.
2019-03-30 09:20:28 +01:00
Alex 949a4ecf2e refactor: partial revert of 1ccf372f8e 2019-03-30 09:03:31 +01:00
Aleksei Bavshin 5a2b5624dc feat(tray): process tray icon update signals 2019-03-29 18:40:28 -07:00
Aleksei Bavshin 82fcee33b3 refactor(tray): use Gio::DBus bindings in SNI Item class 2019-03-29 18:28:29 -07:00
Aleksei Bavshin 842e8501f9 fix(tray): free icon data on pixbuf update 2019-03-28 10:52:25 -07:00
Sibren Vasse 55a6e4907b feat(custom): allow icon selection based on json alt attribute 2019-03-26 00:35:49 +01:00
Alex dda0cc793e fix: check vertical after parsing multiple outputs 2019-03-25 21:02:00 +01:00
Alex 5144426f0e fix(workspace): scroll direction 2019-03-25 11:55:01 +01:00
José Ribeiro 3eb901f800 Escape ESSID text before interpreting as pango
Fixes #240.
2019-03-24 03:11:54 +00: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 1ccf372f8e refactor(network): fix skipped messages 2019-03-18 11:07:36 +01:00
Alex 6fc06fe9db
Merge branch 'master' into pulseaudio-ci-icon-lookup 2019-03-15 09:41:40 +01:00
Aleksei Bavshin 9ad80849b1 fix(pulseaudio): Avoid allocation of string vector on every call of getPortIcon() 2019-03-14 18:35:16 -07:00
Aleksei Bavshin 492d151079 fix(pulseaudio) use case-insensitive comparison for icon lookup 2019-03-14 18:08:12 -07:00
Aleksei Bavshin 00176c9514 fix(sway): ipc client crash when compiled with -D_GLIBCXX_ASSERTIONS
reserve() does not change string size and any access beyond data() + size() is UB
2019-03-14 17:53:45 -07:00
Alex 6d2dcd8ac7 fix(temperature): default thermal zone 2019-03-14 14:01:10 +01:00
Groggy 7ae549dc9e
Add temperature module 2019-03-13 13:35:43 +01:00
Alex 2995da845d fix: config per output 2019-03-10 10:34:56 +01:00
Alex 973cec1713 feat(idle): add status class 2019-03-10 10:29:06 +01:00
Alex 94d7b083c5 fix(Pulseaudio): switch case 2019-03-08 15:30:41 +01:00
Alex ef88f0a223 fix: clock rounding 2019-03-07 12:34:21 +01:00
Alex 1974766125
Merge branch 'master' into master 2019-03-05 10:15:05 +01:00
Jonas 9c0c0d262e
Using "inclusive or" for format-alt-click and other click events
c.f. https://github.com/Alexays/Waybar/pull/204#discussion_r262009635

Co-Authored-By: Organic-Code <Lazarelucas@yahoo.fr>
2019-03-04 15:00:44 -05:00
Alex 67c756b28e
Merge branch 'master' into idle_inhibitor_bugfix 2019-03-04 11:19:14 +01:00
Jonas 80ef63791d [bugfix] idle_inhibitor handles click events correctly
- Declare event handler in ALabel virtual so the idle_inhibitor can
  overriding them
- Handle the right click event in idle_inhibitor and call ALabel handler if needed
2019-03-03 22:02:34 +01:00
Jonas a9f680b06e Add custom tooltip format for network module 2019-03-03 21:35:35 +01:00
John Doe 737da3615f resolves #205 2019-03-03 21:35:32 +11: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 79b0367e6c feat(custom): escape option 2019-03-01 17:03:01 +01:00
Ian Hattendorf 39de8e544c
Disable backlight module if no backlight found 2019-02-28 19:50:57 -07:00
Alex 0271e9bc1a Revert "fix: Escape user controlled input"
This reverts commit 7247360e29.
2019-02-28 19:30:27 +01:00
Alex 6633e34bbd
Merge branch 'master' into custom_alt 2019-02-26 12:18:34 +01:00
Ian Hattendorf c1295c8fd6
Fix crash when monitor unplugged
`Backlight#devices_` was being destructed before
`Backlight#udev_thread_`. Also check if thread is still running after
`epoll_wait`
2019-02-25 20:05:44 -07:00
Robinhuett 39bf403505 feat(custom): Add field for additional data to json 2019-02-25 22:04:09 +01:00
Robinhuett 7247360e29 fix: Escape user controlled input 2019-02-25 18:28:56 +01:00
Robinhuett 63e97df9ff fix(backlight) Allow format-alt 2019-02-24 22:15:41 +01:00
Piet van der Loo 7245fb5d0a Added clock tooltip with optional alternate format 2019-02-24 09:25:34 +01:00
Jonas c2ed0cb832 Add the possibility to disable the tooltip 2019-02-22 16:58:36 +01:00
Jonas d708ce2be9 Add idle inhibitor module 2019-02-22 16:55:46 +01:00
Alex 83a6475510 feat: can disable tooltip 2019-02-22 11:35:47 +01:00
Alex afbf2de1b9
Merge branch 'master' into feature/module-brightness 2019-02-21 15:29:17 +01:00
Ian Hattendorf e67347f6ad
Gate backlight module behind libudev availability 2019-02-18 21:11:18 -07:00
Alex 8bfcb106c0 style: comment about workspace hover effect 2019-02-18 12:30:41 +01:00
Ian Hattendorf 875306804c
Add backlight module
Monitor the backlight level via udev. Poll every `interval` as well,
in case backlight udev events aren't supported.
2019-02-17 15:29:49 -07:00
Alex 6bf4f65228 fix: two finger scroll 2019-02-16 09:56:53 +01:00
Alex 0c9edb0c4b fix(custom): check exist_status in endless script before clean the output 2019-02-16 09:48:27 +01:00
Alex 3e18673451 fix: remove bluetooth class on else 2019-02-12 17:55:50 +01:00
Alex d0370acb21 refactor(network): better network disconnection 2019-02-11 19:06:39 +01:00
Alex aeec80f375 fix(Tray): big icon 2019-02-07 13:34:30 +01:00
Alex dc9fe04d11 refactor: add retry to get external interface 2019-02-06 10:33:12 +01:00
Alex 01cec9fcb7 fix(bar): multi screens 2019-02-04 22:09:01 +01:00
Alex 93173851d3 fix(Workspaces): index 2019-02-02 12:07:59 +01:00
Alex add9e925f4 fix(Workspaces): button order 2019-02-02 00:36:52 +01:00
Alex 0ddcf26a45 feat: output configuration 2019-02-01 21:45:59 +01:00
Alex 38fc62ea27 feat: bar id 2019-01-28 19:26:16 +01:00
Robinhuett 6d03d9f6a9 fix(window): Fix #154 2019-01-27 11:59:07 +01:00
Robinhuett ce6816737c fix(window): Ignore waybar
With this, the window title waybar will be ignored so it wont flicker as decribed in #148
2019-01-26 19:02:11 +01:00
Alexis eace8c549f fix(Network): format-alt 2019-01-13 22:36:37 +01:00
Alexis f8116132a7 fix(Workspaces): check thread is running before parse response 2019-01-13 22:23:09 +01:00
Alexis 171e0e5ae3 revert: don't disable seq check 2019-01-13 22:22:22 +01:00
Alexis 30781757e3 revert: prefer nl_send_sync 2019-01-13 22:22:22 +01:00
Alexis 800d2f388e refactor(network): proper signal strength type 2019-01-13 22:22:22 +01:00
Alexis 1647e31b48 refactor: free netlink message 2019-01-13 22:22:22 +01:00
Alexis 399f61df98 refactor: proper modules destruction 2019-01-13 22:22:22 +01:00
Caleb Bassi 8ea0659ee2 Remove ws index from sway ws names 2018-12-28 09:36:02 -08:00
Caleb Bassi b4d38294a7 Fix typo 2018-12-27 16:03:29 -08:00
Robinhuett 4698c9d2cf chore(custom): Change int conversion 2018-12-26 11:35:58 +01:00
Robinhuett 11c98f13e3 feat(custom): Add format-icons to custom module
This commit allows custom modules (json only) to set a percentage. This can be displayed either by using {percentage} or by using {icon} with format-icons set.
2018-12-26 03:52:05 +01:00
Robinhuett 34df2b0695 fix(ALabel): Better fix for getIcon 2018-12-25 21:03:13 +01:00
Robinhuett ad638357b5 feat(network): Use Signal Strength for format-icons 2018-12-25 14:17:34 +01:00
Robinhuett 7404f80122 fix(ALabel): getIcon 2018-12-25 14:15:59 +01:00
Alexis de0ee9fcb2 fix(battery): adapter status 2018-12-24 12:17:07 +01:00
Alexis 755fad6bc3 fix(battery): typo 2018-12-24 08:50:58 +01:00
Alexis 87e55ea993 feat(battery): check adapter online as fallback when battery status report unknown 2018-12-24 08:37:10 +01:00
Alexis 3b8bfb08a4 fix(network): typo 2018-12-22 14:00:56 +01:00
Cédric Chépied a4062455cd fix(pulseaudio): return puleseaudio port string if unknown 2018-12-20 09:54:10 +01:00
Alexis b554094c7e feat: args && class id 2018-12-18 17:30:54 +01:00
Alexis 66ad2864c2 fix(Pulseaudio): use markup 2018-12-17 09:00:40 +01:00
Alexis c7b0639f32 fix(workspaces): check thread is running 2018-12-09 10:49:28 +01:00
Alexis 0acc50264e fix(custom): failed getline after closed pipe 2018-12-08 13:57:56 +01:00
Alexis 1b13f9e38c fix(custom): close endless scripts 2018-12-08 12:58:47 +01:00
Alexis 7befd27059 fix: clock interval 2018-12-04 09:38:08 +01:00
Alexis 2ec34e4adb feat: add $HOME to valid path 2018-12-03 20:12:34 +01:00
Alexis 812a7a9861 fix: typo 2018-12-03 11:13:56 +01:00
Alexis 1d96d57b75 feat: warn user about stopped endless custom module 2018-12-03 09:35:10 +01:00
Alexis 691fb88057 refactor(modules): const bar 2018-12-01 00:10:41 +01:00
Alexis 8e93fd3ae0 revert: Update to new Sway IPC protocol 2018-11-29 09:50:00 +01:00
Ryan Walklin 3a5a470d90 Update to new Sway IPC protocol 2018-11-28 22:27:06 +00:00
Alexis a123711a8d fix(network): disconnected forced interface 2018-11-25 21:32:50 +01:00
Alexis 391a7de94a fix(window): escape window name 2018-11-25 15:21:00 +01:00
David96 2aed121903 Allow custom plugins that don't execute anything 2018-11-24 17:24:02 +01:00
Alexis 08bfdda4cb revert(network): wait interface 2018-11-24 16:01:22 +01:00
Alexis 8f8ec3b999 feat(Label): on-click-right 2018-11-24 15:56:16 +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
Alexis 087de4e956 refactor(client): lambda to method 2018-11-24 11:04:56 +01:00
Alexis 2c2a0473f4 feat(client): throw when we don't have required resources files 2018-11-23 19:31:40 +01:00
Alexis 2e1f8b2fc5 fix(network): check len of netlinkResponse 2018-11-23 17:52:10 +01:00
Alexis 686bc4828e refactor(network): only get info when there is an interface 2018-11-23 17:46:14 +01:00
Alexis f6c2a8d9b7 fix(network): free the message instead of the socket 2018-11-23 17:42:26 +01:00
Alexis baa7f52e21 refactor(network): wait for new address 2018-11-23 16:04:29 +01:00
Alexis 2b05b8e69a chore: v0.2.2 2018-11-23 12:03:23 +01:00
Alexis ad7400d5ce refactor(ALabel): add interval 2018-11-23 11:57:37 +01:00
Alexis 36652158ad refactor(tray): more cpp binding 2018-11-23 10:46:58 +01:00
Alexis 8db94f7efd revert(ALabel): ref on format 2018-11-22 16:50:42 +01:00
Alexis 0b1b0eb1a7 feat(tray): multiple hosts 2018-11-22 16:20:49 +01:00
Alexis ba79b4d397 refactor(tray): cleanup and fixes 2018-11-22 15:47:23 +01:00
Alexis bd62c4cbc5 feat(Label): use set_markup 2018-11-21 20:49:09 +01:00
Alexis b3559328f1 fix(window): ellipsize 2018-11-20 23:24:33 +01:00
Alexis 69fceb1c92 fix(tray): sigsev on click when multiple icons is available 2018-11-16 12:01:03 +01:00
Alexis e42fae32ab feat(network): network info interval 2018-11-16 10:02:12 +01:00
Alexis c910767378 refactor: remove usless using 2018-11-15 14:48:49 +01:00
Alexis 94b9f0a399 feat(cpu): add both usage and load 2018-11-15 14:44:43 +01:00
Alexis 1665003d23 fix: sigsev 2018-11-14 19:14:51 +01:00
Robinhuett 75cc1bc318 refactor(network): codestyle and error handling 2018-11-14 10:31:17 +01:00
Robinhuett 5c66b1a770 feat(network): display ip address and subnetmask 2018-11-13 21:31:26 +01:00
Robinhuett e1d98f0ad9 fix(cpu): show correct load
feat(cpu): show cores in tooltip
2018-11-11 03:11:32 +01:00
Alexis 7222668326 refactor: disable battery timer stop on inotify event for now 2018-11-09 23:02:46 +01:00
Alex 315e2defde
Merge pull request #93 from Robinhuett/pulseaudio_scroll
Add config option for volume change scroll step size
2018-11-09 22:55:51 +01:00
Alexis 45bb8b1a1f refactor: simpler memory code 2018-11-09 22:55:25 +01:00
Robinhuett e21df5ae36 Add config option for volume change scroll step size 2018-11-09 22:48:27 +01:00
Robinhuett 9ea0815dea Use ifstream to reaad /proc/meminfo 2018-11-09 16:24:13 +01:00
Robinhuett 6b62079d8a rewind stream instead of opening a new one 2018-11-09 00:17:30 +01:00
Robinhuett ac0963c608 Use /proc/meminfo for Memory module 2018-11-08 21:09:56 +01:00
David96 adcd956c24 Fix workspaces not being removed from bar when moved to another output 2018-11-05 20:59:28 +01:00
David96 168415440f Fix clicking and scrolling through workspaces
The way waybar used the workspace "num", clicking a workspace called "1:
something" resulted in going to a newly created workspace called "1",
because the workspace ipc command expects the workspace name, not its number.
2018-11-05 20:16:19 +01:00
Victor Berger 2f6abfda59 Don't call layer_surface.set_size on configure 2018-11-03 13:16:13 +01:00
Alex 5ece0d98ee
Merge pull request #78 from mithodin/filesystem-experimental
add option for when filesystem still lives in the experimental namespace
2018-11-03 13:00:04 +01:00
Lucas L. Treffenstädt 25f31b19f6 formatting is hard. 2018-11-02 22:50:01 +01:00
Lucas L. Treffenstädt 123ce083b4 fix typo and initialize old_status_ 2018-11-02 22:08:55 +01:00
Lucas L. Treffenstädt 0522577fe5 make status and state fully configurable formats 2018-11-02 22:04:43 +01:00
Lucas L. Treffenstädt b6cad05489 fix formatting 2018-11-02 21:13:57 +01:00
Lucas L. Treffenstädt 236be90c2f add option for when filesystem still lives in the experimental namespace 2018-11-02 20:59:41 +01:00
Lucas L. Treffenstädt 9c57df505c Add class for full battery and give option to interpret unknown as full 2018-11-02 19:41:00 +01:00
Alexis 7bca5fd6bd feat(Bar): add a warning about minimum height 2018-11-02 12:35:26 +01:00
Alex 61e9f0803d
Merge pull request #75 from ForTheReallys/proper_height
Fix #54
2018-11-02 12:26:14 +01:00
Alexis 9b201c77d7 feat: battery states && format-full/charging 2018-11-02 11:23:29 +01:00
Alex Maese 4b68840212 Fix #54 2018-11-01 16:00:38 -05:00
Alexis 9d4048983d refactor: remove useless tmp variable 2018-11-01 09:27:00 +01:00
Robinhuett e23fbd0add Added return-type json to custom module 2018-11-01 00:40:44 +01:00
Robinhuett 341d3300fa Custom modules can control tooltip and CSS class 2018-10-30 21:28:31 +01:00
Alex c3e185546d
Merge pull request #68 from harishkrupo/master
Add configuration options for widgets on mouse events
2018-10-30 16:32:37 +01:00
Harish Krupo 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
Robinhuett 4c8621c7a5 Added second warning stage to battery module
Also naming is a bit more consistent
2018-10-30 16:23:36 +01:00
Harish Krupo d7d1ebd736 ALabel: Add support for configurable mouse events
This patch adds 3 new configuration options applicable for
subclasses of ALabel. The options can be used to execute
user defined code in response to the 3 mouse events:
* on-click: The left mouse button click
* on-scroll-up
* on-scroll-down
This patch also modifies the behaviour of the format-alt toggle
such that when the on-click event is configured, format-alt is
toggled on any mouse click other than left click. When on-click
is not defined, any mouse button would toggle format-alt.

Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2018-10-30 20:52:23 +05:30
Robinhuett a042eea384 Add module to show sway binding mode 2018-10-30 13:39:30 +01:00
Alexis c9a8a07976 fix(window): title on new workspace 2018-10-29 21:52:53 +01:00
Alexis daf613f8ca feat: add debug about tray beta 2018-10-28 08:43:48 +01:00
Alexis ed3e4b1395 fix(pulseaudio): check active_port is set 2018-10-27 11:23:43 +02:00
Alexis a55a1ae866 fix(tray): icons size 2018-10-26 14:53:39 +02:00
Alexis 07d8dfb3d6 feat(tray): spacing config 2018-10-26 12:08:50 +02:00
Alexis 5010227e6b fix(tray): icons 2018-10-26 11:59:03 +02:00
Alexis adc38c3dfe feat(sni): set protocol version 2018-10-26 10:56:45 +02:00
Alexis b10907ee44 refactor: remove useless code 2018-10-26 10:39:25 +02:00
Alexis 0c9699b076 fix: check before set is host registered 2018-10-26 10:27:15 +02:00
Alexis 63e86fbe9e fix: check type 2018-10-26 10:12:34 +02:00
Alexis f20441fa92 refactor: simpler sni naming 2018-10-26 10:05:54 +02:00
Alexis 3f269ff463 fix: check json::value type 2018-10-26 09:27:16 +02:00
Alexis 9fae5efc06 feat: use interval thread until got inotify event 2018-10-25 17:39:15 +02:00
Alexis 7f1f217d84 feat: multiple config per modules 2018-10-25 17:30:26 +02:00
Alexis 4626cbef63 fix(pulseaudio): round volume 2018-10-25 13:57:35 +02:00
Alexis 85f845ca43 refactor: remove debug 2018-10-25 13:49:30 +02:00
Alexis 68d9d2c347 fix: ifdef 2018-10-25 12:24:39 +02:00
Alexis d4b97d5d09 feat: optional tray 2018-10-25 11:47:03 +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
Alexis c912d8c86a fix(workspaces): index 2018-10-25 10:22:11 +02:00
dangerousdan 137c5fb712
fix custom intervals causing cpu to go mental 2018-10-23 00:06:46 +01:00
Alexis 5a6e05dcde feat: workspaces index 2018-10-22 10:41:52 +02:00
Tobias Pisani a13ce6e227
Merge branch 'tray-gdbus' into tray-gdbus 2018-10-05 21:20:36 +02:00
Alexis 091b460d03 feat(Tray): handle click 2018-10-04 18:53:50 +02:00
Alexis 56e55fa4aa fix: remove TODO 2018-10-04 18:53:50 +02:00
Alexis dc799adf45 feat(Tray): icon pixmap 2018-10-04 18:53:50 +02:00
Alexis 75c9477aa8 feat(Tray): handle item unregister 2018-10-04 18:53:50 +02:00
Alexis 75cf1d70fd feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-10-04 18:53:50 +02:00
topisani 9a333088e5 Merge branch 'tray-gdbus' of github.com:topisani/Waybar into tray-gdbus 2018-10-04 18:47:06 +02:00
topisani b231054b69 Merge remote-tracking branch 'origin/master' into tray-gdbus 2018-10-04 18:04:36 +02:00
topisani 108b1092e5 WIP sni dbus-menu support. 2018-10-04 18:03:01 +02:00
Alexis 0e8b3f71b8
fix(Custom): pclose if continuous script end 2018-09-18 23:21:08 +02:00
Alexis 00959c7d65
feat(Custom): handle continuous script 2018-09-18 23:15:37 +02:00
Alexis d5d620e72d
feat(Window): handle closed window 2018-09-18 21:16:35 +02:00
Alexis d914429194
feat(Workspaces): format 2018-09-18 20:58:11 +02:00
Alexis fcdb8387af
feat(Tray): handle click 2018-09-17 23:32:05 +02:00
Alexis 3e2e1a7018
fix: remove TODO 2018-09-15 19:01:28 +02:00
Alexis 86958f264e
feat(Tray): icon pixmap 2018-09-15 19:01:28 +02:00
Alexis 20ff2cab9e
feat(Tray): handle item unregister 2018-09-15 19:01:28 +02:00
Alexis fc6e42d748
feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-09-15 19:00:45 +02:00
Alexis 55e1905284
fix(Sway): compile without sway 2018-09-10 11:25:53 +02:00
Alexis 0abaaf2f7f
style: fix 2018-09-10 11:16:57 +02:00
Alexis de5df09fcd
fix(Custom): loop script block main loop 2018-09-05 19:20:19 +02:00
Alexis 7020af7653
feat(Workspaces): urgent, visible, focused icons 2018-09-05 00:16:56 +02:00
Alexis 0eee8eade7
feat(WIP): tray
feat(wip): tray

feat(wip): tray

feat(WIP): gdbus

feat(WIP): tray
2018-09-02 17:29:16 +02:00
Alexis 6dd9b5ccc4
feat(Pulseadio): port icons 2018-08-29 23:50:41 +02:00
Alexis d0933ab50f
fix(thread): check before detach 2018-08-29 21:07:58 +02:00
Alexis 9a1b8bb831
fix(Custom): only set id when getting an output 2018-08-28 11:10:36 +02:00
Alexis 53956d9d18
feat(ALabel): Toggleable labels 2018-08-27 01:36:25 +02:00
Alexis c8ca8b3725
fix(Custom): hide label when exec-if failed 2018-08-26 21:41:34 +02:00
Alexis 0ad2bc7516 refactor(Network): clean nl socket 2018-08-24 15:32:06 +02:00
Alexis 0dba3abc1d fix(custom): do not take the custom module ref 2018-08-21 10:50:09 +02:00
Alexis 8be67d5008 chore: optional deps 2018-08-20 17:20:02 +02:00
Alex 49232eed8d
Clean (#31) 2018-08-20 14:50:45 +02:00
Alexis b7e3d10fb7 revert(workspaces): ipc command out of update func 2018-08-20 00:19:27 +02:00
Alexis 8ce33e0c64 fix(window): pick only con title 2018-08-19 20:37:33 +02:00
Alexis 52a4e761a8 fix(workspaces): avoid useless mutex lock 2018-08-19 13:43:00 +02:00
Alex 6705134034
Handle screens disconnection (#29) 2018-08-19 13:39:57 +02:00
Alexis ce50a627be refactor: move command execution into their own file 2018-08-18 17:54:20 +02:00
Alexis b794ca63d1 feat(custom): exec-if 2018-08-18 17:27:40 +02:00
Alexis 38ede5b3d5 refactor(ipc): clean 2018-08-18 16:01:56 +02:00
Alexis 27dfffa4e3 refactor: style issue 2018-08-18 15:05:18 +02:00
Alexis b1fd4d7b82 feat(modules): generic label module to allow max-length on all labels 2018-08-18 11:43:48 +02:00
Alexis c128562284 feat(bar): clean exit 2018-08-17 20:28:26 +02:00
Alex d280f5e8bd
Network detect (#26) 2018-08-17 14:24:00 +02:00
Alexis 0603b99714 fix(bar): proper center modules 2018-08-16 18:11:16 +02:00
Alexis 0371271465 fix(custom): hide first 2018-08-16 17:59:45 +02:00
Alexis 8768183f3d fea(workspaces): add disable-scroll config 2018-08-16 17:12:45 +02:00
Alexis e4f35d7ca0 fea(custom): add max-length config 2018-08-16 17:09:51 +02:00
Alexis 57f3a01a5b refactor: remove assert 2018-08-16 15:41:09 +02:00
Alex 6635548d3e
Style code (#25) 2018-08-16 14:29:41 +02:00
Alexis 3fdc50163d feat(window): update when window title change 2018-08-16 00:02:57 +02:00
Alexis a9246a09eb feat(workspaces): add a option to show all workspaces from all outputs 2018-08-15 22:19:17 +02:00
Alexis 008856cbb8 feat(clock): allow choose interval 2018-08-15 21:00:04 +02:00
Alexis 608b791ac1 refactor(clock): use fmt::localtime 2018-08-15 20:53:27 +02:00
Alexis f94598c138 feat(sway): add focused window name 2018-08-15 20:17:17 +02:00
Alexis 9b75302d22 refactor(client): cleanup 2018-08-15 17:31:45 +02:00
Alexis be66cc2dd1 feat(workspaces): add urgent, visible class 2018-08-15 15:03:51 +02:00
Alexis 52e7b6148b feat(workspaces): add class to button when label is a icon 2018-08-15 14:58:55 +02:00
Alexis e3e099f836 feat(workspaces): icons 2018-08-15 14:48:08 +02:00
Alexis 767d9dd5b4 fix(workspaces): buttons iterator 2018-08-15 14:30:01 +02:00
Alexis d1d51b76aa fix(client): try to fix #20 2018-08-15 01:53:43 +02:00
Alex cee031d2fa
Workspaces scroll event (#19) 2018-08-14 11:26:06 +02:00
Alexis 18c7ad0026 fix(workspaces): lock mutex inside click callback 2018-08-13 23:43:35 +02:00
Alexis 1555cb71e1 feat(pulseaudio): volume icons 2018-08-13 22:33:07 +02:00
Alexis ea9a08d473 refactor(workspaces): listen ipc event 2018-08-13 21:23:43 +02:00
Alexis 68f9ea3065 fix(battery): add check for sys files 2018-08-13 17:11:47 +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 b381e2a596 feat(battery): capacity icons 2018-08-11 13:15:31 +02:00
Alexis 67fa8bd4c3 style(battery): animates background when battery is in a critical state 2018-08-11 13:03:35 +02:00
Alexis 6ff296a4b0 refactor(bar): prefer standard unique_ptr 2018-08-11 12:49:28 +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 04183dc696 refactor(modules): prefer sigc::mem_fun 2018-08-11 02:40:13 +02:00
Alexis 14053d61fc feat(workspace): catch ipc errors 2018-08-11 02:09:39 +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
Alexis 679aafa9e8 refactor(pulseaudio): remove signal init 2018-08-10 18:16:11 +02:00
Alexis 9b2c551f2e fix(battery): typo 2018-08-10 18:04:48 +02:00
Alexis d728de2dd7 fix(battery): check for battries :( 2018-08-10 18:02:12 +02:00
Alexis 4d3879f26f refactor: avoid useless has_class check 2018-08-10 17:05:12 +02:00
Alexis e16cce646b feat: add custom module to allow execution of external script 2018-08-10 16:26:46 +02:00
Alexis c52b0c5f03 feat(network): add signal strength percentage 2018-08-10 10:45:13 +02:00
Alexis aab9625182 fix(network): copy all characters 2018-08-10 10:22:50 +02:00
Alex 654ceffe19
Merge pull request #7 from Alexays/bar-position
Allow bar position at the bottom of screen
2018-08-10 00:45:14 +02:00
Thomas Plaçais 472a954d03 Allow bar position at the bottom of screen 2018-08-10 00:40:09 +02:00
Alexis f810713570 refactor(pulseaudio): use pulseaudio thread rater than cpp 2018-08-10 00:34:13 +02:00
Alexis 291267711a feat(pulseaudio): add muted class 2018-08-10 00:02:50 +02:00
Alexis 7ccb76935d feat: add pulseaudio module 2018-08-09 23:55:38 +02:00
Alex 11fab436b9
Merge pull request #5 from Alexays/signalDbm
feat(network): signal strength in dBm
2018-08-09 22:38:13 +02:00
Alex 4594f7b456
Merge pull request #4 from Alexays/fix-memory-usage
Fix formula used to compute RAM used and available
2018-08-09 22:05:47 +02:00
Alexis c276c3b907 feat(network): signal strength 2018-08-09 22:05:15 +02:00
Thomas Plaçais 7d3c0b0bb9 Clarify variable names and percentage formula in memory module 2018-08-09 21:47:28 +02:00
Alexis 6ccb029097 fix: remove debug 2018-08-09 21:14:57 +02:00
Thomas Plaçais 98060310c6 Fix formula used to compute RAM used and available 2018-08-09 21:14:20 +02:00
Alexis 23f48cb8b7 refactor: prefer static methods 2018-08-09 20:22:01 +02:00
Alexis 03132bd219 feat: add tooltip to battery and memory 2018-08-09 17:30:23 +02:00
Alex a25967e4c6
Merge pull request #2 from Alexays/system-wide-config
Add system-wide config and style files
2018-08-09 17:14:16 +02:00
Thomas Plaçais 22a8427db4 Add system-wide config and style files 2018-08-09 17:02:30 +02:00
Alexis 731a352b41 feat: add network module 2018-08-09 16:38:24 +02:00
Alexis b8917e9973 feat(config): interval for cpu and memory modules 2018-08-09 14:34:39 +02:00
Alex e749f00aa7
Merge pull request #1 from BlueGone/multiple-default-paths
Add different default paths for config and css files
2018-08-09 14:22:41 +02:00
Thomas Plaçais 6f9fb72cdf Add different default paths for config and css files 2018-08-09 14:20:22 +02:00
Alexis dc4e4860bd feat(config): format modules 2018-08-09 13:30:11 +02:00
Alexis 45832fcbe3 fix(workspaces): reorder child if needed on focus 2018-08-09 12:25:01 +02:00
Alexis 39a0ae04a8 feat: basic config file 2018-08-09 12:05:48 +02:00
Alexis 4cec0f390b fix(battery): proper handle multiple 2018-08-09 11:21:08 +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 81b5c37d86 refactor(workspaces): cleaner handle resume 2018-08-09 01:14:06 +02:00
Alexis c1e2735314 feat: add idle protocol to avoid update workspace when idle 2018-08-09 01:10:07 +02:00
Alexis 193bd8a79a fix(bar): remove focused window code 2018-08-09 00:41:39 +02:00
Alexis e5b5be3b37 feat(workspaces): add thread sleep 2018-08-09 00:33:33 +02:00
Alexis fcb6a9aa8b feat: init repo 2018-08-08 23:54:58 +02:00