Commit Graph
396 Commits
Author SHA1 Message Date
AlexandClaude Opus 4.8 72fdf77c19 docs: align man pages with code + fill documentation gaps (0.16.0 audit)
A full man<->code consistency audit surfaced options, format placeholders
and CSS classes that were implemented but undocumented, documented but not
implemented (some causing fmt crashes when copied from examples), and
defaults that disagreed with the code. This aligns the docs with the code
and fixes a few genuine code gaps.

Docs:
- Add the missing waybar-user(5) man page (and register it in meson.build)
- Document previously-undocumented options/placeholders/CSS across many
  modules (custom image-path/image-name/icon-size, graph_type/width/
  datapoints; battery smooth-power; wireplumber format-source/only-physical;
  mpris {position}/prefer-album-artist; network {signalStrengthApp}/compact
  bandwidth; pulseaudio {source_volume}/{source_desc}; upower {temperature}/
  {model}/{native-path}; wwan {power_state}/{imei}; tray ignore-list; and
  many CSS state classes: .sink-muted, .source-muted, .workspace-hover, etc.)
- Correct documented defaults to match the code (hyprland format {name},
  gamemode {count}, cpu-graph interval 5, cava input_delay 4, niri taskbar
  icon-size 16, disk/gps/wayfire formats, menu-actions object type, ...)
- Remove placeholders/options that do not apply (custom-graph {icon}/format/
  format-icons/rotate) and fix crashing examples (wwan {mode}, gps
  format-no-fix); note cava background/foreground/continuous_rendering are
  cava-config-file options

Code:
- bluetooth: accept the documented `controller` key as a synonym of
  `controller-alias` (the option was silently ignored)
- mango/workspaces: supply the documented `{name}` fmt arg (was missing ->
  fmt::format threw)
- privacy: read `tooltip` as a bool (was guarded on isString(), so the
  documented `tooltip: false` was silently ignored)

All man pages validated with scdoc 1.11.4. Not compiled locally (no gtkmm);
C++ build relies on CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 02:39:38 +02:00
Alexis Rouillard 237d6c7c7b Merge pull request #4997 from sewaustav/feat/niri-workspaces-taskbar
feat(niri): add workspace-taskbar support
2026-07-04 01:50:29 +02:00
Alexis Rouillard 7887cdacda Merge pull request #4504 from ErikReider/geoclue-privacy
Add GeoClue2 location privacy item
2026-07-04 01:50:22 +02:00
sewaustav 9cd09c2569 feat(niri): add workspace-taskbar support
Adds a per-workspace app-icon taskbar (Workspace class) to the
niri/workspaces module. Rebased onto master: integrated with the
existing window-rewrite feature so the {windows} and {total} format
replacements continue to work alongside the new taskbar.
2026-07-04 01:50:16 +02:00
Erik Reider eeb7bc702e Added GeoClue2 privacy item
Rebased onto current master and fixed the privacy module build:
- privacy_item.hpp no longer includes privacy.hpp (it does not use the
  Privacy class); this broke the circular include that left PrivacyItem
  undeclared when privacy.hpp was reached first from privacy_item.cpp.
- privacy_item.cpp now includes gtkmm/label.h explicitly, since Gtk::Label
  was previously only pulled in transitively via privacy.hpp.
2026-07-04 01:42:35 +02:00
Alex 5ecda40166 meson: fix libmm-glib dependency to use correct pkg-config name 'mm-glib'
The ModemManager libmm-glib library installs its pkg-config file as
mm-glib.pc (not libmm-glib.pc), so dependency('libmm-glib') never
resolved and the nix-flake-check build failed with the wwan module
enabled.
2026-07-04 01:37:11 +02:00
Alex 2aa74a523c wwan: fix hide-disconnected default, plug dup() leaks, meson/man cleanup
- update(): only hide the module when hide-disconnected is set AND the
  modem is not in the CONNECTED state, instead of hiding it unconditionally
  (the module was invisible by default).
- free the gchar* returned by mm_modem_dup_physdev/
  mm_modem_dup_equipment_identifier/mm_sim_dup_operator_name.
- meson.build: drop duplicate libgps dependency, install the wwan man page.
- man: document hide-disconnected (replacing the unimplemented
  hide-failed/hide-disabled/hide-not-registered options).
- remove stray empty subprojects/.wraplock.
2026-07-04 01:36:46 +02:00
Lena 949da4e829 create partial wwan module 2026-07-04 01:36:23 +02:00
Alex efe31dfecf build: install wayfire man pages (register in meson man_files)
The wayfire window/workspaces man pages existed but were never added to
man_files, so they were never installed. Fixes #4264.
2026-07-04 01:13:28 +02:00
Alex 94a8b40071 Merge remote-tracking branch 'origin/master' into pr-4553 2026-07-04 00:23:24 +02:00
Alex 733c688ded Merge remote-tracking branch 'origin/master' into pr-4588 2026-07-03 23:51:30 +02:00
Alexis Rouillard 87230211e0 Merge pull request #4907 from jaypikay/master
hostname dependend module
2026-07-03 23:12:46 +02:00
Alexis Rouillard 7c085c89a9 Merge branch 'master' into master 2026-07-03 22:22:43 +02:00
Alexis Rouillard 145e1f26e1 Merge branch 'master' into feat/basic-cpu-graph 2026-07-03 22:17:32 +02:00
Alexis Rouillard ed688659f4 Merge branch 'master' into mango 2026-07-03 22:17:29 +02:00
DreamMaoMao 3eeffbe389 feat: add mango modules: workspace,language,keymode,window,layout 2026-05-29 12:56:40 +08:00
Siriusuna f8cc7173ca refactor: extract utf8 truncation logic to utility
Move the UTF-8 visual-width measurement and truncation helper functions
from the mpris module to a common utility
(include/util/utf8_string.hpp and src/util/utf8_string.cpp).

This decouples string truncation and width measurement
from the mpris module, allowing other modules (like mpd) to reuse.
The helper function `utf8_truncate` (formerly `truncate` in mpris)
and `utf8_width` is exported under the `waybar::util` namespace,
while the low-level `measure_and_truncate` (formerly `utf8_truncate`)
is encapsulated in an anonymous namespace in src/util/utf8_string.cpp
to avoid unnecessary API exposure.

No functional changes were made to the mpris module's behavior.
2026-05-22 02:52:40 +08:00
Ricardo Markiewicz 4d6354af48 feat: add gauge and stacked bar graph type 2026-04-08 23:36:47 +02:00
Ricardo Markiewicz efadb82c56 feat: basic line graph component and cpu graph module 2026-04-08 23:36:47 +02:00
Keepo 72d6a51fb7 fix: fix compile/run bugs from trying to be safer. rip 2026-03-28 23:26:34 -04:00
Keepo 3b512d1a2c feat(client): add support for 8-bit hex color codes in CSS
This allows users to use #RRGGBBAA format in their style.css.
The client now detects 8-bit hex codes, transforms them into
GTK-compatible rgba() syntax, and loads the modified data
into the CSS provider.

- Added utility to detect 8-bit hex patterns.
- Added transformation logic to convert hex alpha to decimal.
- Intercepted CSS loading in Client::setupCss to handle the conversion.
2026-03-28 21:11:15 -04:00
jpk 78bd6c8b87 Remove duplicate from source include 2026-03-05 14:15:29 +01:00
jpk 49db7adc0c Per host checks 2026-03-05 12:29:11 +01:00
jpk 5de21f4a07 Added support for hostname based module addition 2026-03-05 09:04:21 +01:00
Alex 90b209add8 chore: 0.15.0 2026-02-06 21:15:03 +01:00
Max Gautier 2c9e83441a log: use native journald protocol for when running as a service
When running waybar as a systemd service, allows a slighty more readable
and searchable (in particular, by log level) using journal metadata.
2025-12-11 21:58:09 +01:00
Viktar Lukashonak e03119fe94 Factory. cava_frontend 2025-12-09 18:13:45 +03:00
Viktar Lukashonak 3773021546 cavaGLSL 2025-12-07 23:08:55 +03:00
Viktar Lukashonak 13519ca5bf cava. nonsafe thread.= & cava bump 2025-11-26 13:26:32 +03:00
Viktar Lukashonak 966da11f3b cava bump & fixing memory leaks 2025-10-12 14:53:49 +03:00
Viktar Lukashonak 76d3b47ffd Cava back/front end transformation 2025-09-26 23:34:11 +03:00
Viktar Lukashonak cbab9c9713 spdlog bump 2025-09-25 21:46:13 +03:00
Alex 41de8964f1 chore: 0.14.0 2025-08-08 09:15:22 +02:00
Alexis Rouillard f1b7d829c2 Merge pull request #4016 from jp7677/ext-workspaces
ext/workspaces: port from wlr/workspaces to ext-workspace-v1 for a.o. labwc support
2025-08-08 08:18:01 +02:00
Pol Rivero c98cb7095d Merge remote-tracking branch 'upstream/master' 2025-07-06 10:18:59 +02:00
Jens Peters 29bf5d5da1 ext/workspaces: moved/renamed from wlr/workspaces
The ext-workspace-v1 protocol is not wlr/wlroots
specific.
2025-06-29 21:51:31 +02:00
Jens Peters 255c0ebe28 wlr/workspaces: port to ext-workspace-v1
Rework implementation to match new protocol behavior.
2025-06-29 21:51:31 +02:00
Alex 0fcda9afa5 chore: 0.13.0 2025-06-23 09:10:48 +02:00
Alexis Rouillard 0c1f1f2df9 Merge pull request #3544 from nktnet1/hyprland/windowcount
add Hyprland/windowcount module
2025-06-22 09:03:21 +01:00
Alexis Rouillard f27df33280 Merge pull request #3628 from adryzz/gps-module
Add GPS module
2025-06-22 08:59:46 +01:00
Alexis Rouillard a88e5795a4 Merge branch 'master' into wayfire 2025-06-22 08:53:02 +01:00
Khiet Tam Nguyen 6319569ed0 Merge branch 'Alexays:master' into hyprland/windowcount 2025-05-09 20:46:00 +10:00
Pol Rivero 4222032fa1 Merge remote-tracking branch 'upstream/master' 2025-04-29 19:59:42 +02:00
Lena 45ebf45343 Start GPS module 2025-04-18 22:56:36 +02:00
Viktar Lukashonak e85025f805 libCava bump: 0.10.4 2025-04-15 16:33:07 +03:00
Angelo Dureghello 6fd859c0c4 add login-proxy option
There are cases where systemd-logind is not used/running. Result is
that bcklight module will not run.

Add an option that, when set to false, allows backlight module to
work without systemd-logind.
2025-03-22 18:40:47 +01:00
Pol Rivero e541936df9 Merge remote-tracking branch 'upstream/master' 2025-03-08 17:18:31 +01:00
Alex 8490a1d9b9 chore: 0.12.0 2025-02-21 09:04:59 +01:00
Pol Rivero bc2e143ac5 Extract icon loading logic to separate class 2025-01-27 11:46:35 +01:00
YamaD d7e4a7d91f add module wayfire/window, wayfire/workspaces 2025-01-03 15:22:46 +09:00