Commit Graph

2021 Commits (42dc9cb85f27e3db02da83cd13624cfc5a7191d3)

Author SHA1 Message Date
chayleaf 5383f7bd56 mpris: add unicode support; add position tag 2023-03-31 19:54:20 +07:00
chayleaf a53c97f7f6 mpris: add tooltip and length limits 2023-03-31 19:53:53 +07:00
lilydjwg 918de59988 custom module: free memory returned by libc's getline 2023-03-29 21:18:13 +08:00
TheRealLorenz f557697e92 Rewrite entire label in sway/window module
Closes #1742
2023-03-25 17:37:49 +01:00
TheRealLorenz 63525ec956 Rename function name 2023-03-25 17:33:01 +01:00
MonstrousOgre 5791a6abc6 Reading persistent workspaces 2023-03-24 23:11:47 +05:30
en3wton bbcfb5e138 remove use of new on Layout 2023-03-21 19:30:35 +00:00
en3wton 4ab4ff790e add more format replacements for hyprland/language 2023-03-19 15:12:11 +00:00
Paul Riou 90206f55be config:output:Allow multiple exclusions & wildcard
Covers the use case where needing to exclude more than 1 output but
still include all other displays.

e.g. I have 3 monitors: laptop + HD + 4K; and 3 bar types:
- The main bar is on the laptop. `output: "laptop-monitor-id"`
- The 4K has a specific waybar bar-1 configuration. `output: "4K-monitor-id"`
- I want all other displays (3rd HD monitor / any HDMI output when presenting)
  to have a plain bar: `output: ["!laptop-monitor-id", "!4k-monitor-id", "*"]`
2023-03-13 00:44:07 +00:00
John Maximilian a9015c7c98
refactor: make linter happy. 2023-03-08 14:35:07 +00:00
Lucas Alber 8ccf00f0fe
Wireplumber: Free the default node name
The `default_node_name_` is reassigned without calling `g_free` on the old string.
2023-03-08 15:21:52 +01:00
John Maximilian 3c96881a59
fix: mpd bug paused with no song. 2023-03-07 16:48:05 +00:00
Alex 3bda22da72
Merge pull request #1589 from qubidt/module-group-orientation
group module: configurable orientation
2023-03-02 19:42:22 +01:00
Viktar Lukashonak 4cb7e55a91
ISSUE #878. Try catch Clock timezones
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-03-02 10:10:34 +03:00
Viktar Lukashonak 43862ceb34
ISSUE #878. Try catch Clock timezones 2023-03-02 10:07:10 +03:00
Viktar Lukashonak ce16e029ed
Issue #2030. AModule enable_click & enable_scroll
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-03-01 23:39:36 +03:00
Louis DeLosSantos 79eb2f5bc1 wlr-taskbar: allow sorting by app_id
some users (maybe only myself) may want to sort the task bar by app_id
which then places occurrences of the same task next to each other.

Signed-off-by: Louis DeLosSantos <louis.delos@gmail.com>
2023-03-01 12:16:28 +00:00
Pascal Huber 23f39938fb Revert "feat(sway): add workspace css class"
This reverts commit a10464d9bb.
2023-03-01 10:55:15 +01:00
Alex 8cc8820369
Merge pull request #2017 from pascal-huber/master 2023-03-01 09:43:44 +01:00
Alex c9c8b09e3f
Merge pull request #1991 from alex-courtis/add-river-layout 2023-03-01 09:42:39 +01:00
Viktar Lukashonak e25a7c9719
ISSUE#1977. AModule implements module actions call
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-02-28 15:32:28 +03:00
Elyes Haouas 1af25094b7 Fix some typos
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
2023-02-25 09:55:04 +01:00
Elyes Haouas 0d99d38089 modules/network.cpp: Remove repeated "the"
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
2023-02-25 09:51:40 +01:00
Pascal Huber a10464d9bb feat(sway): add workspace css class 2023-02-18 20:31:12 +01:00
Alexander Courtis 43958ef560 fix: compilation errors with cpp_std=c++20 2023-02-11 13:26:03 +11:00
Alexander Courtis 5e4a47c0a8 Merge branch 'master' into add-river-layout 2023-02-11 13:22:46 +11:00
Alex ea38eec2af fix: lint 2023-02-09 13:25:39 +01:00
Alex 286a3c70f4
Merge pull request #1978 from kpanuragh/master 2023-02-09 13:25:15 +01:00
Alex 9049de583e
Merge pull request #1996 from Kuruyia/feat/brightness-control
Closes https://github.com/Alexays/Waybar/issues/1411
2023-02-09 13:24:35 +01:00
Alex a6eaaad97f
Merge pull request #1998 from LukashonakV/Clock_revision 2023-02-09 09:32:57 +01:00
Bryan Waite 67ab269706
Fixing memory leak on update UPower tooltip 2023-02-08 17:19:51 +11:00
Viktar Lukashonak 677cbb3384
When no one timezone is provided use system's TZ
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-02-04 23:48:25 +03:00
Kuruyia 973aa09f8b refactor(backlight): fix linter 2023-02-03 18:18:44 +01:00
Kuruyia e8c4b85328 feat(backlight): use dbus to set the brightness 2023-02-03 12:58:52 +01:00
Viktar Lukashonak b5ad77ea8c
Avoid of unnecessary string transformation
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-02-02 13:26:05 +03:00
Kuruyia a78f0124d2 feat(backlight): add brightness control 2023-02-01 14:46:55 +01:00
Sasha Moak a9c9f1d705 fix(wireplumber): free(): invalid pointer
When freeing the `default_node_name_` pointer using `free`, the `&`
operator was used to try to free the reference rather than the pointer.
This caused a core dump. In order to fix this, the pointer is freed
instead (ie the `&` operator is no longer used).
2023-01-31 17:56:58 -08:00
Alexander Courtis 301b106c48 add river/layout clang-format 2023-01-31 16:41:36 +11:00
Alexander Courtis 757a450324 add river/layout 2023-01-31 16:34:38 +11:00
Anuragh K P 7b3a6fbaa7 created local variable for _output 2023-01-30 18:35:06 +05:30
Anuragh K P 7554d7f071 Fixing build issue in image module 2023-01-29 19:13:01 +05:30
Oleksandr Kulkov 220b859948
Fix kbName initialization
Second argument of substr is the length of the substring, _not_ the position. With positions, it's better to do like this.

Example:
```sh
[2023-01-29 13:08:00.927] [debug] hyprland IPC received activelayout>>ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with Ukrainian-Belorussian layout)
[2023-01-29 13:08:00.927] [debug] kbName is ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with
```

After the fix it's correct:
```sh
[2023-01-29 13:11:11.408] [debug] hyprland IPC received activelayout>>ITE Tech. Inc. ITE Device(8910) Keyboard,Russian (with Ukrainian-Belorussian layout)
[2023-01-29 13:11:11.408] [debug] kbName is ITE Tech. Inc. ITE Device(8910) Keyboard
```
2023-01-29 13:14:05 +01:00
Anuragh K P 012baadaca added exec condition check on image module 2023-01-29 10:41:24 +05:30
Alex 0ecfce9c61
Merge pull request #1975 from bd-g/fix-image 2023-01-27 14:38:26 +01:00
Viktar Lukashonak 5d8f9a8273
Clock. Formating simplify
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-01-27 15:57:18 +03:00
Anuragh K P 9068b7548f for image module get path from executable file 2023-01-25 22:29:33 +05:30
Anuragh K P 1495b957f1 for image module get path from executable file 2023-01-25 22:28:07 +05:30
Viktar Lukashonak f3f0b008c6
Clock. Proper handletoggle propagation
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-01-25 16:56:45 +03:00
Brent George c1ceb7ac42 fix linting issues 2023-01-24 14:53:49 -05:00
Brent George e128c48573 image module CSS fix 2023-01-24 14:34:02 -05:00
Viktar Lukashonak ed31b20c26
Merge branch 'master' into YearCalendar
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-01-23 18:42:32 +03:00
Alex eb9d2d9c5d
Merge pull request #1935 from multun/master 2023-01-17 09:40:45 +01:00
Sasha Moak 4e8ccf36b5 fix(wireplumber): waybar crashes when default node changes
In order to fix the issue, the default node name is cached rather than
the default node id. This is due to ids being unstable. So now when the
object manager is installed (ie ready), the default node name is
retrieved and stored for later.

Now when the mixer changed signal is emitted, the id of the changed node
is used to get the node from the object manager. The nodes name is
grabbed off that node and compared against the default node name, if
they match the volume is updated. Some safeguarding has been added such
that if the node cannot be found off the object manager, it's ignored.

Additionally, the "changed" signal on the default nodes api is now
utilized to update the default node name if it has changed. This way if
the default node changes, the module will be updated with the correct
volume and node.nick.

This adds additional debug logging for helping diagnose wireplumber
issues.

This also adds the wireplumber man page entry to the main waybar
supported section.
2023-01-16 10:29:35 -08:00
shironeko 5649c3f552 river/tags: refactor to support special purpose tags
adds the set-tags and toggle-tags setting so it's possible to have
different tags set vs toggled. This enables the use of e.g. sticky tags

Also clean-up the code a bit.
2023-01-15 12:16:30 -05:00
Alex e59b4e4c93
Merge pull request #1419 from RobertMueller2/sway-window-newstyles 2023-01-13 13:58:43 +01:00
Cyril LEVIS 120cba0f5e
fix: battery time remaining
time is reported in second and should be divided by 3600 and not 1000.
2023-01-13 09:44:39 +01:00
Rene D. Obermueller 328573332f sway-window, Issue 1399: new style classes
Provides CSS classes empty, floating, tabbed, tiled, solo, stacked and
app_id.

Adds offscreen-css bool option (default false), only effective when
"all-outputs" is true. This adds styles on outputs without focused
node, according to its focused workspaces window situation.

Adds an "offscreen-css-text" string option (default empty), only
effective when "all-outputs" and "offscreen-style" are set. This
is shown as a text on outputs without a focused node.

Adds a "show-focused-workspace" bool option (default false) to indicate
the workspace name if the whole workspace is focused when nodes are
also present. If not set, empty text is shown, but css classes
according to nodes in the workspace are still applied.

Limitation:
When the top level layout changes, there is no sway event so the
module cannot react. Perhaps in the future recurring polling can
be added to go around this limitation.
2023-01-12 05:53:59 +01:00
Victor "multun" Collod df0fdce92b get_desktop_app_info: fix crash on failed DesktopAppInfo::create
Even though it makes little sense for this call to fail,
it sometimes randomly does, and takes down waybar with it.
2023-01-11 23:02:12 +01:00
Alex d6bd440027 fix: lint 2023-01-09 15:48:31 +01:00
Alex c692d7bf64
Merge pull request #1929 from julianschuler/monitor-reconnect-fix
Fixes https://github.com/Alexays/Waybar/issues/1783
2023-01-08 19:56:27 +01:00
Julian Schuler 2045aac5b0 Fix crash upon reconnecting monitor 2023-01-08 18:49:24 +01:00
Alex 86850f5c7a
Merge pull request #1520 from robertgzr/mpris-module 2023-01-06 22:35:24 +01:00
Robert Günzler 0bc5314e08
Add mpris module
Uses libplayerctl to use the MPRIS dbus protocol to query, listen and
control media players.

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-01-06 20:55:31 +01:00
Jonathan Herlin 2a3ebc12de fix: cpu_load pushed twice to the vector 2023-01-05 01:10:04 +01:00
Alex 1938bb5d28 fix: lint 2023-01-04 16:26:50 +01:00
Louis DeLosSantos 8b512e7b22 sway,feat: allow alphabetical sort
for users who do not utilize any form of "workspace prev/next" commands,
it can be very handle to sort the workspaces alphabetically.

this commit adds a new "alphabetical_sort" to the `sway/workspaces`
module which allows the module to alway sort workspaces alphabetically.

this docs are updated to warn the user of the implications involved.

Signed-off-by: Louis DeLosSantos <louis.delos@gmail.com>
2023-01-02 17:03:28 -05:00
Maxim Andreev f795e7a308 modules/clock: improve ux when calendar_shift is used:
1. change only date, but not time
  2. use shifted values only in tooltip
  3. reset shift when mouse leaves (popup closes)
2022-12-28 10:13:10 +03:00
Enes Hecan f724cc3f9d Fix wrong layout name in hyprland language module when a variant is used 2022-12-27 15:29:10 +01:00
Enes Hecan c05f41d732 Make linter happy 2022-12-21 01:55:39 +01:00
Enes Hecan 4d59de42af Implement hyprland submap module 2022-12-21 01:45:57 +01:00
Enes Hecan 4136ffaecb Minor refactorings and formatting fixes for hyprland language module 2022-12-16 10:01:58 +01:00
Enes Hecan 531bdfb8bb Fix hyprland language initialization issues 2022-12-15 01:48:14 +01:00
Viktar Lukashonak 995802e8ae
ISSUE#1874 - happy linter 2022-12-14 16:49:03 +03:00
Viktar Lukashonak 0079092699
ISSUE#1874
1. Calendar. Weeks. Fix right paddings when first days of the week is
Monday
2. Fix small perfomrance penalty(avoid of defining parameter in the
month loop)
3. Small name convention for format string variables
2022-12-14 16:43:23 +03:00
Alex b5c686c0dd
Merge pull request #1882 from LukashonakV/ISSUE#1877 2022-12-12 09:18:10 +01:00
Viktar Lukashonak 4c4d09992e
Regular expression improved 2022-12-10 18:36:58 +03:00
Viktar Lukashonak 9218968d2f
Wrong assigning 2022-12-10 17:55:21 +03:00
Viktar Lukashonak a08967e008
Happy linter 2022-12-10 16:54:26 +03:00
Viktar Lukashonak 272c638f7e
Happy linter 2022-12-10 16:48:22 +03:00
Viktar Lukashonak 57ad7f9536
ISSUE#1877 Calendar week numbers
1. Let's do code simplier
2. Week format using regexp. Needs when user provide additional
characters in format string and need to align week days according
3. Week format has got default formats: ":%U",":%V"
4. Week number is based on the first day of the week now. The output is
the same as of date library now.
5. Avoiding of unnecessary operations
2022-12-10 14:02:15 +03:00
Alex 2a76d8e5b9
Merge pull request #1862 from alebastr/battery-ignore-scope-device 2022-12-07 15:01:26 +01:00
Prokhor40 328575a721 fix: calendar week numbers
fix their format to correct

fix last number hide if the last day of the month is the last day of the week

some refactoring(mostly renaming abbreviations to the full phrases)
2022-12-06 03:47:28 +03:00
Cyril Levis b1833b1f36
feat: add macsmc-battery time remaining support for asahi
use time_to_empty_now and time_to_full_now
2022-12-05 22:09:05 +01:00
Dordovel 3cbcef61cf fix AIconLabel spacing between image and label 2022-12-05 10:02:38 +03:00
Aleksei Bavshin 22084691ff
fix(battery): ignore non-system power supplies
Linux power_supply sysfs interface allows checking if the battery powers
the whole system or a specific device/tree of devices with `scope`
attribute[1]. We can use it to skip the non-system power supplies in the
battery module and avoid adding HIDs or other peripheral devices to the
total.

The logic is based on UPower, where it is assumed that "Unknown" devices
or devices without a `scope` are system power supplies.

[1]: https://lore.kernel.org/lkml/alpine.LNX.2.00.1201031556460.24984@pobox.suse.cz/T/
2022-12-04 00:14:42 -08:00
Prokhor40 ce8c13788a fix formatting issues 2022-12-02 19:32:03 +03:00
Prokhor40 b74f3c7aaa hide mdp/pulseaudio/sndio if text 'resolves' to be empty. 2022-12-02 18:15:51 +03:00
Soc Virnyl S. Estela 55d7868f86
fix(2): use getaddrinfo() instead of gethostbyname() 2022-12-02 22:18:32 +08:00
Soc Virnyl S. Estela 0540977e45
format: remove some newlines 2022-12-02 21:42:58 +08:00
Soc Virnyl S. Estela 385726e701
fix: use getaddrinfo() instead of gethostbyname() 2022-12-02 21:36:14 +08:00
Alex 2111865efe
refactor: remove warning 2022-12-01 08:45:12 +01:00
Alex 94d6ae9741
Merge pull request #1845 from adamant-pwn/patch-1 2022-11-29 10:47:20 +01:00
Dordovel 7671ccfbc6 added file existence check 2022-11-29 09:00:12 +03:00
Oleksandr Kulkov 459541ed89
Don't search "Keyboard at" from hyprland/language
The current output form of `hyprctl devices` is like this:
```
        Keyboard at 6f80ad70:
                ITE Tech. Inc. ITE Device(8910) Keyboard
                        rules: r "", m "", l "us,ru", v "", o "grp:alt_shift_toggle"
                        active keymap: Russian
                        main: no
```

That is, `Keyboard at` goes _before_ the keyboard name, so looking for `Keyboard at` only makes it skip to the keyboard _after_ the one that the user specified.
2022-11-29 01:11:25 +01:00
encbar5 8db1996ccc Allow calendar_shift_init_ to be negative 2022-11-27 21:24:56 -06:00
Sasha Moak 60fa5e9f67 fix: wireplumber module when used with a bluetooth device
This fixes #1811 by falling back to `node.description` if `node.nick` is
not available. This can happen for bluetooth devices that do not have a
`node.nick`.
2022-11-26 11:35:45 -08:00
Sasha Moak 3730793197 feat: add icon support to the wireplumber module
Adds basic icon support for the wireplumber module.

This can be achieved by using `{icon}` in the `format` config and
pairing it with the `format-icons` config as well.

Example:

```
"wireplumber": {
    "format": "{volume}% {icon}",
    "format-icons": ["", "", ""]
}
```
2022-11-26 10:02:16 -08:00
Alex d2b4076ac8
Merge pull request #1799 from Keloran/upower-click 2022-11-25 09:04:31 +01:00
Alex e63e3a0ca9
Update upower.cpp 2022-11-25 09:03:27 +01:00
Alex 80b2b29a77
Merge pull request #1397 from JakeStanger/feat/image-module
Resolves https://github.com/Alexays/Waybar/issues/1191
2022-11-24 20:40:56 +01:00
Simon Plakolb 235861fd3d button: Remove AButton class 2022-11-24 13:08:16 +01:00
Simon Plakolb 5e9bbe5c76 modules: Revert button to label 2022-11-24 13:08:16 +01:00
herlev 2c7cb0e9d4 Fix crashes when using named workspaces in Hyprland
The first crash occurs when trying to parse the
ID of a workspace as an uint, since named
workspaces has negative IDs. This is fixed by
using ints for workspace IDs instead of uints.

The second crash occurs when converting a
workspace name that isn't a number to an integer.
This is fixed by wrapping std::stoi in a try
block and only sorting by number, when both names
can successfully be converted to integers.
2022-11-24 02:16:44 +01:00
Alex ce8ae5bf17
Merge pull request #1748 from lilydjwg/fix-zombies
fixes https://github.com/Alexays/Waybar/issues/1713
2022-11-23 21:31:47 +01:00
Keloran 3acd31c3e9
syntax issue 2022-11-21 09:48:41 +00:00
Keloran 456e06c4b5
exact opposite, lol 2022-11-21 09:46:57 +00:00
Keloran a2751cfcd6
alt text readded 2022-11-18 14:25:16 +00:00
Keloran 00a2ebf00d
added onclick to upower 2022-11-18 13:09:38 +00:00
Sasha Moak c2f98d07ef feat: wireplumber support
Adds basic support for showing volume via wireplumber. Allows specifying
the node-id or falling back to the default Audio/Sink node id if node-id
is not set. If tooltip on hover is enabled, will show `{node_name}` by
default otherwise `tooltip-format`.

Format replacements:

`{volume}` - Volume in percentage
`{node_name}` - The node's nickname (`node.nick` property)
2022-11-16 23:23:07 -08:00
Maximilian Schmidt 8c24e26f0e
Recognize outputs with 'bluez' in monitor name as bluetooth class 2022-11-16 19:01:12 +01:00
Dordovel 1111763251 added path settings 2022-11-16 08:04:18 +03:00
Dordovel 769858fbb4 fix call parent event handle, added commang to open user folder 2022-11-15 16:15:26 +03:00
Dordovel 49afb87e34
Merge branch 'Alexays:master' into master 2022-11-13 16:17:04 +03:00
Frederic Grabowski c0b3e9ee35 normalize capacity by number of batteries 2022-11-12 22:39:53 +01:00
Dordovel 454ba610f4 clicking on the user label opens the default file manager 2022-11-11 15:15:12 +03:00
Jef Steelant 9f0a14c22b make linter happy 2022-11-10 09:19:49 +01:00
Jef Steelant 8f4f67f69f Do not crash when a monitor is removed 2022-11-09 09:34:19 +01:00
Baltazár Radics d02e23c759 feat(backlight): hide if the display is powered off 2022-11-07 13:57:21 +01:00
Alex d2b22c6ec5 fix: lint 2022-11-07 09:23:47 +01:00
Kelsey Judson 253222d31c Make backlight module respect format-<state> config 2022-11-07 21:06:16 +13:00
Sefa Eyeoglu cf5877073a
fix: don't escape mpd label twice
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-11-05 20:23:00 +01:00
Alex bd567800c9
Merge pull request #1769 from ericliou/master 2022-11-04 22:01:36 +01:00
Eric L 6477e539d0 Battery: Plugged status has higher priority 2022-11-04 20:01:53 +00:00
Alex 3030850b22 refactor: inherit disabled button 2022-11-04 08:39:59 +01:00
Alex 92cc01f401 fix: label default style 2022-11-03 15:53:45 +01:00
Alex d48eebd4d3 fix: use GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 2022-11-03 14:10:18 +01:00
Alex 3cf027fc56
fix: button default style 2022-11-03 14:04:29 +01:00
Alex df36ac3408
Revert "Escape text in custom module" 2022-11-02 05:59:50 +01:00
Alex ebdf575d45 fix: lint 2022-10-28 14:44:48 +02:00
Alex a4d27ea806 fix: checking router id in handleEvent function 2022-10-28 14:44:04 +02:00
Alex a10266ceee fix: add power to tooltip format 2022-10-28 14:35:18 +02:00
lilydjwg 31137c30fb fix custom module leaves zombie processes behind when bars are removed
fixes #1713.
2022-10-27 18:12:14 +08:00
Alex 2fec1d4907 fix: typo 2022-10-27 09:14:07 +02:00
Alex be28ee3d7e fix(#1707): hide module when no controller found 2022-10-27 09:00:31 +02:00
Alex 2d7e21ed7d fix: lint 2022-10-26 17:26:15 +02:00
Alex 930a3e168b
Merge pull request #1747 from bi4k8/taskbar-task-reorder 2022-10-26 17:25:55 +02:00
bi4k8 ff61e7bf4e taskbar: implement drag-and-drop task reordering 2022-10-25 19:39:23 +00:00
Quantenzitrone 64849f52c9 fixed memory module not rounding numbers 2022-10-22 02:31:14 +02:00
Erik Reider 1ceaff27c2 Fixed gamemode module segfaulting when disconnecting monitor 2022-10-20 12:38:52 +02:00
Alex e8e8ccb6cf
Merge pull request #1661 from asas1asas200/zeng-feat-improve_keyboard 2022-10-20 10:50:35 +02:00
Alex a24f2d72a7
Merge pull request #1730 from herlev/hyprland-window-rewrite 2022-10-20 10:48:57 +02:00
Simon Plakolb 1f591e36f1 button: Hardcode min-width property set to zero
Buttons come with an intrinsic min-width but lack a method to alter this
property. Setting the requested size to zero has also no effect on it.
The only way found to work is to hard code the CSS into the button.
2022-10-20 10:31:11 +02:00
herlev e1045381fe Fix linter 2022-10-19 13:30:28 +02:00
herlev e660a3634d Fix linter 2022-10-19 13:29:05 +02:00
herlev 54e04b5a30 Refactor rewriteTitle 2022-10-19 13:25:08 +02:00
Simon Plakolb 662a250705 Fix battery indicator crash on linux
A pre-processor flag was misspelled and is now corrected.
2022-10-19 13:15:21 +02:00
herlev f72c1a54d3
Merge branch 'Alexays:master' into hyprland-window-rewrite 2022-10-19 12:18:22 +02:00
Alex 6b221133c2
Merge pull request #1703 from lbartoletti/freebsd_battery 2022-10-19 09:08:47 +02:00
Alex d01fda6fae
Merge pull request #1721 from herlev/sort-workspaces-by-number 2022-10-19 09:08:03 +02:00
Loïc Bartoletti 692b90c995 fix build 2022-10-19 08:36:15 +02:00
Loïc Bartoletti 72a2ada82c remove clang-format lines 2022-10-18 19:30:43 +02:00
Loïc Bartoletti 6156a62294 fix time_remaining. FreeBSD sysctl returns minutes and not hours 2022-10-18 19:30:43 +02:00
Loïc Bartoletti d4d35e2f89 apply clang-format 2022-10-18 19:30:43 +02:00
Loïc Bartoletti a58988ea9d Battery: replace #else by #elif defined(__linux__)
Cannot use #else here when inotify_init1() is hidden behind #if defined(__Linux__).

Co-authored-by: Jan Beich <jbeich@FreeBSD.org>
2022-10-18 19:30:43 +02:00
Loïc Bartoletti 0ada5ac8b0 Battery::getAdapterStatus: better code format 2022-10-18 19:30:41 +02:00
Loïc Bartoletti 1421163df3 remove useless include <sys/types.h> 2022-10-18 19:30:23 +02:00
Loïc Bartoletti 9d5f0e45c0 Add test if there is battery 2022-10-18 19:30:23 +02:00
Loïc Bartoletti 45e44e03bd Apply jbeich suggestion for if defined(__linux__) 2022-10-18 19:30:21 +02:00
Loïc Bartoletti 830c5cd5d0 FreeBSD: Add support to battery
This commit aims to propose a FreeBSD to gain battery support using sysctl on hw.acpi.battery.*
2022-10-18 19:30:04 +02:00
ItsDrike 90f206f92a
Fix crash on quickly switching workspaces
The hyprland/window widget had an assertion ensuring that the output
from hyprctl matched the currently selected workspace id. However this
assertion fails if workspaces are switched too quickly, causing the
selected workspace to differ in id from the one in hyprctl, failing this
assertion which then crashes the entire program.

This fix simply changes this assertion into an if statement, and if a
mismatch is found, empty string is returned as the window name.
2022-10-18 18:36:00 +02:00
herlev 97ae2ff343 Add rewrite option to hyprland/window 2022-10-18 13:18:43 +02:00
herlev cb842d9d50
Merge branch 'Alexays:master' into sort-workspaces-by-number 2022-10-18 12:19:00 +02:00
Alex 6e73c58e60 fix: lint 2022-10-18 09:01:45 +02:00
Alex 209225e381
Merge pull request #1701 from Dordovel/master 2022-10-18 09:01:00 +02:00
Alex 7746328daa
Merge pull request #1667 from asas1asas200/zeng-feat-sway_scratchpad 2022-10-18 09:00:31 +02:00
Alex c7d475ee86
Merge pull request #1728 from lilydjwg/fixpa 2022-10-18 08:45:45 +02:00
Dordovel 4ed13df092
Merge branch 'Alexays:master' into master 2022-10-17 19:00:21 +03:00
herlev 33c3ab35a8 Fix linter error (formatting) 2022-10-17 10:13:37 +02:00
herlev 4dfea72db0
Merge branch 'Alexays:master' into sort-workspaces-by-number 2022-10-17 10:01:12 +02:00
Alex 504132dc55
Merge pull request #1719 from herlev/master 2022-10-17 09:53:05 +02:00
herlev 56ec72c31c
Merge branch 'master' into master 2022-10-17 09:44:17 +02:00
Loïc Bartoletti 27c6c96b37
Merge branch 'master' into freebsd_temperature_use_thermal-zone_config 2022-10-17 09:34:06 +02:00
Alex 8551c4bbe3 fix: lint 2022-10-17 09:19:00 +02:00
Alex 2abeba2b52
Merge pull request #1679 from tomcharnock/master 2022-10-17 09:10:54 +02:00
Alex bfa3adcfd6
Merge pull request #1120 from pinselimo/use_gtk_button_v2 2022-10-17 09:09:12 +02:00
Alex 2db6fc8b1b
Merge pull request #1687 from sespiros/fix-custom-module-markup 2022-10-17 09:08:01 +02:00
Alex c2dd296d31
Merge pull request #1704 from gunslingerfry/master 2022-10-17 09:07:26 +02:00
Alex 5b0c5ea9ce
Merge pull request #1720 from IanManske/inhibitor-default-state 2022-10-17 09:06:26 +02:00
Alex c7bb0ae0af
Merge pull request #1636 from IsaacWoods/master 2022-10-17 09:05:03 +02:00
Mika Braunschweig f86dff60e6
utils: add sanitize_str to encode '&' etc.
gtk requires some chars (<>&"') to be encoded for them to render
properly. `sanitize_str` sanitizes raw strings that have such chars and
returns a properly encoded string
2022-10-17 00:31:19 +02:00
lilydjwg 35254ee834 pulseaudio: disconnect on destruction 2022-10-16 15:24:17 +08:00
herlev 9a0013cb10 Add option to wlr/workspaces to sort workspaces by number 2022-10-15 01:44:58 +02:00
Ian Manske cca5227210 Add config value for inhibitor default state. 2022-10-13 21:47:57 -04:00
herlev cf9d98a0be remove <optional> dependency 2022-10-13 23:49:41 +02:00
herlev 015409acaf Allow hyprland/window to show active window on a per monitor basis 2022-10-13 23:41:56 +02:00
Simon Plakolb 2b735f44bc modules: Set tooltip on button
Mouse-over tooltips set on the label only appear once the mouse hovers
over exactly the label. Other apps (e.g. firefox) show the tooltip once
the pointer hovers the button. Not solely its label. With this commit we
get the same behaviour.
2022-10-12 10:25:30 +02:00
Simon Plakolb 8fa5d9b838 modules: Set style-context on button
Fixes issue where the class parameters in style.css would have no
effect.

The CSS now references the GtkButton instead of the GtkLabel. Removing
all style-classes from the custom module GtkButton however removes
any properties set via style.css. Thus, the default classes 'flat' and
'text-button' are added on every update of these modules.
2022-10-12 10:25:30 +02:00
Simon Plakolb b8322c4b4b button: Add AButton class
The AButton class is designed as full a substitute to ALabel. The
GtkButton attribute 'button_' is initialized with a label. This
label can the be referenced by the subsequent inheritors of AButton
instead of the GtkLabel attribute 'label_' of ALabel.
For convenience a GtkLabel* 'label_' attribute is added to AButton.

If the button cannot be clicked it is disabled, effectively acting
like its label predecessor.

GtkButton seems to catch one-click mouse events regardless of the
flags set on it. Therefore, 'signal_pressed' is connected to a
function creating a fake GdkEventButton* and calling 'handleToggle'
(for details on this possible bug in GTK see:
https://stackoverflow.com/questions/45334911 )

In accordance with other GtkButtons (i.e. the sway/workspace ones)
set_relief(Gtk::RELIEF_NONE) is called on the 'button_' instance.
2022-10-12 10:25:29 +02:00
Dordovel 07050cf354
Merge branch 'Alexays:master' into master 2022-10-04 15:37:36 +03:00
Loïc Bartoletti ddf3e11240 remove clang-format lines 2022-10-04 11:28:32 +02:00
Loïc Bartoletti 1ca660460a apply clang-format 2022-10-04 08:03:54 +02:00
Loïc Bartoletti 0898236586 remove useless include <sys/types.h> 2022-10-04 07:37:05 +02:00
Loïc Bartoletti c3e91cd228 [FreeBSD] Use thermal-zone
The zone was hardcoded in #1702.
This commit allows to use the "thermal-zone"
variable.

Follow up #1702
2022-10-04 07:29:16 +02:00
Matthew Fry c500c7d9a1 Fixed pulseaudio max-volume configuration. Fixed issue where volume stepping would cause the max volume to go above the max and never reach 0. 2022-09-30 15:25:12 -06:00
Loïc Bartoletti 024777a5bc FreeBSD: Add support to temperature
This commit aims to propose a FreeBSD to gain temperature support using
sysctl on hw.acpi.thermal.tz0.temperature.
2022-09-30 21:12:28 +02:00
Dordovel 9758833027 added user module 2022-09-30 14:33:23 +03:00
Spyros Seimenis 9e03bb61c7 Escape text in custom module 2022-09-16 01:19:44 +03:00
Alex d1700bf202
Revert "added checking router id in handleEvent function, because module does…" 2022-09-15 15:47:14 +02:00
User 52e9f624be added checking router id in handleEvent function, because module doesn't update state 2022-09-15 14:03:32 +03:00
Tom Charnock e75eafcb34 Merge branch 'master' of https://github.com/tomcharnock/Waybar 2022-09-09 07:19:12 +00:00
Isaac Woods faf8954712 Add config option to ignore Pulseaudio Sinks
Fixes #1347
2022-09-09 00:51:25 +01:00
Arthur Eigenbrot 6b83360e76 Add "{m}" battery format-time option for zero-pad minutes 2022-09-07 08:53:07 -06:00
Alex 03ca8de6d7
Update config.cpp 2022-09-07 10:33:57 +02:00
Alex ac193ae669
Merge pull request #1646 from LukashonakV/ISSUE#1545
Issue#1545. Calendar scrolling opportunity
2022-09-07 09:16:59 +02:00
Alex 38d2815425
Merge pull request #1678 from asas1asas200/zeng-feat-idle_inhibitor_tooltip
feat(idle-inhibitor): add tooltip format
2022-09-05 17:52:27 +02:00
Alex 79f21c0d7b
Merge pull request #1600 from leophys/master
Add support for reading the config path from env
2022-09-05 10:56:01 +02:00
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