Commit Graph

1985 Commits (ca17bdb214d7337c70d4af6f8f935748260a72cc)

Author SHA1 Message Date
Christopher Shore fbd62e0071
Merge branch 'Alexays:master' into clock_fix 2023-10-07 18:39:56 -04:00
Joerg Weislogel 1eb0777799 add function to cava module to hide on silence 2023-10-07 12:50:24 +02:00
Alexis Rouillard 58e506a675
Merge pull request #2529 from Syndelis/feat/hyprland-window-workspaces
Feature: Hyprland dynamic window names on workspaces
2023-10-02 19:17:42 +02:00
Brenno Lemos 1b98a04c93 chore: lint unrelated files so the CI passes 2023-10-02 12:33:28 -03:00
Alexis Rouillard 4c0347d9f2
Merge pull request #2540 from Syndelis/fix/hyprland-special-workspaces 2023-09-25 22:33:36 +02:00
Brenno Lemos 9a3238c20b chore: avoid the creation and deletion of doubled-special workspaces
see hyprwm/Hyprland#3424 for more info

Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-25 17:13:26 -03:00
Brenno Lemos 6e48b236a1 fix: workspace special wasn't removed
fixes  #2505

Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-25 17:12:51 -03:00
woojiq d37954322a fix(hyprland): use workspace `name` as default icon
Wlr and Sway modules use the workspace `name` as the default icon if no icon is provided. This adds the same behavior for the `hyprland/workspace` module.

Closes https://github.com/Alexays/Waybar/issues/2533
2023-09-23 21:55:18 +03:00
Brenno Lemos 258ab8b147 refactor: take window representation directly from old workspace on movewindow event 2023-09-22 21:12:42 -03:00
Brenno Lemos adbc9d95de feat: optional default icon for 0-match classes
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:59 -03:00
Brenno Lemos fbe544984c fix: ipc vs json window addr format mismatch
feat: ignore empty windows

Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:56 -03:00
Brenno Lemos b9d5912a4f feat: rewrite window classes
feat: cache window class rewrite resolution

Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:16:53 -03:00
Brenno Lemos 3e2761e81f feat: dynamically assign windows to workspaces
Co-authored-by: Gabriel Fox <Inbox@GabrielFox.Dev>
2023-09-22 19:12:50 -03:00
Alexis Rouillard 6997b34a81
Merge pull request #2517 from an-prata/master
Lighter Weight Signal-Based Custom Modules
2023-09-21 23:48:22 +02:00
Alexis Rouillard 5960e8f1ee
Merge pull request #2518 from idm1try/fix-bl-asahi
fix(backlight): wrong percentage numbers for device apple-panel-bl
2023-09-21 23:47:23 +02:00
idm1try 81ffeebfb1
fix: style
Co-authored-by: Alexis Rouillard <alexisr245@gmail.com>
2023-09-21 09:03:13 +05:00
idm1try 388c024298 fix(backlight): wrong percentage numbers for device apple-panel-bl 2023-09-19 18:50:39 +05:00
Alexis Rouillard 9b8adc1951
Merge pull request #2494 from KanuX-14/battery_fix
Fix battery not showing for some devices
2023-09-19 13:33:35 +02:00
Evan Overman bf371f70d1
add `waitingWorker()` to `Custom` 2023-09-18 14:56:14 -07:00
Christopher Shore 14820e5d18
fix clock to work with fmt 10.x 2023-09-17 16:32:19 -04:00
Mann mit Hut 80a34eec81
Fixed formatting again 2023-09-13 23:25:39 +02:00
Mann mit Hut d5203e5b37
Fixed cpu module: Provide stub implementation for parseCpuFrequencies 2023-09-13 23:12:35 +02:00
Mann mit Hut 91b6629103
Fixed format errors 2023-09-13 21:59:42 +02:00
Mann mit Hut 93d66a9258
Moved cpu/common.cpp to cpu.cpp 2023-09-13 21:56:37 +02:00
Mann mit Hut 8d7341da6e
cpu module: Reuse getLoad of load module 2023-09-13 21:56:37 +02:00
Mann mit Hut d1602e383c
cpu module: Reuse getCpuUsage of cpu_usage module 2023-09-13 21:56:36 +02:00
Mann mit Hut c45f6681b3
cpu module: Reuse getCpuFrequency of cpu_frequency module 2023-09-13 21:56:35 +02:00
Mann mit Hut dce6a98f38
Added changes made to the cpu module 2023-09-13 21:56:34 +02:00
Mann mit Hut 982ffde002
Use labels instead of buttons 2023-09-13 21:56:33 +02:00
Mann mit Hut 888adb57ec
Introduce cpu_usage module 2023-09-13 21:56:32 +02:00
Mann mit Hut c36fe3a004
Introduce cpu_frequency module 2023-09-13 21:56:31 +02:00
Mann mit Hut 729564cc27
Introduced separate load module
The module provides the three system load averages. This is an
improvement compared what you can do with the cpu module: cpu
only provides the one minute sample and the state of the cpu module is
derived from the cpu usage which messes up the formating of the load
average. Also, at least on modern Linux systems, the load of a system
takes much more than the cpu utilization into account and it should
therefore live in a separate module.
2023-09-13 21:56:30 +02:00
Roberto Previdi 69736d68aa
Update workspaces.cpp
Fix unchecked string to int conversion of workspace name (which can be a string)
Closes #2501
2023-09-13 18:20:13 +02:00
Alexis Rouillard fc67558717
Merge branch 'master' into darkmode 2023-09-11 09:25:45 +02:00
Alexis Rouillard 196b400abf
Merge pull request #2468 from khaneliman/persistent-rename
deprecate persistent_workspaces in favor of persistent-workspaces
2023-09-11 09:22:07 +02:00
KanuX-14 1ff4464b2f Use adapter status if battery status is inexistent 2023-09-10 15:16:43 -03:00
KanuX-14 60611e9c2b Fix battery not showing for some devices
Adds 'bat-compatibility' boolean checking from configuration file.
2023-09-10 14:41:40 -03:00
Austin Horstman 79cf33b9f1
refactor: enumparser create implementation file 2023-09-09 17:59:40 -05:00
Austin Horstman 3ae2fe3272
refactor: PR review cleanup 2023-09-09 12:08:30 -05:00
Austin Horstman 2b8c92e8fd
refactor: enum utility allow overriding 2023-09-09 11:18:12 -05:00
Austin Horstman 8ea2626de8
refactor: sort-by enum hyprland 2023-09-09 10:04:48 -05:00
Austin Horstman cbc12e5443
feat: hyprland workspaces add sort-by 2023-09-08 22:49:15 -05:00
Austin Horstman 587bd0cd62
refactor: cleanup hyprland workspaces constructor 2023-09-08 22:24:05 -05:00
Austin Horstman 2837b72064
fix: rename workspace active fix 2023-09-08 14:11:02 -05:00
zjeffer 6c3565c520 Add urgent icon
Fixes #2476
2023-09-07 19:33:56 +02:00
Calvin Lee 9bb2c01a44 clean up client.cpp 2023-09-07 13:43:59 +00:00
Calvin Lee 09873f0ed9 search for dark or light mode stylesheet
summary:
-------
This commit adds xdg-desktop-portal support to waybar. If a portal
supporting `org.freedesktop.portal.Settings` exists, then it will be
queried for the current colorscheme. This colorscheme will then be used
to prefer a `style-light.css` or `style-dark.css` over the basic
`style.css`.

technical details:
-----------------
Appearance is provided by several libraries, such as libhandy (mobile)
and libadwaita. However, waybar links to neither of these libraries. As
the amount of code required to communicate with xdg-desktop portal as a
client is rather minimal, I believe doing so is better than linking to
an additional library.

The Gio library for communicating with dbus is rather messy, Instead of
the `Portal` class containing a `Gio::Dbus::Proxy`, it extends it which
simplifies signal handling.

`Portal` then exposes its own signal, which can be listened to by waybar
to update CSS.

For a reference implementation, please see another one of my projects:
https://github.com/4e554c4c/darkman.nvim/blob/main/portal.go

test plan:
---------
If no desktop portal which provides `Settings` exists, then waybar
continues with the log line
```
[2023-09-06 14:14:37.754] [info] Unable to receive desktop appearance: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
```

Furthermore, if `style-light.css` or `style-dark.css` do not exist, then
`style.css` will still be searched for.

Waybar has been tested with both light and dark startup. E.g. if the
appearance is dark on startup the log lines
```
[2023-09-06 14:27:45.379] [info] Discovered appearance 'dark'
[2023-09-06 14:27:45.379] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-dark.css
[2023-09-06 14:27:45.379] [info] Using CSS file /home/pounce/.config/waybar/style-dark.css
```
will be observed.
If the color then changes to light during the operation of waybar, it
will change css files:
```
[2023-09-06 14:28:17.173] [info] Received new appearance 'dark'
[2023-09-06 14:28:17.173] [debug] Try expanding: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [debug] Found config file: $XDG_CONFIG_HOME/waybar/style-light.css
[2023-09-06 14:28:17.173] [info] Using CSS file /home/pounce/.config/waybar/style-light.css
```

Finally, tested resetting waybar and toggling style (works, and style is
only changed once).

fixes: Alexays/Waybar#1973
2023-09-06 15:19:56 +00:00
khaneliman c9e1899594
refactor: deprecate instead of remove persistent_workspaces 2023-09-05 16:02:45 -05:00
khaneliman b405dc436c
refactor!: wlr persistent workspaces config rename 2023-09-05 16:02:22 -05:00
khaneliman 4a6c1269fb
refactor!: sway persistent workspaces config name rename 2023-09-05 16:02:21 -05:00
khaneliman 44ac6b8044
refactor!: hyprland persistent workspaces config option name standardization 2023-09-05 16:02:19 -05:00
zjeffer 04b39ea64e hyprland/workspaces: implement 'active_only' option and visible class 2023-09-05 18:22:54 +02:00
Maxim Baz 9c49f46b01
hyprland/workspaces: react on renameworkspace event 2023-09-05 17:13:25 +02:00
xercesblue d40ccd0da8 modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace 2023-09-04 16:57:00 -07:00
Alexis Rouillard 6f66af9ab9
Merge pull request #2134 from bruceblore/battery-weighted-percentage
Display battery percentage as weighted average of battery levels
2023-09-04 22:01:40 +02:00
Alexis Rouillard 2d27e484c7
Merge pull request #2417 from Cherser-s/sni-click-coordinate-fix
sni: fix passing relative coordinates to dbus methods
2023-09-04 22:01:04 +02:00
Austin Horstman 4cb8efbecc
chore: cpplint fixes hyprland classes 2023-09-03 00:18:31 -05:00
Austin Horstman 8fc4187713
refactor: replace strcpy with snprintf 2023-09-02 23:56:06 -05:00
Alexis Rouillard 8eb614f69e
Merge pull request #2438 from khaneliman/hyprland-workspace-array
hyprland persistent workspace support new config declaration
2023-09-01 09:10:23 +02:00
Alexis Rouillard 347dd1c799
Merge pull request #2431 from zjeffer/fix/persistent-workspace-icon
hyprland/workspaces: Add "empty" icon and class
2023-09-01 09:09:32 +02:00
Alexis Rouillard 82b7e4ea01
Merge pull request #2414 from KosmX/add_release_v2
Release button event second attempt
2023-09-01 09:08:23 +02:00
PucklaJ a18b41911d hyprland/workspaces: Show workspace on all outputs if an empty array is given
This behaviour is consistent with sway/workspaces and wlr/workspaces
2023-08-30 13:35:19 +02:00
Austin Horstman 52309615c1
hyprland new persistent_workspace configuration style 2023-08-29 00:11:25 -05:00
Cherser-s 65dfabc430 sni: fix passing relative coordinates to dbus methods
Doesn't correctly handle the case with both margin and width/height being set at the same time.
2023-08-25 20:37:16 +03:00
Cherser-s 936937ec78 store margins and global window offset in the bar object 2023-08-25 20:37:14 +03:00
zjeffer 06a9f98878 hyprland/workspaces: Add "empty" icon and class 2023-08-24 21:19:20 +02:00
Austin Horstman ee4fbc58f7
hyprland add urgent ipc support 2023-08-23 12:52:29 -05:00
asas1asas200 54a6668846 feat(keyboard-state): add binding-keys options 2023-08-20 08:33:34 +08:00
KosmX 392e863e6d
Apply formatting 2023-08-16 17:33:36 +02:00
KosmX 2ff347f9a8
Add handleRelease method to release events
This commit shouldn't change the handleToggle behaviour,
it shouldn't break anything.
2023-08-16 17:14:49 +02:00
KosmX 718db71638
Refactor enable click condition
This shouldn't change behaviour.
2023-08-16 17:11:44 +02:00
Alexis Rouillard 0a28b50a8c
Merge pull request #2413 from PucklaJ/bluetooth-no-controller
Add format-no-controller to bluetooth module and fix it still being visible if the format string is empty
2023-08-16 17:08:48 +02:00
PucklaJ 70bc318a01 Fix bluetooth module still being visible if format is empty 2023-08-16 16:30:59 +02:00
PucklaJ 22817089db Add no-controller format to bluetooth module 2023-08-16 15:34:06 +02:00
Jan Palus abd7a0cf25
Fix simpleclock module compilation with recent fmt
both `format_` and `tooltip_format` are dynamically provided formats so
wrap them in `fmt::runtime()`
2023-08-16 14:32:48 +02:00
Alex b5ea14c896 revert: release event 2023-08-16 13:31:24 +02:00
Alexis Rouillard 5b33a5917c
Merge pull request #2404 from eltociear/master-1
fix: typo in taskbar.cpp
2023-08-16 08:55:33 +02:00
Jan Palus c8237437d2
Explicitly cast ustring to string when passing to fmt
don't rely on implicit conversion which is no longer present in fmt
10.1.0

Fixes #2403
2023-08-15 20:57:07 +02:00
Ikko Eltociear Ashimine 57544fe694
fix: typo in taskbar.cpp
ocurred -> occurred
2023-08-15 00:45:09 +09:00
Alex db1d859881 fix: lint 2023-08-14 14:20:08 +02:00
Alexis Rouillard 2c7bbe9852
Merge pull request #2393 from zjeffer/hyprland/fixes
Hyprland/workspaces: use named icons instead of searching by id
2023-08-14 11:46:55 +02:00
KosmX 3db5673e70
register key hander 2023-08-13 18:48:23 +02:00
zjeffer 6f7e7c5199 formatting 2023-08-10 20:37:42 +02:00
zjeffer 2ba11e8401 Hyprland/workspaces: use named icons instead of searching by id 2023-08-10 20:09:30 +02:00
Marshall Moats e40860c3e9 keep id 2023-08-08 17:17:58 -05:00
Marshall Moats 2bcd0eb09f
Change default workspace format 2023-08-02 16:02:50 -05:00
Marshall Moats ce2ede70f2 Fix logical errors, formatting error 2023-08-01 15:55:37 -05:00
Alexis Rouillard 86b3e456e1
Merge pull request #2341 from zjeffer/hyprland/workspaces
Persistent workspaces in hyprland/workspaces
2023-07-31 08:34:30 +02:00
zjeffer 600653538b Persistent workspaces in hyprland/workspaces 2023-07-30 11:47:37 +02:00
zjeffer 28635c1f6d Fixed sway IPC compile warnings 2023-07-30 11:43:34 +02:00
Viktar Lukashonak 106535e3eb
tooltip-format spaces breaks pango format
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-29 23:46:35 +03:00
MisterPine 2b07dea3a6
Fix broken start behavior for `hyprland/window` 2023-07-29 00:30:33 +02:00
MightyPlaza c71c0fca6e
fix typo 2023-07-25 14:48:20 +00:00
Alexis Rouillard 9207fff627
Merge pull request #2345 from LukashonakV/ISSUE_2344
Clock. Narrow seconds precision
2023-07-24 23:19:19 +02:00
Viktar Lukashonak dae7794bdf
Clock. Narrow seconds precision
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-25 00:08:13 +03:00
Alexis Rouillard c087d8c318
Merge pull request #2316 from MightyPlaza/workspaces
hyprland/workspaces improvements
2023-07-24 13:40:23 +02:00
Viktar Lukashonak d01ce7d812
Rewview changes.
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-24 10:16:38 +03:00
Viktar Lukashonak 4d9e0ea802
time conversion between time zones
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-07-24 01:21:33 +03:00
dmitry 05efdb74f0 format 2023-07-20 22:57:33 +03:00
dmitry d3bcff31e5 add high-priority-named optiion 2023-07-20 22:56:15 +03:00
Alex 3e1176e896 fix: lint 2023-07-18 08:35:46 +02:00
Alexis Rouillard 52a8b1d911
Merge pull request #2234 from kris7t/offscreen-app-id
sway/window: app_id on unfocused workspaces
2023-07-18 08:32:32 +02:00
Alex 841a004acd fix: lint 2023-07-18 08:28:19 +02:00
Alexis Rouillard 839975c348
Merge pull request #2318 from calvinchd/hyprland-window-remove-empty-css
hyprland/window remove duplicate empty css
2023-07-18 08:22:27 +02:00
MightyPlaza 24d56023fd
last fixes 2023-07-17 22:38:58 +00:00
czM1K3 b2279c9565 Differencing keyboard layout variant for hyprland/language 2023-07-17 22:20:50 +02:00
MightyPlaza 52906407af
Merge pull request #3 from zjeffer/pr-fixes
Some more small improvements
2023-07-17 14:27:38 +00:00
zjeffer 2721e19ee6 small improvements 2023-07-17 16:22:59 +02:00
MightyPlaza 2d0fdaeec6
special fix 2023-07-16 18:22:14 +00:00
MightyPlaza 96a8e5df83
Merge branch 'Alexays:master' into workspaces 2023-07-16 13:19:24 +00:00
Alexis Rouillard 85b4ff4f81
Merge pull request #2321 from calvinchd/hyprland-runtime-err 2023-07-16 15:10:03 +02:00
Calvin Chu 0f6eff1f20
hyprland: fix json parser runtime err from socket read ending early 2023-07-16 22:18:27 +10:00
Calvin Chu 2be0e966e1
hyprland/window: remove .empty css class for #window 2023-07-16 16:40:54 +10:00
may facb53e81f
backlight: do not convert percent to string in fmt 2023-07-16 04:14:43 +02:00
MightyPlaza 2bfc0e1da6
moves createWorkspace to update() 2023-07-16 01:49:46 +00:00
MightyPlaza 5f0fa71f32
moves createWorkspace to update() 2023-07-16 01:43:25 +00:00
MightyPlaza ca0122c3cb
workspaces.cpp 2023-07-16 01:18:41 +00:00
zjeffer f3df15650a use IPC for click events, clang-tidy fixes 2023-07-15 23:48:12 +02:00
MightyPlaza 52983c7188
workspaces.cpp 2023-07-15 17:43:22 +00:00
gardenapple daca57129f
hyprland/window: rename .hidden to .swallowing (and fix grouped windows) 2023-07-12 19:01:45 +03:00
gardenapple 14c6550593
hyprland/window: Fix overlap with .hidden class from default style 2023-07-12 17:56:12 +03:00
MisterPine a8a1a4985f
Add removed secondary identifier
(class for xwayland under sway)
2023-07-10 23:48:18 +02:00
MisterPine 31683d9e2a
Implemented AAppIconLabel for sway/window 2023-07-10 22:55:46 +02:00
MisterPine 00e143d47e
Introducce AAppIconLabel class
Implemented for hyprland
2023-07-10 22:50:58 +02:00
MisterPine 6e9ba3fc01
Fix spacing if icon is false 2023-07-10 22:26:02 +02:00
MisterPine a373f6b654
Icon working 2023-07-10 22:02:03 +02:00
Alexis Rouillard 91bd28d410
Merge pull request #2294 from Mr-Pine/hyprland-window-data
`hyprland/window` expose more data
2023-07-09 10:18:26 +02:00
Maëlys Bras de fer 56f956ff90
clock: handle timezone changes (again) 2023-07-09 01:44:39 +02:00
MisterPine f97c1c7136
remove getWindowData 2023-07-08 23:22:29 +02:00
MisterPine 9ee883ee1b
No dashes is format arg name 2023-07-08 23:11:11 +02:00
MisterPine 2ae13c4092
consitent naming 2023-07-08 22:40:16 +02:00
MisterPine c5f1771375
Use already existing `queryActiveWorkspace()` 2023-07-08 22:40:16 +02:00
MisterPine c4bace504c
Separate query and struct 2023-07-08 22:40:16 +02:00
sigboe d774de6c46 fix, default to true, sway/workspaces: warp-on-scroll 2023-07-08 21:32:19 +02:00
Calvin Chu e2bfa5e019
hyprland/window: fix no info with separate-outputs=true 2023-07-06 11:01:24 +10:00
Jan Beich 1fb2b8efd5 fix(util): don't abort modules from SleeperThread after 3c9cbc99d7
[warning] module sway/workspaces: Disabling module "sway/workspaces", Unable to connect to the SYSTEM Bus!...
[warning] module sway/mode: Disabling module "sway/mode", Unable to connect to the SYSTEM Bus!...
[warning] module sway/scratchpad: Disabling module "sway/scratchpad", Unable to connect to the SYSTEM Bus!...
[warning] module custom/media: Disabling module "custom/media", Unable to connect to the SYSTEM Bus!...
[warning] module sway/window: Disabling module "sway/window", Unable to connect to the SYSTEM Bus!...
[warning] module cpu: Disabling module "cpu", Unable to connect to the SYSTEM Bus!...
[warning] module memory: Disabling module "memory", Unable to connect to the SYSTEM Bus!...
[warning] module temperature: Disabling module "temperature", Unable to connect to the SYSTEM Bus!...
[warning] module sway/language: Disabling module "sway/language", Unable to connect to the SYSTEM Bus!...
[warning] module battery: Disabling module "battery", Unable to connect to the SYSTEM Bus!...
[warning] module battery#bat2: Disabling module "battery#bat2", Unable to connect to the SYSTEM Bus!...
2023-07-05 17:47:24 +00:00
Alexis Rouillard 3299d4a25c
Merge pull request #2270 from gardenappl/hypr-backend
hyprland/window: Add .hidden CSS class, account for hidden & fullscreen windows
2023-07-05 08:14:49 +02:00
gardenapple e125bbeb4d
hyprland/window: properly check visibility for .floating class 2023-07-05 03:43:03 +03:00
Alexis Rouillard 5ef6636237
Merge pull request #2265 from tengyifei/master
Partially revert 3af1853260 to fix use-after-free
2023-07-04 22:59:45 +02:00
Alex fc632f50ec fix: lint 2023-07-04 22:52:24 +02:00
Alexis Rouillard 0d1016d4d2
Merge pull request #2203 from rodrgz/mprisImprovement
mpris: dynamic tag ordering and separator customization
2023-07-04 22:44:21 +02:00
Alexis Rouillard 12725f4418
Merge pull request #2220 from sigboe/warp-on-scroll-toggle
sway/workspaces: setting to not warp to window when scrolling
2023-07-04 22:42:53 +02:00
Alexis Rouillard 14fa9cf7b7
Merge pull request #2128 from Alan-Kuan/image-tooltip
Image tooltip
2023-07-04 22:40:04 +02:00
Alex 6c196b8f8d fix: lint 2023-07-04 22:35:27 +02:00
Alexis Rouillard d2eb8eb9fc
Merge pull request #2175 from maqrrr/start_hidden
Add a new start_hidden flag
2023-07-04 22:33:33 +02:00
Alexis Rouillard 65f73d3e95
Merge pull request #2269 from Arcus92/master
wlr/taskbar: add support for rewrite rules
2023-07-04 22:31:37 +02:00
Alexis Rouillard 265b4edb2e
Merge pull request #2276 from skligys/fix_mpris_ui_spamming
Stop MPRIS module from updating every ~20ms
2023-07-04 22:29:48 +02:00
zjeffer 7ef80d563b Formatting fixes 2023-07-04 19:48:04 +02:00
zjeffer d3be9a7363 Fix rare segfault when destroying workspace 2023-07-04 19:40:43 +02:00
Alexis Rouillard bb61461aad
Merge pull request #2278 from Anakael/pr/anakael/hyprland-workspaces 2023-07-04 08:02:45 +02:00
dmitry f26a125d15 format 2023-07-04 01:26:16 +03:00
dmitry de626dcbbc format 2023-07-04 01:24:34 +03:00
dmitry c9b963e82b fix segfault 2023-07-04 01:17:26 +03:00
André Aparício a1cd0acac5 Fix random segfault on GTK icon functions
The segfaults were happening on GTK icon theme functions, which are
called via the C++ interface functions such as Gtk::IconTheme::has_icon.

There are multiple modules and threads using this functions on the default
icon theme by calling Gtk::IconTheme::get_default(), which returns the same
object for all callers, and was causing concurrent access to the same internal
data structures on the GTK lib. Even a seemingly read-only function such as
has_icon can cause writes due to the internal icon cache being updated.

To avoid this issues, a program wide global mutex must be used to ensure
a single thread is accessing the default icon theme instance.

This commit implements wrappers for the existing IconTheme function calls,
ensuring the global lock is held while calling the underling GTK functions.
2023-07-03 22:32:24 +01:00
Skirmantas Kligys c2f9d889f4 Stop MPRIS module from updating every ~20ms as onPlayerMetadata(), onPlayerPlay()
callbacks get triggered without regard for update interval.
2023-07-03 13:52:57 -07:00
gardenapple cdece498c1
hyprland/window: .solo class accounts for hidden & fullscreen windows 2023-07-02 20:58:42 +03:00
David Schulte c55cd82b39 wlr/taskbar: add support for rewrite rules 2023-07-02 12:23:36 +02:00
Alexis Rouillard 91588fb8bb
Merge pull request #2212 from evyatark2/wpscroll
wireplumber: Support for scrolling
2023-07-02 11:46:56 +02:00
Alexis Rouillard 6b9600fecd
Merge pull request #2267 from korylprince/reverse-scrolling
Don't apply reverse scrolling to mice wheels
2023-07-02 11:45:44 +02:00
zjeffer f6a62e258e fixes for hyprland/workspaces 2023-07-01 18:53:17 +02:00
Kory Prince 1ba05d1ffa add reverse-mouse-scrolling to configure mouse wheel reverse scrolling 2023-07-01 10:35:37 -05:00
Kory Prince 7a01143359 ignore reverse-scrolling from mouse wheel 2023-07-01 10:33:55 -05:00
Kory Prince 35496f461f fix regression from #2232: reverse-scrolling was not applied to
GTK_SCROLL_SMOOTH events
2023-07-01 10:33:55 -05:00
Alex b9cd0287f4 fix: typo 2023-07-01 11:12:46 +02:00
Alex 9d741f89e2 fix: lint 2023-07-01 11:12:14 +02:00
Alex cc4370f1b2 fix: build 2023-07-01 11:08:31 +02:00
Alexis Rouillard 85854c71d6
Merge pull request #2219 from xytovl/wake_threads_on_resume
Wake all sleeping threads when leaving suspend
2023-07-01 11:02:13 +02:00
Alexis Rouillard 15fe85d18d
Merge pull request #2264 from Anakael/pr/anakael/hyprland-workspaces
feat: hyprland/workspaces
2023-07-01 10:55:24 +02:00
zjeffer 25c2aaabcb Fixed build warnings 2023-07-01 10:12:24 +02:00
Yifei Teng cd49eef229 Partially revert 3af1853260 to fix use-after-free
After upgrading to the latest release of Waybar the bar will crash
whenever I close the laptop lid. After some debugging I believe it is
because the watching added by watch_name is not being correctly canceled
using unwatch_name. After the Tray object and Host object are destroyed,
additional callbacks will become use-after-free.

Looks like commit 3af1853260 removed the
unwatch_name. I'm not sure why it did that, but it seemed dangerous.

Additionally, bus_name_id_ is created by own_name. According to that
function's documentation, the correct inverse operation is unown_name.
2023-06-30 23:25:24 -07:00
dmitry 4f9fbbfa54 fix format 2023-07-01 02:25:15 +03:00
dmitry 887c44bf68 finish MVP 2023-07-01 00:18:57 +03:00
dmitry 33236c222f save 2023-06-28 02:52:01 +03:00
Alexis Rouillard 4116490535
Merge pull request #2256 from luttermann/master
Add output port (display) of workspace to template function of sway/workspace
2023-06-27 13:50:54 +02:00
dmitry afc489869a fix format 2023-06-27 00:18:49 +03:00
dmitry ce4da59f34 finish 2023-06-27 00:07:40 +03:00
Lasse Luttermann 43434254e0 Add output port of workspace to template 2023-06-26 11:01:50 +02:00
Erik Rodriguez 66ce74d29b
mpris: Rename dynamic-priority to dynamic-importance-order keeping backward compatibility 2023-06-22 02:13:44 -03:00
Erik Rodriguez 77a8420aaf
mpris: Add dynamic-order and dynamic-separator
This commit allows better handling of ordering and exclusion of the tags in Dynamics tags.
It also becomes possible to choose the separator between the tags.
2023-06-22 02:13:34 -03:00
Alexis Rouillard b0f89f2bc1
Merge pull request #2241 from yangyingchao/master
support multiple items in hwmon-path of temperature module
2023-06-20 13:22:36 +02:00
Alexis Rouillard 7cda2dfd1a
Merge pull request #2245 from gardenappl/main
hyprland/window: Add CSS customization similar to sway/window
2023-06-20 13:22:12 +02:00
gardenapple b163b21ace
More robust Hyprland backend 2023-06-20 13:36:48 +03:00
gardenapple 30c4f08773
hyprland/window: Correct application of .solo class 2023-06-20 03:54:02 +03:00
gardenapple fd7c2a2012
hyprland/language: Show language on startup 2023-06-20 00:43:33 +03:00
gardenapple 4f14ce3285
hyprland/window: add .floating and .fullscreen CSS classes 2023-06-20 00:42:19 +03:00
gardenapple e233022d1a
hyprland/window: Rework, add .empty, .solo and .<app_id> CSS classes 2023-06-19 23:44:20 +03:00
yangyingchao e403c3b71b support multiple items in hwmon-path of temperature module
So user can share configuration file among different machines with different hardware
configurations.
2023-06-17 11:33:14 +08:00
Alexis Rouillard d367b7e1d6
Merge pull request #2229 from LukashonakV/Upower_nativePath
Upower native-path filter
2023-06-16 15:38:58 +02:00
Alexis Rouillard 038644f8d9
Merge pull request #2238 from LukashonakV/ISSUE#2204
Issue#2204
2023-06-16 15:38:20 +02:00
Viktar Lukashonak 4d8515930f
Use local TZ, when user sets blank TZ in config
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-13 23:32:28 +03:00
Kristóf Marussy 5bfdbf116d
sway/window: app_id on unfocused workspaces
If the unfocused workspace has a single window, use window-specific
styling when offscreen-css is enabled.
2023-06-13 01:52:13 +02:00
Alex 83f3c2321e
Merge pull request #2231 from RobertMueller2/appid-fix
sway/window: fix appid style not cleared
2023-06-12 15:40:56 +02:00
Robert Günzler 0f8c156f24
Lift reverse-scrolling option into AModule
The option is generally useful when scrolling is used, when configuring
input devices to use "natural scroll direction".
Both backlight and pulseaudio were using different implementations, this
unifies and documents them.

Signed-off-by: Robert Günzler <r@gnzler.io>
2023-06-12 14:08:18 +09:00
Rene D. Obermueller fff4509723 sway/window: fix appid style not cleared (#2227)
Probably a rebase error during development of #1419. The code block now
removed was not supposed to be there anymore.
2023-06-11 08:41:20 +02:00
Viktar Lukashonak 17af49d421
Upower native-path filter
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-09 18:22:24 +03:00
dmitry 62f4125927 change order 2023-06-08 23:31:14 +03:00
sigboe a67e692d4a sway: warp-on-scroll toggle 2023-06-07 15:49:11 +02:00
Patrick Nicolas 3c9cbc99d7 Wake all sleeping threads when leaving suspend
std::condition_variable::wait_for does not count time spent in sleep
mode, resulting in longer than expected waits.
2023-06-07 10:17:42 +02:00
Alex c5379fa52d
Merge pull request #2218 from LukashonakV/Wdeprecated
deprecated: implicit capture of 'this' via '[=]'
2023-06-06 22:56:27 +02:00
Viktar Lukashonak 6bf5b15c13
deprecated: implicit capture of 'this' via '[=]'
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 23:31:12 +03:00
Viktar Lukashonak a9779c2aa2
Happy Linter
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 23:06:11 +03:00
Viktar Lukashonak 3af1853260
Tray module cause error g_bus_unwatch_name()
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 23:02:36 +03:00
Viktar Lukashonak 87023c39f8
Small performance fixies
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-06-06 13:58:05 +03:00
Evyatar Stalinsky e397f568b7 Round volume instead of truncating it 2023-06-06 11:42:31 +03:00
Evyatar Stalinsky d22fd3bbd1 Use a minimum step as provided by wireplubmer; Default step to 1 2023-06-06 11:42:02 +03:00
Evyatar Stalinsky 75990c2867 Fix linting 2023-06-05 22:23:46 +03:00
Evyatar Stalinsky 88a1a702b4 wireplumber: Support for scrolling 2023-06-05 22:03:46 +03:00
Alex 24407dbf4a
Merge pull request #2196 from calvinchd/hyprland-window-empty-css
[hyprland/window] Add css class for empty window name
2023-06-05 16:48:59 +02:00
Matias-Hall ff6f727631 river/window: Add tooltip. 2023-06-05 18:29:19 +08:00
dejor d2787cc2d8 fix: typo to avoid null pointer 2023-06-04 12:45:33 +02:00
Calvin Chu 17a56aa4f7
hyprland/window: use empty() for empty window name check 2023-06-03 12:29:36 +10:00
Calvin Chu a3912436be
hyprland/window: add css class for empty label 2023-06-01 21:38:27 +10:00
Alex 097cbc0c53 fix: lint 2023-05-29 09:24:33 +02:00
David Delarosa ebba529682 Apply clang-format 2023-05-25 01:29:28 +03:00
David Delarosa b97b0ae605 Fix linter complains 2023-05-25 01:25:55 +03:00
David Delarosa 7e9bfc504c Update to new ipc version 2023-05-25 00:27:50 +03:00
Lukas Fleischer 75eacb95ef Fix SEGFAULT in battery module
In waybar::modules::Battery::~Battery(), store a copy of the batteries_
iterator before calling erase(), as erase() invalidates the iterator.

Prior to this change, disconnecting outputs resulted in a SEGFAULT when
using the battery module; e.g.,

    [debug] Received SIGCHLD in signalThread
    [debug] Cmd exited with code 0
    [debug] Received SIGCHLD in signalThread
    [debug] Cmd exited with code 0
    [debug] Received SIGCHLD in signalThread
    [debug] Cmd exited with code 0
    [debug] Output removed: AU Optronics 0x2336
    [info] Bar configured (width: 1280, height: 25) for output: eDP-1
    [info] Bar configured (width: 1280, height: 25) for output: eDP-1
    zsh: segmentation fault (core dumped)  ./build/waybar -l trace

Signed-off-by: Lukas Fleischer <lfleischer@lfos.de>
2023-05-22 10:16:30 -04:00
cptpcrd 6163be687d Open network module eventfd as close-on-exec
Ensures that it is not leaked to child processes.
2023-05-21 12:13:17 -04:00
maqrrr 339bea1213 Add a new start_hidden bool 2023-05-15 07:01:00 -04:00
Finlay Davidson 4bc30e040f mpris: Hide label if empty 2023-05-10 13:43:43 +02:00
theRealCarneiro 5df43be11f add persistent format-icon 2023-05-05 08:52:37 -03:00
MonstrousOgre c04485a5d0 separate css class for empty workspaces 2023-05-05 00:09:32 +05:30
Viktar Lukashonak 8c83af75a1
happy linter
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-28 15:38:34 +03:00
Paymon 3da3732cc9 network: detect if link is p2p and use local addr
without this we endup with peer's addr

Signed-off-by: Paymon MARANDI <darwinskernel@gmail.com>
2023-04-26 13:52:17 -04:00
Enes Hecan f00602058c Fix misinterpreting return value of getaddrinfo call which caused an early return for Hyprland language 2023-04-23 13:31:02 +02:00
Bruce Blore bad6cfae6f Added option to calculate battery percentage as total_energy * 100 / total_energy_full 2023-04-22 23:43:04 -07:00
Alan-Kuan 6a17139423
feat: tooltip for image module 2023-04-21 16:38:21 +08:00
Alex a9a2223469 fix: lint 2023-04-17 09:09:13 +02:00
Alex 0b4c1cb877
Merge pull request #1950 from tleydxdy/shironeko 2023-04-17 09:06:43 +02:00
Alex 5e5569bb10
Merge pull request #1858 from uncomfyhalomacro/replace-gethostbyname-getaddrinfo 2023-04-17 09:05:35 +02:00
Alex ede1d25440 fix: lint 2023-04-17 09:01:14 +02:00
Alex 8be889c5aa
Merge pull request #2103 from xdavidel/dwl-module
Add DWL tags module
2023-04-17 09:01:00 +02:00
Alex b1e3347fca
Merge pull request #2089 from MonstrousOgre/master 2023-04-17 08:59:22 +02:00
Alex da2163ae41
Merge pull request #2092 from chayleaf/mpris-fix-non-dynamic-tag-escapes 2023-04-17 08:58:40 +02:00
Alex 1d7d1a8fe8
Merge pull request #2108 from yeheng282/backlight-fix 2023-04-17 08:58:03 +02:00
Alex 7d20034067
Merge pull request #2095 from alex-courtis/2094-pulseaudio-states 2023-04-17 08:56:26 +02:00
Alex 8aafe817bf
Merge pull request #2102 from LukashonakV/Cava 2023-04-16 18:06:53 +02:00
Viktar Lukashonak a5607b66ca
Cava module
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-15 02:36:15 +03:00
David Delarosa 4dff1b91fe
Merge branch 'Alexays:master' into dwl-module 2023-04-13 17:18:27 +03:00
David Delarosa 1368ba64b5 Fix segfault in destructor 2023-04-13 17:16:37 +03:00
Viktar Lukashonak 6de3b58d6a
ISSUE#2073
Signed-off-by: Viktar Lukashonak <myxabeer@gmail.com>
2023-04-13 17:16:03 +03:00
David Delarosa 731eaeb0be Addapt to DWL new tag system
- tagscount is being used instead of tag array
2023-04-13 03:58:57 +03:00
yeheng282 022c9abad4 backlight: support tooltip 2023-04-11 21:01:02 +08:00
skylar779 3b2dfeec01
Made use of node_id_
Checking against names for volume changes seems a bit weird to me and
also didn't really work, so I've made use of node_id_ to check against
this instead and also fixed an issue, where the volume update would
refuse to do its thing despite it being the same id that was used on launch.
2023-04-11 10:51:25 +02:00
David Delarosa 60cdf10e64 Add DWL tags module 2023-04-11 04:50:21 +03:00
Alexander Courtis 51f0fc6b72 #2094 pulseaudio apply states 2023-04-07 14:19:45 +10:00
MonstrousOgre 6f3a27905d preventing persistent_workspaces and all-outputs from being used together 2023-04-06 12:14:44 +05:30
chayleaf 659fea07ee mpris: fix non-dynamic tags not being html escaped 2023-04-06 13:24:28 +07:00
chayleaf cb82326b22 mpris: fix css class application
apply styles to label rather than event_box (fixes play/pause state and
per-player selectors)
2023-04-06 04:50:32 +07:00
MonstrousOgre 33c4964187 replacing spdlog::info with spdlog::debug 2023-04-06 00:34:52 +05:30
Alex 3d980f92a3 fix: build 2023-04-03 10:59:29 +02:00
Alex 626a1f58be fix: build 2023-04-03 10:51:36 +02:00
Alex 1445dc4151 fix: lint 2023-04-03 10:06:01 +02:00
Alex a6084ea7e6
Merge pull request #2068 from TheRealLorenz/master 2023-04-03 09:44:04 +02:00
Alex 60467ad7f2
Merge pull request #2064 from en3wton/hyprland-language-format-replacements 2023-04-03 09:43:28 +02:00
Alex ef99b0226c
Merge pull request #1932 from ldelossa/wlr-taskbar-sort-app-id 2023-04-03 09:42:19 +02:00
Alex 60e0584d16 fix: lint 2023-04-03 09:41:24 +02:00
Alex ba6faa7859
Merge pull request #2011 from chayleaf/improve-mpris 2023-04-03 09:40:01 +02:00
Alex 02b3c125a1 fix: init optional to null 2023-04-03 09:38:12 +02:00
Maxim Andreev ffeef7f40f modules/clock: fix calendar shift in months with 31 days 2023-03-31 20:07:59 +03:00
chayleaf 0cfd1c7094 mpris: don't put ellipsis after whitespace 2023-03-31 19:54:44 +07:00
chayleaf e5524d5059 mpris: switch base class from AModule to ALabel 2023-03-31 19:54:39 +07:00
chayleaf 774d8880cd mpris: fix potentially invalid seconds count on >1h media 2023-03-31 19:54:39 +07:00
chayleaf a301b8c4cd mpris: update docs 2023-03-31 19:54:27 +07:00
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