Commit Graph

1665 Commits

Author SHA1 Message Date
Tom Charnock 0306c97173 Merge branch 'master' of https://github.com/Alexays/Waybar 2022-09-05 09:54:04 +02:00
Alex 8a82cdff16
Merge pull request #1659 from TheRealLorenz/master
Add 'max-volume' option to pulseaudio
2022-09-05 09:13:01 +02:00
Alex 29bdff5314
Merge pull request #1657 from vaxerski/hyprlandLanguage
Added a basic hyprland/language module
2022-09-05 09:12:17 +02:00
Blallo eb017347b8
Add support for reading the config path from env
This commit adds support to reading the config base path from the
environment variable `WAYBAR_CONFIG_DIR`. If it is set, but no
configuration is found there, it falls back to the previous mechanism
of using the default paths, without erroring.
2022-09-05 08:21:36 +02:00
Bao Trinh f5a24d12e5
group module: configurable orientation
currently, the orientation of group modules is always the opposite of
the bar. Change it so that:

* the default orientation of the group module is always the opposite of
  its parent, even for nested groups
* the orientation can be overridden in the config
* css ID and class are set for the group element
2022-09-03 18:37:35 -05:00
Tom Charnock 912d7f8588 Making calculations uint64_t 2022-09-03 18:08:26 +02:00
Tom Charnock 5647146ac0 Added Discharging clause and corrected typo 2022-09-03 17:52:11 +02:00
Tom Charnock af2a3f8bda Added alternative calculations for time remaining 2022-09-03 16:06:13 +02:00
asas1asas200 55e83f90d1 feat(idle-inhibitor): add tooltip format 2022-09-03 19:21:32 +08:00
Tom Charnock 0d94853613 Added alternative variable calculations 2022-09-02 15:37:23 +02:00
Tom Charnock 120c68e014 Updated logic in battery module 2022-09-02 11:42:46 +02:00
Alex 4deb6d812d
Merge pull request #1653 from kennypm/dsp
add JACK module
2022-09-02 08:12:57 +02:00
asas1asas200 d2ff116c92 feat(sway/scratchpad): add some configs
Add some configs for displaying.
Remove draft codes.
2022-08-31 16:27:25 +08:00
asas1asas200 e3342467fc feat(sway/scratchpad): add basic counter 2022-08-31 16:27:25 +08:00
asas1asas200 4a929240df style(lint): fix some files lint 2022-08-31 15:51:50 +08:00
Alex 33d13af6d1
Merge pull request #1670 from akliuxingyuan/master 2022-08-30 20:43:51 +02:00
akliuxingyuan 0d27949f0a scale icons for HiDPI monitor 2022-08-30 23:13:38 +08:00
asas1asas200 f6322d2dd1 fix(network): dont escape essid in tooltip
Like #1256 , but escape by calling `set_tooltip_markup()`, because the
label text uses `set_markup()`.
2022-08-30 23:05:34 +08:00
Alexander Courtis 5f2dd99e6d #1591 river escape window and mode 2022-08-29 16:22:08 +10:00
asas1asas200 8b03e38594 fix(keyboard): correct device-path config behavior 2022-08-24 14:08:34 +08:00
asas1asas200 5944989a8a doc(keyboard): add deprecated warning 2022-08-24 02:41:12 +08:00
asas1asas200 dcd75b3b40 feat(keybaord): enable hotplug support
Use inotify listening devices path changes to implement hotplug support.
The new hotplug thread is also an event loop, so the interval value has
no effect.
The evdev is now open on demand.

Fix libinput_interface object life-time.
2022-08-23 23:30:16 +08:00
ViktarL 17f91391b6
Merge branch 'Alexays:master' into ISSUE#1545 2022-08-23 09:00:08 +00:00
asas1asas200 061f4550f4 feat(keyboard): improve keyboard response time
Use libinput event for keyboard state updates.
The state will update when CAPS_LOCK, NUM_LOCK or SCROLL_LOCK has been
released,
`interval` will have no effect after this change.
2022-08-22 22:49:59 +08:00
asas1asas200 51670f0506 Fix typo 2022-08-21 12:35:33 +08:00
TheRealLorenz 4e930ba50a Add 'max-volume' option to pulseaudio. Fixes #1607 2022-08-20 22:21:57 +02:00
ViktarL 8839a86afe
Merge branch 'Alexays:master' into ISSUE#1545 2022-08-19 13:52:52 +00:00
kennypm 59e57ab9a0 man page and adjust default format 2022-08-18 17:05:04 -04:00
vaxerski 39c170bf10 remove one comment that I forgot to 2022-08-18 19:13:24 +02:00
vaxerski ed6467e785 fix linter 2022-08-18 19:02:46 +02:00
vaxerski 43c3ca1d38 added the thing i was talking about 2022-08-18 18:59:34 +02:00
vaxerski 8881b9a6ef fix linter the most 2022-08-18 18:06:34 +02:00
vaxerski e8942feefc fix linter more 2022-08-18 18:05:40 +02:00
vaxerski a23d58e900 fix linter 2022-08-18 18:04:39 +02:00
vaxerski 16d5619f3b added a basic hyprland/language module 2022-08-18 18:00:27 +02:00
Alex bcee4e15d3 fix: lint files 2022-08-18 15:22:25 +02:00
Alex b7bd06ad8f
Update window.cpp 2022-08-18 15:21:50 +02:00
Alex e50c246601
Merge pull request #1651 from TheRealLorenz/master
Feature: sway/window can show 'shell' parameter
2022-08-18 15:21:09 +02:00
Alex 848ae1f818
Merge pull request #1656 from vaxerski/hyprland
Added a Hyprland backend and a Window module
2022-08-18 15:15:45 +02:00
Vaxry 8dc78e4e40
Revert "init man documentation" 2022-08-18 14:54:20 +02:00
Vaxry e662b8c624
Merge pull request #2 from NotAShelf/master
init man documentation
2022-08-18 14:53:15 +02:00
vaxerski e2e59a52df make the linter happy 2022-08-17 22:03:49 +02:00
vaxerski 123ed36739 remove workspaces module as its buggy and unnecessary 2022-08-17 21:58:33 +02:00
vaxerski c64058c947 stabilize window module 2022-08-17 21:54:23 +02:00
kennypm 56d46e62c1 add samplerate callback since pipewire supports dynamic samplerate changes 2022-08-12 11:30:12 -04:00
kennypm 4336f10b29 Merge branch 'dsp' of https://github.com/kennypm/Waybar into dsp 2022-08-11 17:26:45 -04:00
kennypm a7979a3e56 add locks and refactor for clarity 2022-08-11 17:26:27 -04:00
kennypm bfed2114e4 jack_client_close working properly now 2022-08-11 15:49:24 -04:00
Kenny Phelps-McKeown f65a372855
Merge branch 'Alexays:master' into dsp 2022-08-11 07:46:20 +00:00
TheRealLorenz 5b1cd65e20 Fix: better formatting 2022-08-10 10:41:18 +02:00
TheRealLorenz 99ed2bb7fa Feature: sway/window can show 'shell' parameter 2022-08-10 10:34:51 +02:00
kennypm ddd5b4e157 refactor 2022-08-07 15:29:42 -04:00
Viktar Lukashonak e9e5780aae
Calendar scrolling opportunity 2022-08-06 13:55:20 +03:00
Alex 77bea7c182
Merge pull request #1631 from m-braunschweig/filename
mpd: add filename formatter
2022-08-04 10:05:14 +02:00
Alex c2ab2e6d19
Merge pull request #1627 from datMaffin/master
sni: Use the pixmap if for the given icon name an icon could not be found
2022-08-04 10:04:48 +02:00
Mika Braunschweig 11239a4900
mpd: add filename formatter 2022-08-03 20:52:18 +02:00
Marvin Dostal 95b5348c24 sni: change missing icon in theme logging from info to trace 2022-08-03 17:34:34 +02:00
kennypm 15dbe8965e fix Linter error 2022-07-19 22:36:59 -04:00
kennypm decc5bcd68 namespace cleanup 2022-07-19 22:34:35 -04:00
kennypm 92870cab2a namespace cleanup 2022-07-19 22:30:42 -04:00
kennypm 4cb2cc9f21 fix Linter errors 2022-07-19 21:54:36 -04:00
kennypm 02df861829 fix Linter errors 2022-07-19 21:53:32 -04:00
kennypm 23eaffc04b fix Linter errors 2022-07-19 21:49:56 -04:00
kennypm 714451e4f9 cleanup 2022-07-19 19:40:23 -04:00
kennypm 4cd6024f07 move issue from comment to Issues 2022-07-19 19:36:48 -04:00
kennypm 8b5f42d934 remove unnecessary libprocps dependency 2022-07-19 19:27:39 -04:00
kennypm 318a6e0969 fix segfault when stopping JACK2 server 2022-07-19 01:38:56 -04:00
kennypm c7b09eea11 changed callbacks to use static_cast 2022-07-19 01:38:56 -04:00
kennypm bc8517fd08 fix callbacks 2022-07-19 01:38:56 -04:00
kennypm 9439e4183c fix callbacks 2022-07-19 01:38:56 -04:00
Kenny Phelps-McKeown 8fc8bb40bf Initial commit for Waybar JACK monitoring module
-DSP load
  -xruns
  -connected/disconnected state
  -only tested with Pipewire so far but should work with JACK2 as well

 On branch dsp
 Changes to be committed:
	modified:   include/factory.hpp
	new file:   include/modules/jack.hpp
	modified:   meson.build
	modified:   meson_options.txt
	modified:   src/factory.cpp
	new file:   src/modules/jack.cpp
2022-07-19 01:38:35 -04:00
Alex d906080f26
Merge pull request #1617 from alebastr/fmt-9
fix: adapt to fmt 9.0.0 breaking changes
2022-07-18 10:00:46 +02:00
Marvin Dostal 04d66de866 sni: remove unnecesary parameter 2022-07-17 22:20:24 +02:00
Marvin Dostal 699f732146 sni: Remove unnecessary getIconByName call 2022-07-17 22:15:14 +02:00
Marvin Dostal f437bf96e3 sni: Prefer system icons over pixmap 2022-07-17 22:15:12 +02:00
Marvin Dostal fc9a390977 sni: Use the given pixmap even if there is a name given 2022-07-17 22:14:57 +02:00
Carlos Ortega 48d2759df5 add layout as class to language module 2022-07-17 16:13:32 +01:00
Aleksei Bavshin a44622aa9f
fix: fmt 9.x deprecation warning for implicit enum conversions 2022-07-13 22:36:37 -07:00
Aleksei Bavshin 3117aefdf3
fix: drop conditionals for ancient fmt versions 2022-07-13 22:36:33 -07:00
Aleksei Bavshin 24a8332b62
fix: adapt to fmt 9.0.0 breaking changes 2022-07-13 22:36:32 -07:00
vaxerski 17b60bc737 minor changes 2022-07-01 15:35:25 +02:00
vaxerski c1f92d2a3c added workspaces 2022-07-01 15:16:54 +02:00
vaxerski 72f478c195 added backend and hyprland/window 2022-07-01 12:46:28 +02:00
Viktar Lukashonak 36aa22189b
Last weekday applies Unix fmt 2022-06-24 16:44:06 +03:00
Bao Trinh e57899c0c5
pulseaudio: avoid retaining outdated form factor
when the module fails to get the pulseaudio device form factor, the
module persists the existing value, resulting in the incorrect
format-icon being used to format the label on device changes.

reset the form factor value so that the icon lookup properly falls back
to "default" when missing
2022-06-14 13:57:03 -05:00
Alex 249c0aad73 fix: lint 2022-06-14 09:17:40 +02:00
Bao Trinh 458c03bf95
retain instance name css class for custom modules
When adding a custom module with a name, e.g.:

```jsonc
{
  ...,
  "custom/foo#bar": { },
  ...
}
```

The custom module does not retain the `bar` class as it should, because
all the classes are replaced with the runtime output:

1b4a7b02f4/src/modules/custom.cpp (L141-L147)

Avoid removing the module instance name class so css class behavior is
consistent between all modules.
2022-06-13 16:10:41 -05:00
Alex 1b4a7b02f4
Merge pull request #1575 from cosandr/bandwidth-update
Add total bandwidth formatting options
2022-06-11 11:45:18 +02:00
tiosgz f3a049c6df river/mode: new module
This module shows river's current mapping mode (e.g. normal, locked).
2022-06-01 15:35:08 +00:00
Daan Goossens 6857691679 style(bluetooth): apply project style 2022-05-28 12:58:37 +02:00
Daan Goossens a475be7cf7 feat(bluetooth): add format-icons 2022-05-28 12:35:33 +02:00
Daan Goossens 00c11c64ca fix(bluetooth): tooltip-format-connected-battery 2022-05-28 12:33:47 +02:00
Andrei Costescu 4e2305639b
Add option for displaying total bandwidth 2022-05-28 10:54:10 +02:00
Daan Goossens ae9fb57790 fix: vertical bar not anchored when width is set 2022-05-25 16:09:21 +02:00
Alex 7ab9a560ae fix: lint 2022-05-23 13:47:14 +02:00
Alex a5299af3c2
Merge pull request #1562 from trevnels/river-window
River Window Module
2022-05-23 13:43:28 +02:00
Alex 4d1aeb7eb8
Merge pull request #1525 from FlexW/feature/icon-heuristics
sway/window: Add heuristics for finding icons
2022-05-23 13:42:26 +02:00
Alex 38a846ae51
Merge pull request #1555 from LukashonakV/ISSUE#1552
Calendar module: localization issue #1552
2022-05-23 13:40:48 +02:00
Alex 03bbc9df64
Merge pull request #1554 from ErikReider/gamemode-module
Gamemode Module
2022-05-23 13:40:09 +02:00
Alex 1e4fe0bee8
Merge pull request #1557 from LukashonakV/ISSUE#1556
Issue#1556. Battery module: a lot of warnings when battery dissapears
2022-05-23 13:39:23 +02:00
Erik Reider f4f2989e85 Added tooltip-format 2022-05-21 12:02:45 +02:00
Erik Reider 8d4c7176f8 Renamed not-running-bide to hide-not-running 2022-05-21 12:02:35 +02:00
Ed Ralston 7abcbe80e5
Prevent segfault in getCpuFrequency
When parseCpuFrequencies returns an empty vector, getCpuFrequency
would attempt to dereference an invalid iterator.

Return early from getCpuFrequency when parseCpuFrequencies returns an
empty vector.

Resolves a segfault when waybar is run within a VM on apple silicon.
2022-05-19 20:01:57 -04:00
trevnels b900c01381 add manpage and make format option work 2022-05-19 15:32:10 -04:00
trevnels e2b676b800 add river/window module 2022-05-19 15:20:04 -04:00
Viktar Lukashonak 7f995507fe
std::filesystem::path is a string representation 2022-05-14 17:10:44 +03:00
Viktar Lukashonak b39a8ede6c
Issue#1556. Battery module: wrong string comparison
1. battery.hpp - added local bool variable. Force to print warnings the
only once in order to warn user about wrong battery configuraion. And
does not bring a mess when the battery is turned off (gamepads, etc.)
2. dir_name is an object which takes a part in comparison. So converted to the string.
2022-05-14 16:56:46 +03:00
Viktar Lukashonak 315ea991bc
Calendar module: localization issue #1552 Linter #60 2022-05-13 23:56:08 +03:00
Viktar Lukashonak bd0f6128d3
Revert "Waybar. Issue#1552. Calendar module, LC_TIME variable"
This reverts commit 7b7ee41e13.
2022-05-13 22:58:38 +03:00
Viktar Lukashonak 5a014305ec
Revert "Issue#1552. Calendar module, LC_TIME variable"
This reverts commit 448b413eca.
2022-05-13 22:58:00 +03:00
Erik Reider 3411236697 Initial implementation 2022-05-13 21:30:45 +02:00
Viktar Lukashonak e615612bf4
Calendar module: localization issue #1552 2022-05-13 18:51:32 +03:00
Viktar Lukashonak 448b413eca
Issue#1552. Calendar module, LC_TIME variable 2022-05-13 12:54:18 +03:00
Viktar Lukashonak 7b7ee41e13
Waybar. Issue#1552. Calendar module, LC_TIME variable 2022-05-12 19:04:45 +03:00
Alex 9bc821bdac
Merge pull request #1551 from loserMcloser/keyboard-state-css-classes
Add classes to individual keyboard state labels
2022-05-12 13:55:32 +02:00
loserMcloser bfcb936d87 Add classes to individual keyboard state labels 2022-05-11 08:08:28 -06:00
Alex 3d023a0421
Merge pull request #1540 from daangoossens22/bluetooth
feat: extend bluetooth module
2022-05-11 09:26:38 +02:00
Daan Goossens e235f48245 feat: hide module if empty 2022-05-07 13:42:27 +02:00
Daan Goossens 3043d42a89 style: apply projects clang-format 2022-05-06 17:01:43 +02:00
Daan Goossens 954bed3f5e refactor: adapter renamed to controller
Since it is also called controller in bluetoothctl
2022-05-06 16:37:48 +02:00
Daan Goossens 13df878bc3 refactor: logic for enumerating devices in tooltip 2022-05-06 16:37:40 +02:00
Alex 4592dd4a6c
Merge pull request #1527 from siikamiika/network-current-iface-bandwidth
network: calculate bandwidth for current interface
2022-05-05 09:44:44 +02:00
Daan Goossens 794610a1ca feat: display all connected devices in tooltip 2022-05-04 19:27:39 +02:00
Alex 7bbf7c99a3 fix: lint 2022-05-04 17:29:08 +02:00
Alex eec0a8255f
Merge pull request #1454 from Psykar/idle_inhibitor_timeout
Add a config to set a timeout for the idle_inhibitor module
2022-05-04 17:27:21 +02:00
Daan Goossens 638b4e6573 feat: extend bluetooth module 2022-05-02 18:11:21 +02:00
Bao Trinh 96746142d2
Backlight: don't reset value when failing to read
Avoids the brightness percentage resetting to 0 on intermittent failures
2022-04-21 22:19:05 -05:00
Bao Trinh 1af7191740
Backlight: avoid crash on getting brightness fails
Reading brightness value for backlight device can fail intermittently
(particularly when using ddcci-driver-linux). Handle this more
gracefully rather than crashing
2022-04-21 22:02:45 -05:00
Alex 89be55b00b
Merge pull request #1510 from towoe/sway-bar-show
Show hidden bar
2022-04-20 05:13:53 +02:00
Alex 23369aa14c
Merge pull request #1500 from RobertMueller2/clock-thread-sleep
Replace sleep_until with sleep_for to prevent clock from getting stuck with system time adjustment
2022-04-20 05:11:49 +02:00
Alex a16e54573e
Merge pull request #1524 from berbiche/fix/gtk-layer-shell-anchors
bar: don't set layer-shell anchor for edges when width is not 'auto'
2022-04-20 05:09:36 +02:00
siikamiika 7231c47244 network: calculate bandwidth for current interface 2022-04-18 13:56:30 +03:00
Felix Weilbach 3f123d9c4e sway/window: Add heuristics for finding icons
This adds heuristics for finding the applications icon.
2022-04-18 03:09:25 +02:00
Nicolas Berbiche 6851e26450
bar: don't set layer-shell anchor for edges
Don't set the anchor for certain edges when the width or the height
is not set to a value of 'auto' (1).

When the bar is vertical, the top and bottom edges are not anchored
otherwise the left and right edges are not anchored.

This resolves an issue wherein the width and height set for the
layer-shell were ignored because the layer was set to anchor to all
edges.
2022-04-17 18:19:36 -04:00
Felix Weilbach fc6f5741b1 sway/window: Allow the user to change the size of the app icon
Fixes #1461
2022-04-17 23:57:57 +02:00
Felix Weilbach 45988b3dbb Sway/window: Only update icon from main thread
If Gtk objects get updated from other threads than the main thread GTK
can get confused. This is a regression of bcadf64031.

Fixes #1464, #1474
2022-04-17 22:55:58 +02:00
Rene D. Obermueller 4e3f91d237 Issue 1226/1497: align updates with times divisible by interval 2022-04-16 14:21:28 +02:00
Rene D. Obermueller e5d05baba3 Issue 1226/1497: Replace sleep_until with sleep_for to prevent clock from getting stuck with system time adjustment 2022-04-16 14:21:28 +02:00
Tobias Wölfel 7763d50691 Add reset behaviour of modifier key
Add an option to change the behaviour of the modifier key to reset the
visibility.
2022-04-15 20:04:58 +02:00
Tobias Wölfel 5a0e42cc76 Limit visibility updates
Prevent visibility updates to occur for inactive modules.
Check active modules and subscribe to only those events.
2022-04-15 20:04:56 +02:00
Tobias Wölfel 1dcd36b06c Show bar on sway mode
Display the bar if the sway mode is not the default mode.
2022-04-15 19:58:50 +02:00
Tobias Wölfel 93f9b3d213 Clear urgency hint with modifier press
If the modifier is pressed and release without another event, the
intended behaviour is to clear an urgency hint and hide the bar again.

Note that if multiple workspaces have the urgency hint set, the bar is
hidden again and an urgent workspace is focused, the bar does not stay
hidden anymore.
2022-04-15 19:55:06 +02:00
Alex 54b1df69a9 fix: lint clock 2022-04-15 14:39:13 +02:00
Alex 73cd156a7a
Merge pull request #1492 from LukashonakV/master
#1315. Add option to display week number on calendar
2022-04-15 14:37:46 +02:00
Tobias Wölfel e3700b924e Show bar if a workspace becomes urgent
Add a second reason to show the bar besides visible by modifier.
Update the visibility based on changes in the workspace urgency.
Check all workspaces for urgency and keep the bar visible if at least
one has an urgency hint.
2022-04-14 19:08:11 +02:00
Tobias Wölfel e8b022c096 Add disabled bluetooth style
Allow to set a different style if the bluetooth adapter is disabled.
2022-04-12 10:31:20 +02:00
Aleksei Bavshin 13fdbc13c3
refactor: change `enum ipc_command_type` to uint32_t
As we always use the enum to compare or initialize uint32_t values, it
would be better to declare it with the right type. This way we could
avoid `-Wnarrowing` warnings or unnecessary type casts.
2022-04-10 12:52:46 -07:00
Louis des Landes 1071b9f7c5 Add a config to set a timeout for the idle_inhibitor module 2022-04-10 22:47:52 +09:30
LukashonakV 6ad1f6b853
Merge branch 'master' into master 2022-04-10 09:54:50 +00:00
Alex a1129c4c87 fix: bsd 2022-04-06 14:55:08 +02:00
Alex f2fcadbf62 refactor: lint 2022-04-06 08:37:19 +02:00
LukashonakV 46f07d24dd
Merge branch 'master' into master 2022-04-05 15:28:55 +00:00
Alex ed3e2ffdc3
Merge pull request #1499 from LukashonakV/ISSUE#1068
Waybar. Issue#1068. Double/Triple events
2022-04-05 16:40:52 +02:00
Alex d5b76bd8b5
Merge pull request #1495 from 0cc4m/master
Battery module support for rk817
2022-04-05 16:39:08 +02:00
vaxerski e094480684 Very basic hypr window title module 2022-04-02 21:08:43 +02:00
Viktar Lukashonak b086e2f995
Waybar. Issue#1068. Double/Triple events 2022-03-29 12:26:05 +03:00
Viktar Lukashonak 4a457648f9
Waybar. Clock module. Calendar - custom output formats 2022-03-27 11:15:56 +03:00
0cc4m 3a95f8f599 Add battery module fallback for batteries without capacity or with _avg instead of _cur files 2022-03-26 19:42:06 +01:00
Erik Reider a7ed1ed570 Don't call dp.emit() when UPower service active status changes 2022-03-25 17:35:37 +01:00
Erik Reider e0f0931e2d Hide module if UPower service isn't running 2022-03-25 17:27:36 +01:00
Erik Reider 0140606226 Fixed segfault on upower service restart 2022-03-25 16:57:25 +01:00
Viktar Lukashonak 1d2a381b5f
Waybar. Clock module - weeknum fix for the left side 2022-03-25 18:51:59 +03:00
Erik Reider d1d73b5003 Added missing "fulL" and "empty" CSS classes 2022-03-25 14:57:04 +01:00
Erik Reider 2ca4dcac49 Set box widget name to "upower" 2022-03-25 14:52:12 +01:00
Viktar Lukashonak 2d87bcb1ab
https://github.com/Alexays/Waybar/issues/1315. Option to display week number on calendar 2022-03-24 15:41:50 +03:00
Erik Reider 84dc82e1c1 Added tooltip-padding 2022-03-21 13:50:46 +01:00
Erik Reider e06316c80b Only set label text if string doesn't only contain spaces 2022-03-20 00:36:53 +01:00
Erik Reider 7b071567ea Removed goto in update method 2022-03-20 00:36:13 +01:00
Erik Reider 2633ff3fb9 Fixed time_left string not being set properly 2022-03-19 23:10:15 +01:00
Erik Reider 0764e9ad6e Added format and format-alt config properties 2022-03-19 21:15:48 +01:00
Erik Reider c4282cfacc Made tooltip getDeviceIcon return const string 2022-03-19 19:22:21 +01:00
Erik Reider 05effad18b Added CSS status classes 2022-03-19 19:22:00 +01:00
Erik Reider 7fac2afb85 Added custom tooltip with device icon, device name and battery status 2022-03-19 17:09:55 +01:00
Erik Reider 4196e0d5d1 Unref all devices on destruct 2022-03-19 11:35:13 +01:00
Erik Reider 14a2a7027f Moved upower into its own directory 2022-03-19 11:34:34 +01:00
Erik Reider 2b2ac311d5 Fixed not visible when only battery is plugged in 2022-03-19 11:19:39 +01:00
Erik Reider 7345918f84 Added mutex locking to resetDevices 2022-03-19 11:18:51 +01:00
Erik Reider 105f1cefe1 Fixed device unrefed 2022-03-19 10:52:05 +01:00
Erik Reider 175d82858b Merge branch 'upower-module' of github.com:ErikReider/Waybar into upower-module 2022-03-19 10:48:43 +01:00
Erik Reider c8d785071f
Merge branch 'master' into upower-module 2022-03-19 10:48:02 +01:00
Alex 8c6063d181
Merge pull request #1485 from LukashonakV/master
Hide/Unhide temperature module when "format*" is empty.
2022-03-19 10:24:59 +01:00
momokrono fcf93a6c45 feat: added network speed in Bytes 2022-03-18 10:35:19 +01:00
Viktar Lukashonak 6946288053
PR #1485 review 2022-03-17 11:31:06 +03:00
Erik Reider 2a563f54e7 Change name to upower 2022-03-16 15:33:39 +01:00
Viktar Lukashonak 9f337db2d2
Hide/Unhide module when "format*" is empty. 2022-03-16 15:50:00 +03:00
Erik Reider 136b47ce0d Fixed percentage not getting rounded 2022-03-15 23:03:13 +01:00
Erik Reider 6eb187a23e Moved upower.*pp out of the upower directories 2022-03-15 23:00:09 +01:00
Erik Reider 9b9e42fc5f use device variable instead of getting the device from the map 2022-03-15 22:50:11 +01:00
Erik Reider d47073ef13 Reload all devices after wake from suspend 2022-03-15 22:49:40 +01:00
Erik Reider 5396ffb71f Added "icon-size" and "hide-if-empty" config options 2022-03-15 20:22:32 +01:00
Erik Reider 5e9faeb2d0 Now shows the percentage and the correct icon 2022-03-15 20:22:04 +01:00
Erik Reider 4ee81c8dea Added all callbacks 2022-03-15 17:54:06 +01:00
Alex a37ef74fb1
Merge pull request #1479 from dorgnarg/master
Use user-defined mode when toggling visibility rather than resetting to default
2022-03-15 09:06:08 +01:00
Viktar Lukashonak 37d87be3c1
Add supporting of the gamepads batteries 2022-03-14 17:53:19 +03:00
Viktar Lukashonak 8aee7492d4
Plug/Unplug batteries on hot(useful for gamepads) 2022-03-14 17:12:05 +03:00
Alex 5c1c07a035
Merge pull request #1480 from avdv/xkb-load-exotic-rules
sway/language: Load exotic xkb rules too
2022-03-13 22:32:00 +01:00
Claudio Bley caa24f0647 sway/language: Load exotic xkb rules too 2022-03-13 09:40:32 +01:00
Daniel Moore f4c6dfcddc Uses user-defined mode when toggling visibility rather than resetting to default mode 2022-03-12 13:32:08 -07:00
Louis des Landes 8b6bc215cc
Fix freebsd action 2022-03-10 14:48:40 +01:00
Alex 6c7acf18b5
Update network.cpp 2022-03-10 09:53:02 +01:00
Alex 77d8376fef
refactor: disable icon by default 2022-03-10 09:48:50 +01:00
Alex b6655e475b
Merge branch 'master' into list_of_times 2022-03-08 09:59:22 +01:00
Alex 56ebb09e5f
Merge pull request #1440 from TheDaemoness/patch-1
Add 1 to songPosition in the MPD module
2022-03-06 14:51:20 +01:00
Alex 35d6da3965
Merge pull request #1292 from FlexW/feature/sway-app-icon
Show application icon when using sway window module
2022-03-06 14:50:41 +01:00
Alex be1d2a02ca
Merge pull request #1422 from technic/fixes
minor string utils methods refactoring
2022-03-06 14:50:02 +01:00
Grant Moyer 18717d4b12 Merge remote-tracking branch 'upstream/master' into keyboard_state_errors 2022-03-04 12:14:23 -05:00
Andy Russell 54085dbde0
avoid use-after-free in lambda 2022-03-03 19:40:43 -05:00
Grant Moyer ebe4424795 Fix remaining posix compatability issues in keyboard_state 2022-02-25 13:28:47 -05:00
Grant Moyer e3f56b8110 Don't use gnu extensions which are too new for debian and ubuntu 2022-02-25 13:13:43 -05:00
Grant Moyer 8f3fbebede Make error messages portable 2022-02-25 12:56:22 -05:00
Grant Moyer a595b61e0f Improve keyboard_state error messages 2022-02-25 12:27:08 -05:00
Jake Stanger 41dea6e46c
Merge branch 'master' into feat/image-module 2022-02-22 23:40:59 +00:00
Brent George 3c18c43b9a limit cpu load figure to 2 points 2022-02-22 16:33:33 -07:00
TheDaemoness ac20428fdf
Add 1 to songPosition in the MPD module 2022-02-18 17:41:33 -08:00
Dorian Rudolph 1a93a6cfa5 fix #1431: audio output does not update on unplug 2022-02-09 14:20:09 +01:00
Alex Maystrenko d4da04a750 move Glib ustring format helper to utils
this formatter is useful for other modules
which want to print Glib exceptions messages
2022-02-05 21:26:48 +01:00
Alex Maystrenko f3819ee954 remove duplicated string manipulation methods 2022-02-05 21:02:58 +01:00
Alex 12caae8fd2
Merge pull request #1410 from ErikReider/reverse-tray
Reverse the tray icon order
2022-02-02 12:56:25 +01:00
gemmelos 6be741afc9
Fix disabled tooltip on clock module
Seems like the tooltip text should only be set if both `if (tooltipEnabled())` and `if (config_["tooltip-format"].isString())` passes.
2022-02-02 12:41:06 +01:00
Evyatar Stalinsky 895bc878f8 Properly initialize distance_scrolled members.
When they were uninitialized it caused getScrollDir() to incorrectly return SCROLL_DIR::NONE in some circumstances
2022-02-01 22:42:03 +02:00
Erik Reider 941cf47693 Add config option "reverse-direction" 2022-01-28 19:14:46 +01:00
Erik Reider 32d42749f9 use pack_end instead of pack_start 2022-01-28 18:42:52 +01:00
Oto Šťáva f4f1267a71 sway/language: fix segmentation fault for layouts not found in XKBContext 2022-01-25 20:03:19 +01:00
Felix Weilbach bcadf64031 Show application icon when using sway window module
Signed-off-by: Felix Weilbach <felix.weilbach@t-online.de>
2022-01-24 17:37:51 +01:00
Alex 1c08d26af0
Merge branch 'master' into master 2022-01-24 09:23:23 +01:00
Alex c4cc7ae396
Update client.cpp 2022-01-24 09:22:47 +01:00
Alex 65dd245362
Update clock.cpp 2022-01-24 09:21:56 +01:00
Kevin Locke 27df7a9aa7 battery: read status with spaces
According to the [sysfs class power ABI],
/sys/class/power_supply/<supply_name>/status may contain "Not charging".
This is already handled by status_gt() and update() (where ' ' is
converted to '-' for use in config keys) but was not being read due to
skipws.  Read with std::getline() to handle this case.

[sysfs class power ABI]: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-power

Fixes: #1139
Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
2022-01-23 18:36:59 -07:00
Jake Stanger a650c7d90c feat: image module
Module which renders an image onto the bar.
2022-01-16 23:55:13 +00:00
nullobsi 3a6e5be59d
Use locale when formatting clock 2022-01-14 10:36:24 -08:00
Alex 9ae99c2621
Merge pull request #1386 from Anakael/pr/anakael/add-swap-flags
[Memory] feat: Add swap flags
2022-01-12 11:08:50 +01:00
Aleksei Bavshin 7f6bef2049
fix(util): make waybar_time formatter compatible with fmt 8.1.0
Stop using private implementation details of the `formatter<std::tm>`.
We never needed anything from the class besides the format specifier,
which is easily obtainable with public API.
2022-01-07 22:34:00 -08:00
Aleksei Bavshin c0d84853ea
refactor(clock): extract waybar_time to util/waybar_time.hpp 2022-01-07 18:09:44 -08:00
mazunki 2301788a81 created a hotfix for libfmt-8.1.0 and above 2022-01-08 01:44:46 +01:00
mazunki d22d6a4522 Merge branch 'master' of github.com:Alexays/Waybar 2022-01-08 01:02:57 +01:00
Johannes Wienke 4a85ec0f59 fix: match sway workspace order with sway one
Ensure that sway workspaces are always displayed in the same order as
used internally by sway. The previous sorting code always sorted
unnumbered workspaces lexicographically. This isn't the order used by
sway internally. Therefore, commands such as "workspace next" might have
jumped arbitrarily in waybar.

This commit reworks the sorting code such that the internal order is
always obeyed. Additionally, numbered persistent workspaces are inserted
at their natural position at the front of the workspace list while
unnumbered ones are appended. This should match the expectations of
workspace ordering known from sway's behavior.

The changes make the configuration property "numeric-first" unnecessary
as this will always be the case now. There's also no reasonable way
around this behavior now. Otherwise, persistent workspaces would jump
around in the visual representation as soon as they become known to
sway.

Fixes #802
2022-01-07 10:26:27 +01:00
Alex ce56a80792
Merge pull request #1353 from bd-g/master
Network Module Enhancements
2021-12-30 10:03:04 +01:00
ilkecan 548bd2ab1a Add `fixed-center` option
Resolves #957
2021-12-28 16:00:25 +03:00
bd-g 7b9b10afc6
Merge branch 'master' into master 2021-12-26 20:14:26 -07:00
Alex 8ec321ddaf
Merge pull request #1221 from Anakael/pr/anakael/add-name-to-taskbar
[Taskbar] feat: Add name format replacementf feat: Add app ids mapping (ready for review)
2021-12-23 23:01:21 +01:00
Brent George 13d25d403e add to network module - signalStrengthApp shows what applications can run at current signal strength 2021-12-14 11:37:39 -07:00
Brent George 3218612d3b change frequency to GHz 2021-12-14 11:36:46 -07:00
Brent George 9bc86347be change signal strength to penalize overly strong signals 2021-12-14 11:34:15 -07:00
Alex 9b399ea2bb
Merge pull request #1334 from bd-g/master
Adjust max wifi strength that is possible
2021-12-14 07:43:41 +01:00
Alex 9608e0dabf
Merge pull request #1341 from fhost/fhost/logind
Add logind feature, with its 'inhibitor' module
2021-12-14 07:43:15 +01:00
aashu ad20c0af2d
Merge branch 'master' into master 2021-12-14 10:22:25 +05:30
Alexis Cellier eae65099d0 Add logind feature, with its 'inhibitor' module
The logind feature adds a new inhibitor module which allows to acquire
the inhibitor locks that logind presents.

Signed-off-by: Alexis Cellier <kernelserror@gmail.com>
2021-12-12 17:52:26 +01:00
John Fredriksson f573e32d0b bar: Fix crash when unplugging HDMI
There is a double delete situation which causes a SIGSEGV to happen
during destruction of bar.

This was introduced by the group feature patch.

The same object pointer is stored in two different vectors of
unique_ptr<AModule> element. Replace with shared_ptr to handle
reference counting correctly and avoid double delete.
2021-12-05 10:55:07 +01:00
Brent George 2240c79b1a Adjust max wifi strength that is possible 2021-12-01 18:24:35 -07:00
Sergey Mishin ece86c96d7
Feature Clock: show list of time in other timezones in a tooltip
Introducing new tooltip placeholder: {timezoned_time_list}. It will be replaced with the list of times in different time zones.
I've found it useful to hover the mouse pointer on time and see time in all my timezones at once.
Current timezone excluding from the list, so if you will scroll over the time module and change the active timezone, this timezone will be excluded from the list and the previous active zone will be added.
2021-12-01 17:08:05 +00:00
Alex 9e8a71c4ef
Merge pull request #1277 from dartkron/master
Refactor Clock: generalize multi timezones and single timezone cases
2021-12-01 11:51:35 +01:00
Alex 7069429c03
Merge pull request #1229 from kraftwerk28/sway-language-country-flag
`sway/language` country flag
2021-12-01 11:49:39 +01:00
Alex 05f7727dae
Merge branch 'master' into swaybar-ipc 2021-12-01 11:48:03 +01:00
Patrick Nicolas 9dac851f6d Allow sink in addition to source for pulse icon 2021-11-30 16:31:41 +01:00
Alex b6e24bd527
Merge pull request #1305 from njoyard/feat/groups
Add module group feature
2021-11-29 15:19:48 +01:00
Aleksei Bavshin b6d0a4b63f
feat(bar): allow customization of bar modes
Allow changing existing modes and adding new ones via `modes`
configuration key.
`modes` accepts a JSON object roughly described by the following type
```typescript
type BarMode = {
    layer: 'bottom' | 'top' | 'overlay';
    exclusive: bool;
    passthrough: bool;
    visible: bool;
};
type BarModeList = {
    [name: string]: BarMode;
};
```
and will be merged with the default modes defined in `bar.cpp`.

Note that with absence of other ways to set mode, only those defined in
the `sway-bar(5)`[1] documentation could be used right now.

[1]: https://github.com/swaywm/sway/blob/master/sway/sway-bar.5.scd
2021-11-28 12:19:45 -08:00
Aleksei Bavshin cf5ddb2a5e
fix(swaybar-ipc): avoid unnecessary copy of struct swaybar_config 2021-11-28 11:34:21 -08:00
dmitry 3c2fa1625d Finish 2021-11-28 01:12:35 +03:00
Nicolas Joyard 0c18e57937 add group feature 2021-11-25 12:01:17 +01:00
mazunki bb7b376fa6 removed commented useless runtime errors 2021-11-24 01:37:21 +01:00
kraftwerk28 89afa8e149 Checking if emoji byte doesn't get out of bounds 2021-11-24 02:15:10 +02:00
kraftwerk28 59040c53e4 Move definition to .cpp 2021-11-24 02:15:10 +02:00
kraftwerk28 0472d279e4 Add {flag} format replacement 2021-11-24 02:15:10 +02:00
dmitry 166504256a Merge branch 'master' of https://github.com/Alexays/Waybar into pr/anakael/add-name-to-taskbar 2021-11-23 23:10:49 +03:00
Aleksei Bavshin 2290fe10aa
fix(bar): handle ipc connection errors.
Try to use the default bar id (`bar-0`) if none is set.
2021-11-23 08:46:58 -08:00
Alex 6712cd05a3
Merge branch 'master' into disk 2021-11-23 13:54:17 +01:00
Alex 0a4841371b
Merge branch 'master' into workspace-manager-implementation 2021-11-23 13:52:08 +01:00
Alex c51a973d60
Revert "dont escape essid in tooltip" 2021-11-23 10:10:14 +01:00
Alex 5a5f8c3b9f
Merge pull request #1256 from WuerfelDev/patch-1
dont escape essid in tooltip
2021-11-23 10:04:59 +01:00
Alex b1dc3005b7
Merge pull request #1294 from Anakael/pr/anakael/ignore-by-title
feat: Ignore by title
2021-11-23 10:03:41 +01:00
dmitry 98f7a10a51 Fix sort 2021-11-23 03:18:00 +03:00
dmitry 23991b6543 Finish 2021-11-23 03:10:44 +03:00
Alex 331dfa87da
Merge pull request #1230 from ciarand/if-changes-isolate
Switch network module to read /proc/net/dev
2021-11-22 08:00:54 +01:00
Aleksei Bavshin 6bfb674d1b
fix(swaybar-ipc): better logs 2021-11-21 17:28:47 -08:00
dmitry ef4c6a9ba3 Update to proto. Fix displaying. Rename classes. 2021-11-22 01:12:55 +03:00
dmitry ffeecf626c Update names 2021-11-21 15:01:25 +03:00
Anakael 60c1706273
Update taskbar.cpp 2021-11-19 18:54:37 +03:00
dmitry 15761ef802 Merge branch 'master' of https://github.com/Alexays/Waybar into workspace-manager-implementation 2021-11-16 21:44:50 +03:00
John Fredriksson ad3f46214d river/tags: Add possibility for mouse clicks
Left mouse click - set-focused-tags
Right mouse click - toggle-focused-tags
2021-11-15 22:31:38 +01:00
Alex 9fda6695ea
Merge pull request #1314 from Scrumplex/fix-negative-mpd-vol
Ensure MPD volume is not negative
2021-11-12 09:04:21 +01:00
Sefa Eyeoglu b24f9ea569
Ensure MPD volume is not negative
If the primary output does not support changing volume MPD will report
-1. Ensure that negative volume levels will be represented as 0 instead.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2021-11-11 21:42:05 +01:00
mazunki e10c9dd011 changing want_route_dump to default to true, since we say we have gwaddr support 2021-11-09 19:04:05 +01:00
mazunki b0eab5d793 maybe we shouldn't actually runtime error, but still doing a check 2021-11-09 19:03:15 +01:00
mazunki 17bb5643ae explicitly checking for errors to silence unused variable warnings when writing to fd 2021-11-09 18:38:07 +01:00
Alex b511103fd9
Merge pull request #1301 from jonbakke/patch-1
Clarify less than/greater than in warning.
2021-10-29 13:23:28 +02:00
Alex 122fe33636
Merge pull request #1302 from marwing/master
Mark memory used by zfs arc as free in memory
2021-10-29 13:22:58 +02:00
Mohammad Amin Sameti 48117a2e97 Fix divide by zero (#1303) 2021-10-29 14:12:48 +03:30
Marwin Glaser decb13eef0
mark zfs arc size as free in memory 2021-10-28 19:10:46 +02:00
jonbakke a015b2e3db
Clarify less than/greater than in warning.
I was seeing "[warning] Requested height: 20 exceeds the minimum height: 30 required..."
Lines 114-134 are relevant; 133 overrides the requested height with the minimum height when GTK wants more pixels to work with. So, the code is behaving as expected, and "less than" matches the code's logic.
2021-10-28 09:37:11 -07:00
Robin Ebert 0b66454d5c
Add spacing config option
This option allows to add spaces between the modules. It uses Gtk:Box's spacing property.
2021-10-20 11:30:40 +02:00
dmitry 75a6dddea5 Finish 2021-10-20 01:23:00 +03:00
Ashutosh Malviya 08b4a83331 Add reverse scrolling config option for pulseaudio
When natural scrolling is enabled, the behaviour of scrolling on pulseaudio
module is reversed, this commit reverses the direction of scroll variable
if "reverse-scrolling" is set to 1 in config file.
2021-10-15 19:07:25 +05:30
Sergey Mishin c5e4d26320
Fix working without timezone 2021-10-05 10:20:06 +00:00
Sergey Mishin d8bc6c92bb
Fix style and spelling 2021-10-05 09:55:30 +00:00
Sergey Mishin 110c66dd32
Refactor Clock: generalize multi timezones and single timezone cases
After this refactoring:
1. Timezones parses only once on start and the we refer to saved values. All time_zone.isString() checks gone to the constructor.
2. Single timezone case handling as case of multi timezoned logic.
3. Scroll event seems more clear now.
4. Tooltip template parses on start to check if there calendar placeholder or not. To do not calculate calendar_text() if not necessary.
2021-10-03 16:57:55 +00:00
Alex 6eb9606f23
Merge pull request #1274 from RobertMueller2/master
sway/window: include floating_nodes when considering window count for class
2021-10-03 10:27:26 +02:00
Sergey Mishin 174db444d6
Fix Clock crash on empty string in timezones field
Also fixed timezones behavior: now waybar starting with the first timezone in timezones list and falling back to timezone field only if timezones omit or has no elements.
2021-10-03 03:27:54 +00:00
Rene D. Obermueller 9972384597 sway/window: include floating_nodes when considering window count for class 2021-10-02 18:35:38 +02:00
Elyes HAOUAS f18eb71ad7 Fix spelling errors
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-02 18:13:17 +02:00
Aleksei Bavshin fbedc3d133
fix(tray): fix visibility of Passive items
`show_all` call from `Tray::update` attempts to walk the widget tree and
make every widget visible. Since we control individual tray item
visibility based on `Status` SNI property, we don't want that to happen.

Modify `Tray::update` to control the visibility of a whole tray module
only and ensure that the children of `Item` are still visible when
necessary.
2021-10-02 00:08:45 -07:00
WuerfelDev 8d04da1551
dont escape essid in tooltip
just like https://github.com/Alexays/Waybar/pull/834 but for the network name.
2021-09-21 13:15:36 +02:00
Alex 8534175c59
Merge pull request #1252 from gavinbeatty/fix-sway-language-tabs
sway/language: remove tabs, indent with 2 spaces
2021-09-19 19:08:28 +02:00
Darkclainer 6e5a0bc80a Add cpu usage for every core 2021-09-19 14:02:25 +03:00
Gavin Beatty fe547901fa sway/language: remove tabs, indent with 2 spaces 2021-09-18 15:28:45 -05:00
Alex 67c7302938
Revert "Add CPU usage for every core" 2021-09-18 13:50:16 +02:00
Alex 8489646b66
Merge pull request #1250 from Darkclainer/master
Add CPU usage for every core
2021-09-18 13:48:39 +02:00
Alex 6938921e92
Merge pull request #1239 from mazunki/default-gateway
Added support for {gwaddr} as a variable
2021-09-18 13:47:32 +02:00
mazunki 1c91c71dcd updated original debug message with gateway ip, similar, yet not identical to `ip route` 2021-09-18 02:09:25 +02:00
mazunki 5f083193e4 fixed tab indentation to spaces, removed debug 2021-09-18 01:12:58 +02:00
Darkclainer a51ac59252 Merge remote-tracking branch 'origin/master' 2021-09-17 22:30:31 +03:00
Alex ce9e8aead3
Merge pull request #1222 from mswiger/use_g_memdup2
Use g_memdup2 instead of g_memdup
2021-09-17 20:56:47 +02:00
Alex 73ce2a99ff
Merge pull request #1238 from Matan1x/master
round brightness
2021-09-17 20:56:28 +02:00
Darkclainer 4bf577e89b Add CPU usage for every core 2021-09-17 21:18:21 +03:00
Aleksei Bavshin 0c1d3e30b6
fix(config): preserve explicit null when merging objects 2021-09-15 22:20:44 +07:00
Aleksei Bavshin ccc60b4245
refactor(config): more sensible multi-bar include behavior 2021-09-15 22:15:27 +07:00
Aleksei Bavshin 1f16d7955d
refactor(config): drop getValidPath 2021-09-15 21:34:54 +07:00
Aleksei Bavshin 1f7d399b8e
refactor(config): remove style handling from Config 2021-09-15 21:34:53 +07:00
Aleksei Bavshin 4fff2eaaa0
refactor(client): change config visibility to public 2021-09-15 21:34:10 +07:00
Aleksei Bavshin b377520a38
refactor(client): extract config handling into a new class 2021-09-14 13:15:54 +07:00
Rolf Vidar Mazunki Hoksaas 2c380a53ca added support for the {gwaddr} variable 2021-09-09 20:05:18 +02:00
Matan1x aacd0fcc65 round brightness 2021-09-08 17:12:30 +03:00
Michael Swiger 4f76c9bd43 Only use g_memdup2 for glib >= 2.68 2021-08-29 13:11:04 -07:00
dmitry 94e53c3777 Add swap flags 2021-08-29 16:34:29 +03:00
dmitry 12c42fc6e4 Merge branch 'master' of https://github.com/Alexays/Waybar into pr/anakael/add-name-to-taskbar 2021-08-27 01:43:31 +03:00
Ciaran Downey 5186dd27e6 Use while (getline) instead of a for loop
Also make the comments surrounding the /proc/net/dev parsing clearer and
remove the apparently redundant "is the netdev file still good?" check.
2021-08-26 11:33:52 -07:00
Ciaran Downey 9d9f959769 Switch network module to read /proc/net/dev
This fixes issue #610 by reading bandwidth usage per-interface from
/proc/net/dev instead of globally via /proc/net/netstat. It supports the
same matching logic as elsewhere, so setting interface to '*' should
display the same sum-total bandwidth usage as the previous
implementation.
2021-08-25 15:00:05 -07:00
Tobias Bengfort 7b4b5e55a2 support format-icon for cpu und memory 2021-08-23 07:30:19 +02:00
Michael Swiger cb49650ea4 Use g_memdup2 instead of g_memdup
This fixes a compile warning.

See: https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538
2021-08-22 14:46:40 -07:00
dmitry 38afa345dd Finish 2021-08-22 20:18:03 +03:00
Gavin Beatty 9ee701974f
Fix memory leak and data race
- Delete previous Layout before creating next one, and in destructor
- Use stack XKBContext instead of local new+delete
- Lock mutex in update() as it is called from a different thread than onEvent(res)
2021-08-20 10:06:35 -05:00
Alex 8940c3bbe8
Merge pull request #1211 from mswiger/fix_multi_display_tray_icon_scaling
Fix tray icon scaling on multi-display setups
2021-08-20 17:00:41 +02:00
dmitry c058a2d196 Add number to shortDescripton 2021-08-20 01:09:16 +03:00
Isaac Freund 024fd42e27
river/tags: support urgent tags
Upstream river has a concept of urgent views/tags as of commit e59c2a73.
Introduce a new urgent style to expose this in the waybar module.
2021-08-19 15:01:49 +02:00
Michael Swiger 2d80d31527 Fix tray icon scaling on multi-display setups 2021-08-16 23:33:29 -07:00
dmitry a87a967a97 Fix leak 2021-08-17 05:29:35 +03:00
dmitry a57e431437 Add shortDescription 2021-08-17 05:28:41 +03:00
dmitry 61783aafaa save 2021-08-17 04:31:17 +03:00
Michael Swiger 4f6a9b1bc2 Fix incorrect tray icon scaling 2021-07-31 18:01:31 -07:00
Alex 65166109c9
Merge branch 'master' into fix_power_calc 2021-07-25 15:07:01 +02:00
dmitry 68e4457f3a Add tooltip-formay 2021-07-24 17:24:37 +03:00
Alex 445ad22580
Merge branch 'master' into keyboard_state 2021-07-23 15:59:08 +02:00
Grant Moyer 88a5f713ed Prefer keyboard-state over keyboard_state 2021-07-23 09:45:07 -04:00
Alex b47705ac21
Merge branch 'master' into pr/anakael/sway-language-impr 2021-07-23 09:07:43 +02:00
Aleksei Bavshin a5fe6f40b8
feat(tray): handle Status property
On the `Passive` value of `Status` tray items would be hidden unless
`show-passive-items` is set to true.
On the `NeedsAttention` value of `Status` tray items will have a
`.needs-attention` CSS class.
2021-07-22 08:04:06 -07:00
Aleksei Bavshin 245f7f4b11
feat(tray): handle scroll events 2021-07-22 08:04:05 -07:00
Aleksei Bavshin 1418f96e46
feat(tray): fallback to Title for items without ToolTip 2021-07-22 08:04:04 -07:00
Aleksei Bavshin 84a8f79bbe
feat(tray): implement tooltips (text only) for tray items 2021-07-22 08:04:03 -07:00
Aleksei Bavshin 4b6253e810
refactor(tray): infer changed properties from signal name
Comparing two GVariants is too expensive; let's collect the set of
properties updated by each signal and apply them unconditionally.
2021-07-22 08:04:00 -07:00
Aleksei Bavshin 929fc16994
fix(tray): ignore unused WindowId property 2021-07-22 08:01:25 -07:00
Alex 100d4d3499
Merge branch 'master' into pr/anakael/sway-language-impr 2021-07-21 09:40:19 +02:00
Michael Swiger 1440ed29d4 Fix blurry tray icons for HiDPI displays 2021-07-20 22:29:34 -07:00
Grant Moyer 311c5779ea Remove unused variable 2021-07-20 23:03:41 -04:00
Grant Moyer 08e886ebc6 Search for device automatically if none given 2021-07-20 21:09:00 -04:00
Grant Moyer 40e6360722 Update css class when locked/unlocked 2021-07-20 21:09:00 -04:00
Grant Moyer 642e28166b Add more configuaration 2021-07-20 21:09:00 -04:00
Grant Moyer 6dfa31fb17 Basic keyboard state module 2021-07-20 21:09:00 -04:00
Lars Christensen 6f2bfd43bf Fix pulseaudio icon name compilation error 2021-07-20 15:25:05 +02:00
Alex f43f8773c4
Merge pull request #1169 from roosemberth/pa-control-active-sink
pulseaudio: Control currently running sink
2021-07-20 14:01:23 +02:00
Roosembert Palacios 86a43b9042
pulseaudio: Control currently running sink
In a system with multiple sinks, the default sink may not always be
the once currently being used. It is more useful to control the
currently active sink rather than an unused one.

This patch does not make any difference if the system only uses the
default sink.

Signed-off-by: Roosembert Palacios <roosemberth@posteo.ch>
2021-07-20 10:16:53 +02:00
Alex ad09072a6d
Merge branch 'master' into pr/anakael/sway-language-impr 2021-07-15 22:17:38 +02:00
Patrick Nicolas 9c2b5efe7b Support per-device icon in pulseaudio 2021-07-15 09:20:43 +02:00
dmitry 8310700bbb Improve sway/language 2021-07-13 04:33:12 +03:00
tiosgz 78aaa5c1b4 Do not fail to parse a multi-bar config 2021-07-10 20:22:37 +00:00
John Helmert III 368e4813de
libfmt >=8.0.0 compatibility 2021-06-30 13:12:38 -05:00
Oskar Carl e62b634f72
Workaround for circular imports 2021-06-21 19:29:09 +02:00
Oskar Carl e8278431d2
Proper formatting 2021-06-21 19:05:01 +02:00
Oskar Carl 14f626d422
Add recursive config includes 2021-06-21 19:05:01 +02:00
Anthony PERARD 194f4c2f18 network: Fix mix use of default and state specific format
Whenever the network module is configured with both "format" and
"format-$state" and when the module use "format-$state" once, it
override the value that was saved from "format".

For example, if both "format" and "format-disconnect" are configured,
and only those, as soon as the module show information about a
disconnected interface, it will keep showing the format for
disconnected, even if the interface is connected again later.

Fix that by always setting a value to default_format_ in update() and
thus use the intended default format when needed.

Fixes #1129
2021-06-08 18:50:32 +01:00
Alex 9e34be7b16
Merge pull request #1126 from tperard/fix-network-auto-detection
Fix network interface auto detection
2021-06-05 18:06:30 +02:00
Anthony PERARD 33617b67f0 network: Fix one case where default route is deleted without notification
When an interface's state is change to "down", all the route
associated with it are deleted without an RTM_DELROUTE event.

So when this happen, reset the module to start looking for a new
external interface / default route.

Fixes #1117
2021-06-05 16:52:04 +01:00
Anthony PERARD efaac20d82 network: Handle ip route priority
When there's a new default route with higher priority, switch to it.
2021-06-05 16:51:54 +01:00
Anthony PERARD ce97df34e6 network: Also clear ifname in clearIface()
Since we reset `ifid_`, clear `ifname_` as well.
2021-06-05 16:51:40 +01:00
Anthony PERARD 23b9923eeb network: Parse whole RTM_NEWROUTE msg before interpreting it
The check to figure out if we have the default route should be after
the for loop that parses the route attributes, to avoid acting on
incomplete information. We are going to use more fields from the
message.
2021-06-05 16:51:35 +01:00
Maxim Baz 999c1b6b81
sway-language: ignore events with empty layout 2021-06-05 15:03:52 +02:00
Amanieu d'Antras 1a98ecf6b0
Merge branch 'master' into fix_power_calc 2021-05-30 11:17:54 +01:00
Anthony PERARD f49a7a1acb network: Update WiFi information when available
The module doesn't update the `essid_` as soon as a WiFi interface is
connected, but that happens at some point later, depending on
"interval" configuration.

Fix that by rerunning the get WiFi information thread when the
`carrier` state changes. Also, we will clear the state related to WiFi
when the connection is drop to avoid stale information.
2021-05-27 19:36:14 +01:00
Anthony PERARD 28dfb0ba41 network: Fix use of carrier information
Some RTM_NEWLINK messages may not have the IFLA_CARRIER information.
This is the case when a WiFi interface report scan result are
available. `carrier` is used regardless of if it is present in the
message or not. This would result in the interface appearing
"disconnected" in waybar when it isn't.

This patch now check that `carrier` is available before using it.

The same thing could potentially happen to `ifname` so check if it's
set before recording it.

Fixes: c1427ff (network: Handle carrier information)
Fixes #388
2021-05-26 19:23:20 +01:00
Aleksei Bavshin 7aaa3df701
feat(bar): add config flag to disable exclusive zone 2021-05-21 22:44:18 -07:00
Aleksei Bavshin 729553d3bc
feat(bar): add config flag for pointer event passthrough 2021-05-21 22:44:17 -07:00
Alex f78a802d11
Merge pull request #1106 from tperard/network-module-reword
Network module rework
2021-05-21 17:02:28 +02:00
Yonatan Avhar 99918205ed Correct .json to .jsonc 2021-05-21 17:53:43 +03:00
Yonatan Avhar c65ec9e14f Add options to use a .json extension for the config filename 2021-05-21 15:54:48 +03:00
Anthony PERARD c1427ff807 network: Handle carrier information
IFLA_CARRIER allows to know when a cable is plugged to the Ethernet
card or when the WiFi is connected. If there's no carrier, the
interface will be considered disconnected.
2021-05-15 16:38:00 +01:00
Anthony PERARD 0bb436f949 network: Rework interface auto detection, handle route change events
Last part of the rework of handleEvents(), this time we take the
getExternalInterface() function and add it to the handleEvents()
function. That way, waybar can react immediately when a new "external
interface" is available and doesn't need to probe. Also that avoid to
have two different functions consuming from the same socket and we
don't need to recode some of the functions that are already available
via libnl (to send and receive messages).
2021-05-15 16:38:00 +01:00
Anthony PERARD 0fc7ef6685 network: Rework address lookup to use only events
In order to get the IP address of an interface, we can get the
information out of NEWADDR events without needed to call getifaddrs().
And when now events are expected, we can requests a dump of all
addresses and handle addresses changes the same way via handleEvents()
only.
2021-05-15 16:38:00 +01:00
Anthony PERARD c9bbaa7241 network: Rework initial interface search by using a dump
Instead of using an alternative way to list all links in order to
choose one when an "interface" is in the configuration, we can ask for
a dump of all interface an reuse the handleEvents() function.

This patch also start to rework the handleEvents() function to grab
more information out of each event, like the interface name.
2021-05-15 16:38:00 +01:00
Anthony PERARD 63fdf66ad6 network: Read all available messages on ev_sock_
When more than one message is available to read on the ev_sock_
socket, only the first one is read.

Make some changes to be able to read all the messages available by
setting the socket to non-blocking. This way we can detect when
there's nothing left to read and loop back to wait with epoll.
2021-05-15 16:38:00 +01:00
Anthony PERARD 9357a6cb88 network: Start the module with some text in the label_
Fix modules starting with no text, but not hidding.

Start with some "text" in the module's label_, update() will then
update it. Since the text should be different, update() will be able
to show or hide the event_box_. This is to work around the case where
the module start with no text, but the the event_box_ is shown.
2021-05-15 16:38:00 +01:00
Anthony PERARD dbc06abf18 network: Initialise cidr_ like clearIface() does 2021-05-15 16:38:00 +01:00
Amanieu d'Antras 4d067619a8 Fix power calculation when battery units are in μA instead of μW 2021-05-15 15:55:38 +01:00
Max1Truc f3a6e2d494 fix: incorrect battery percentage on Pinebook Pro 2021-05-10 21:00:14 +02:00
Alex 71d7596b6f
fix: bluetooth status tooltip 2021-04-30 14:23:49 +02:00
Patrick Hilhorst a03283d65f
rewriteTitle: allow multiple sequential rewrites 2021-04-26 20:26:43 +02:00
Gabe Gorelick 7e13e26c29
[modules/battery] allow format-discharging-full
`format-discharging-full` has been impossible since #923 made it
impossible to be full and discharging at the same time. This should
fix that by only making `format-charging-full` impossible. Whether
or not that should be allowed is a good question, but beyond the
scope of this change.

Fixes #1031
2021-04-25 22:00:24 -04:00
David96 2213380dc0 [modules/pulseaudio] fix bluetooth class for PipeWire
apparently, pipewire-pulse slightly changed the naming of the sink.
2021-04-25 11:19:35 +02:00
Matthias Richter af3c868a5b Catch exception on erroneous rules
std::regex and std::regex_replace may throw an std::regex_error if the
expression or replacement contain errors.

Log this error and carry on with the next rule, so that the title is
shown even if the config contains errors.
2021-04-21 12:24:47 +02:00
Matthias Richter b16c8972c7 Add option to rewrite sway/window title
Rewrites window title according to config option "rewrite".
"rewrite" is an object where keys are regular expressions and values are
rewrite rules if the expression matches. Rules may contain references to
captures of the expression. Regex and replacement follow ECMA-script
rules. If no regex matches, the title is left unchanged.

example:
"sway/window": {
  "rewrite": {
    "(.*) - Mozilla Firefox": " $1",
    "(.*) - zsh": " $1",
  }
}
2021-04-21 12:24:47 +02:00
Sefa Eyeoglu fc89b01ba6
feat: implement mpd volume format template
Allow the user to show the current volume from MPD status via the
`format` and/or `tooltip-format` configuration options.

The values are provided by libmpdclient and are integers, generally
between 0-100 (without %). Values above 100 are also possible, as mpd
output plugins like `pulse` support volumes above 100%.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2021-04-20 08:35:47 +02:00
dmitry ba278985e8 Add ignore-list param to wlr/taskbar 2021-04-18 21:34:29 +03:00
Alex d0f60c47bf
Merge pull request #1070 from jgmdev/cpumodulefix
[Module CPU] fix crash due to empty frequencies.
2021-04-15 21:17:00 +02:00
Alex 07f2470e36
Merge pull request #974 from kamushadenes/patch-1
Improve Pulseaudio sink/source separation
2021-04-15 21:09:35 +02:00
jgmdev f8f1e791a3 [Module CPU] fix crash due to empty frequencies.
On some systems (eg: ARM) the supported frequencies of the CPU are not
properly reported by /proc/cpuinfo so if that fails try to retrieve them
from /sys/devices/system/cpu/cpufreq/policy[0-9]/cpuinfo_[max|min]_freq.
2021-04-15 14:30:29 -04:00
Petri Lehtinen c850212288 Use the correct battery status when multiple batteries are present 2021-03-28 20:07:35 +03:00
Alex 600afaf530
Merge pull request #1037 from Moonlight-Angel/cpu-frequency
Add cpu min/max/avg frequencies
2021-03-25 12:09:42 +01:00
nullobsi bf3efdb89c
Merge branch 'master' into master 2021-03-14 21:34:25 -07:00
Antonin Reitz a49b12b66b Fix CPU load values 2021-03-12 20:58:51 +01:00
nullobsi 1573e1eb97
change variable instead of substr(len) 2021-02-26 13:29:58 -08:00
nullobsi 9b9daaee6f
Merge branch 'master' into master 2021-02-26 13:22:34 -08:00
Genesis 99643ba2e6
Stub parseCpuFrequencies on *BSD platforms 2021-02-25 09:14:51 +01:00
Genesis 08ea5ebe1f
Add cpu frequency 2021-02-25 09:14:51 +01:00
Aleksei Bavshin 943ba3a2da
fix: schedule output destruction on idle callback
Defer destruction of bars for the output to the next iteration of the
event loop to avoid deleting objects referenced by currently executed
code.
2021-02-22 18:35:09 -08:00
nullobsi b4728f2e1d
Merge branch 'master' into master 2021-02-16 21:51:31 -08:00
Alex 08e19602f7
Merge pull request #1015 from alebastr/rfkill-events
rfkill code refactoring
2021-02-11 10:20:13 +01:00
nullobsi b12b500bfc
Merge branch 'master' into master 2021-02-10 09:39:03 -08:00
Aleksei Bavshin e786ea601e
fix(rfkill): handle EAGAIN correctly 2021-02-10 08:26:21 -08:00
Aleksei Bavshin 6d5afdaa5f
fix(network): don't block the main thread on rfkill update
Moving rfkill to the main event loop had unexpected side-effects.
Notably, the network module mutex can block all the main thread events
for several seconds while the network worker thread is sleeping.

Instead of waiting for the mutex let's hope that the worker thread
succeeds and schedule timer thread wakeup just in case.
2021-02-09 21:27:22 -08:00
Aleksei Bavshin 52dd3d2446
refactor(bluetooth): remove `interval` and timer thread
The timer thread was always reading the same value from Rfkill state.
2021-02-09 21:27:21 -08:00
Aleksei Bavshin ecc32ddd18
refactor(bluetooth): remove Bluetooth::status_
The string was always overwritten in `update()`; don't need to store
temporary value in the class.
2021-02-09 21:27:20 -08:00
Aleksei Bavshin 38c29fc242
refactor(rfkill): poll rfkill events from Glib main loop
Open rfkill device only once per module.
Remove rfkill threads and use `Glib::signal_io` as a more efficient way
to poll the rfkill device.
Handle runtime errors from rfkill and stop polling of the device instead
of crashing waybar.
2021-02-09 21:27:19 -08:00
Aleksei Bavshin 40f4dc9ecf
fix(rfkill): accept events larger than v1 event size
Kernel 5.11 added one more field to the `struct rfkill_event` and broke
unnecessarily strict check in `rfkill.cpp`. According to `linux/rfkill.h`,
we must accept events at least as large as v1 event size and should be
prepared to get additional fields at the end of a v1 event structure.
2021-02-09 21:27:18 -08:00
Andy Russell 95a6689077
disable Idle Inhibitor module if unsupported 2021-02-09 18:37:13 -05:00
Aleksei Bavshin 89b5e819a3
fix(client): improve guard from repeated xdg_output.done events
Multiple .done events may arrive in batch. In this case libwayland would
queue xdg_output.destroy and dispatch all pending events, triggering
this callback several times for the same output.

Delete xdg_output pointer immediately on the first event and use the
value as a guard for reentering.
2021-02-08 23:25:58 -08:00
Aleksei Bavshin 6585381230
fix(client): remove unnecessary wl_output_roundtrip
At this point we're not awaiting any protocol events and flushing
wayland queue makes little sense. As #1019 shows, it may be even harmful
as an extra roundtrip could process wl_output disappearance and delete
output object right from under our code.
2021-02-08 22:30:01 -08:00
Alex f3ce7ff86c
Merge pull request #1021 from jgmdev/taskbar-icons
[wlr/taskbar] Check StartupWMClass
2021-02-07 16:52:34 +01:00
jgmdev e4a65c72dd Added missing 'if' space. 2021-02-07 04:27:16 -04:00
jgmdev f14a73584f [wlr/taskbar] Added break when matching StartupWMClass is found. 2021-02-07 01:01:57 -04:00
jgmdev fffb52dd93 [wlr/taskbar] Check StartupWMClass on list returned by g_desktop_app_info_searchi() 2021-02-07 00:50:52 -04:00
Alex 71f9ed3099
Merge pull request #1018 from jgmdev/taskbar-icons
[wlr/taskbar] Fix unhandled exception crash when icon name is a path.
2021-02-04 10:05:02 +01:00
jgmdev e293b89f6b [wlr/taskbar] Removed unnecessary catch statement. 2021-02-04 04:57:08 -04:00
jgmdev 8a284e7c74 [wlr/taskbar] Declared load_icon_from_file() static. 2021-02-03 21:14:04 -04:00
jgmdev 22ed153004 [wlr/taskbar] Fix unhandled exception crash when icon name is a path. 2021-02-03 21:04:10 -04:00
Genesis 7eb2a6b709
Add a configuration entry to disable auto_back_and_forth on Sway workspaces 2021-02-02 21:58:26 +01:00
Alex f2e9bb54f0
Merge pull request #1011 from jgmdev/taskbar-icons
[wlr/taskbar] More icon search improvements.
2021-02-02 09:03:35 +01:00
jgmdev ac6667b1c9 [wlr/taskbar] More icon search improvements.
* Added ~/.local/share prefix to search in user defined apps.
* Add support for apps that don't properly set an id like pamac.
2021-02-02 01:03:28 -04:00
Alex 7d78a3aeef
Merge pull request #1001 from max-k/master
[sway/window] Add app_id to usable fields in title
2021-02-01 22:23:49 +01:00
Alex aa088721c3
Merge pull request #1008 from nullobsi/label-sizing
improve module sizing options
2021-02-01 22:22:33 +01:00
nullobsi 72cd753c02
align should use rotate property 2021-02-01 01:44:51 -08:00
nullobsi c8d7b6fa92
rename fixed-length to min-length 2021-01-31 14:03:49 -08:00
nullobsi 8c70513a24
add common `align` config property to set text alignment
add fixed-length property to set the fixed width of the label
2021-01-31 13:58:41 -08:00
nullobsi 35062ceb99
Merge branch 'master' into master 2021-01-31 12:01:49 -08:00
nullobsi f05afb5468
Merge branch 'master' into fullwidth-length 2021-01-31 11:58:12 -08:00
nullobsi ecba117dc0
remove unnessecary logging 2021-01-31 11:56:25 -08:00
nullobsi d2a1f41750
Use g_unichar_iswide to properly align calendar on CJK locales 2021-01-31 11:53:53 -08:00
jgmdev 3881af4bbe Improved wlr/taskbar icon search. 2021-01-31 15:37:26 -04:00
nullobsi 6cc3212605
add length limits for MPD module tags 2021-01-30 18:04:59 -08:00
Thomas Sarboni e19aa1d43a
[sway/window] Add app_id to usable fields in title 2021-01-30 01:41:45 +01:00
Alex 69a366dced
Merge pull request #996 from martin2250/master
add power formatter to battery module
2021-01-24 23:33:12 +01:00
Martin Pittermann 3bcf390484 add power to battery formatter 2021-01-24 21:39:14 +01:00
Aleksei Bavshin 7fa1c11833
fix(client): unsubscribe after receiving xdg_output.done event
Ignore any further xdg_output events. Name and description are constant
for the lifetime of wl_output in xdg-output-unstable-v1 version 2 and we
don't need other properties.

Fixes #990.
2021-01-21 08:35:38 -08:00
Aleksei Bavshin ab0f2c13af
fix(client): attach styles only once
Gdk >= 3.10 has only one GdkScreen. No need to reattach styles on every
output change.
2021-01-21 08:32:44 -08:00