# # spec file for package waybar # # Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: waybar %define ucname %{lua: ucname=rpm.expand('%{name}'):gsub('^%l', string.upper); print(ucname)} Version: 0.10.4 Release: 1.3%{?dist} Summary: Customizable bar for wlroots-based Wayland compositors License: MIT Group: System/GUI/Other URL: https://github.com/Alexays/Waybar Source0: https://github.com/Alexays/Waybar/archive/refs/tags/%{version}.tar.gz#/%{ucname}-%{version}.tar.gz BuildRequires: cmake # Clang won't compile it BuildRequires: ((gcc13-c++) or (gcc-c++ >= 8)) BuildRequires: pkgconfig(gtk-layer-shell-0) BuildRequires: meson BuildRequires: ninja BuildRequires: pkgconfig # test dependency BuildRequires: pkgconfig(catch2) >= 3.0 # optional: sndio module BuildRequires: pkgconfig(sndio) >= 1.7.0 # optional: clock module # Requires either a version of libstdc++ with std::chrono::time_zone or the date library to imitate it BuildRequires: ((libstdc++-devel >= 13) or (cmake(date))) # optional: mpris module BuildRequires: pkgconfig(playerctl) # optional: man pages BuildRequires: pkgconfig(scdoc) # optional: tray module BuildRequires: pkgconfig(dbusmenu-gtk3-0.4) BuildRequires: pkgconfig(fmt) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gtkmm-3.0) BuildRequires: pkgconfig(jsoncpp) BuildRequires: pkgconfig(libinput) BuildRequires: pkgconfig(upower-glib) # optional: mpd module BuildRequires: pkgconfig(libmpdclient) # optional: network BuildRequires: pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-genl-3.0) # optional: jack module BuildRequires: pkgconfig(libevdev) BuildRequires: pkgconfig(jack) # optional: pulseaudio module BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(sigc++-2.0) BuildRequires: pkgconfig(spdlog) BuildRequires: pkgconfig(systemd) # optional: wireplumber module BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(wireplumber-0.5) # Wayland BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(xkbregistry) # requires branding # NOTE: unversioned branding is required to avoid issues like bsc#1205950 Requires: %{name}-branding # Default configurations require Fontawesome 6 Requires: font(fontawesome6free) # Scripts often use it to present data from JSON. Recommends: jq %description A customizable bar for wlroots-based Wayland compositors. It comes with modules for pipewire, alsa, backlight, and bluetooth. Other modules can be found in the manpages of Waybar. %package branding-upstream Summary: Upstream branding of %{name} Group: System/GUI/Other Requires: %{name} = %{version} Supplements: (%{name} and branding-upstream) Conflicts: %{name}-branding Provides: %{name}-branding = %{version} BuildArch: noarch #BRAND: /etc/xdg/waybar/config contains upstream config #BRAND: /etc/xdg/waybar/style.css contains upstream style %description branding-upstream This package provides the default look and feel. %prep %autosetup -p1 -n %{ucname}-%{version} %build # Make sure to use the proper GCC version instead of an alternate compiler. # The OpenSUSE original SPEC file (though OpenSUSE-specific RPM macros, so my # method is a little different) preferred GCC 13, so might as well. command -v g++-13 >/dev/null 2>&1 && CXX=g++-13 || CXX=g++ command -v ccache >/dev/null 2>&1 && CXX="ccache $CXX" export CXX %meson -Dcava=disabled -Dtests=enabled -Dsndio=enabled %meson_build %install %meson_install %files %{_bindir}/waybar %{_mandir}/man?/%{name}* %{_prefix}/lib/systemd/user/waybar.service %files branding-upstream %dir %{_sysconfdir}/xdg/waybar %config(noreplace) %{_sysconfdir}/xdg/waybar/config.jsonc %config(noreplace) %{_sysconfdir}/xdg/waybar/style.css %changelog * Fri Nov 3 2023 Joshua Smith - Update to 0.9.24: * Hotfix for #2631 due to #2629 causing high CPU load * Fri Nov 3 2023 Michael Vetter - Update to 0.9.23: * Fix simpleclock module compilation with recent fmt #2412 * Add format-no-controller to bluetooth module and fix it still being visible if the format string is empty #2413 * chore: update subprojects #2420 * feat(keyboard-state): add binding-keys options #2424 * Hyprland urgent class support #2429 * Show workspaces on all outputs if persistent_workspaces value is empty #2442 * Release button event second attempt #2414 * hyprland/workspaces: Add "empty" icon and class #2431 * hyprland persistent workspace support new config declaration #2438 * Hyprland linting cleanup #2457 * sni: fix passing relative coordinates to dbus methods #2417 * Display battery percentage as weighted average of battery levels #2134 * modules/hyprland: Fix segfault when attempting to set_urgent on a missing workspace by @xercesblue #2460 * hyprland/workspaces: react on renameworkspace event #2466 * Implement 'active_only' option and 'visible' class in hyprland/workspaces #2408 * Hyprland/workspaces: add urgent icon #2477 * fix: rename workspace active fix #2485 * feat: hyprland workspaces add sort-#2486 * deprecate persistent_workspaces in favor of persistent-workspaces #2468 * search for dark or light mode stylesheet #2470 * Update workspaces.cpp #2507 * Fix battery not showing for some devices #2494 * fix(backlight): wrong percentage numbers for device apple-panel-bl #2518 * Lighter Weight Signal-Based Custom Modules #2517 * hyprland/workspaces: use name as fallback icon #2534 * Fix: Hyprland's special workspaces aren't cleared #2540 * Feature: Hyprland dynamic window names on workspaces #2529 * Adding options to allow disk outputs to always be in a specific unit. #2558 * Feat/Hyprland/Workspaces: Ignore workspaces #2568 * Revise cava module to hide on silence #2554 * Feat/Hyprland: Allow matching against Window Titles for Rewrite #2563 * Feature: Group Drawers #257 * fix(modules/mpris): fix on-*-click typos #2560 * Feature: Fantastic Sliders and Where to Find Them (Audio, Backlight and Abstract Sliders) #2575 * Split cpu module #2114 * fix clock to work with fmt 10.x #2515 * Fix: Hyprland/Workspaces' windows disappearing when moving around #2578 * Lint header files with hpp file ending #2589 * Fix potential memory leaks #2586 * Custom module: Allow signal without interrupt #2588 * Show the network interface with highest priority (aka lower metric) #2585 * Revert "Fix potential memory leaks" #2599 * modules/mpris: change default interval value to 0 #2596 * docs: fix typos and improve language coherence #2593 * General cleanup in hyprland/workspaces #2592 * Fix: Hyprland/Workspaces workspaces not being created as persistent when they already exist at startup in #2605 * Reduce freebsd ci timeout #2609 * Fix sleep_for for max duration #2601 * Fix FreeBSD build error and increase freebsd ci timeout #2611 * Fixed variable synchronization exception caused by the "hyprland/workspace" module #2613 * Skips logging NoActivePlayer error msgs #2622 * fix: custom: do not crash if input text is not valid utf-8 #2624 * Cava bump #2623 * Happy Linter #2625 * tray: load_icon use request_size directly #2626 * hyprland/workspaces: fix crash on monitor off/on #2628 * custom: reap zombie processes on termination #2629 * Thu Aug 17 2023 Michael Vetter - Update to 0.9.22: * Explicitly cast ustring to string when passing to fmt #2409 * fix: typo in taskbar.cpp #2404 * Tue Aug 15 2023 Michael Vetter - Update to 0.9.21: * sway/window: app_id on unfocused workspaces #2234 * cava bump #2328 * cava man page #2333 * [sway/workspaces] feat: add high-priority-named optiion #2336 * Mediaplayer improvements #2323 * time conversion between time zones #2340 * Use C++20 #2322 * hyprland/workspaces improvements #2316 * Clock. Narrow seconds precision #2345 * hyprland/workspaces fix typo #2347 * hyprland/window start behavior fix #2352 * tooltip-format spaces breaks pango format #2360 * Manpage fixes #2365 * Fixed sway IPC compile warnings #2366 * man: Fix several whitespace formatting issues #2367 * Persistent workspaces in hyprland/workspaces #2341 * Fix logical errors, formatting error #2373 * flake: fix infrec in package overlay #2370 * Change default workspace format #2377 * Updated hyprland-workspaces manpage #2401 * Button release action #2399 * Hyprland/workspaces: use named icons instead of searching #2393 * docs: fix Arch repository name #2402 * Tue Jul 25 2023 Soc Virnyl Estela - Use upstream tarball. Remove service files. * Tue Jul 18 2023 Michael Vetter - Update to 0.9.20: * Fixed build warnings #2282 * hyprland/window: Add .hidden CSS class, account for hidden & fullscreen windows #2270 * Unbreak modules without DBus #2284 * hyprland/window: Fix no info with separate-outputs=true #2286 * fix, default to true, sway/workspaces: warp-on-scroll #2293 * clock: handle timezone changes (again) #2296 * hyprland/window expose more data #2294 * App Icons for hyprland/window #2303 * hyprland/window: Fix overlap with .hidden class from default style #2307 * hyprland/window: rename .hidden to .swallowing (and fix grouped windows) #2308 * backlight: do not convert percent to string in fmt #2317 * hyprland/backend: Fix JSON parser runtime error #2321 * Fix wrong name for {name} #2306 * Ensure signal is disconnected in destructor #2324 * hyprland/language: Differentiating keyboard layout variants #2326 * hyprland/window remove duplicate empty css #2318 * Tue Jul 4 2023 Joshua Smith - Update to version 0.9.19: * Fix broken link in README * fix(dwl-module): fix typo to avoid null pointer * river/window: Add tooltip. * Fixing 'incomplete type error' during building * [hyprland/window] Add css class for empty window name * Small performance fixies * Tray module causes: Invalid id passed to g_bus_unwatch_name() * deprecated: implicit capture of 'this' via '[=]' * [sway/workspaces] fix: change icons priority * Lift reverse-scrolling option into AModule * sway/window: fix appid style not cleared * Issue#2204 * Upower native-path filter * More robust Hyprland backend * hyprland/window: Add CSS customization similar to sway/window * support multiple items in hwmon-path of temperature module * [wrl/taskbar] fix: use empty class for empty taskbar * Add output port (display) of workspace to template function of sway/workspace * Fixed some build warnings * feat: hyprland/workspaces * Refresh Gentoo docker * Wake all sleeping threads when leaving suspend * Fixes for hyprland/workspaces * Don't apply reverse scrolling to mice wheels * wireplumber: Support for scrolling * Fix random segfault on GTK icon functions * [hyperland/workspaces] fix: segfault on create/destroy * Catch2 bump * Fix rare segfault when destroying workspace * Stop MPRIS module from updating every ~20ms * wlr/taskbar: add support for rewrite rules * Add a new start_hidden flag * Image tooltip * improve nix dev shell; override the nixpkgs waybar * sway/workspaces: setting to not warp to window when scrolling * mpris: dynamic tag ordering and separator customization * Add output parameter format to manpage * Partially revert 3af1853 to fix use-after-free * Mon Jun 19 2023 Filippo Bonazzi - Add fontawesome font as recommended * Mon May 29 2023 Filippo Bonazzi - Update to version 0.9.18: * fix: battery time remaining * Sway window newstyles * fix(wireplumber): waybar crashes when default node changes * get_desktop_app_info: fix crash on failed DesktopAppInfo::create * hyprland/submap: run initial render on startup * GCC 13 and C++20 support * Allow any module to implement signal handling * modules/custom: Added percentage rounding * Sanitize hyprland language string only instead of the whole format * Year calendar * Clock. Proper handletoggle propagation * Clock. Formating simplify * Image module CSS fix * Fix kbName initialization * fix(wireplumber): free(): invalid pointer * When no one timezone is provided use system's TZ * Fixing memory leak on update UPower tooltip * Clock. Calendar. Avoid of unnecessary string transformation * Backlight: add brightness control * Set Image path from executable file (Image Module) * Remove repeated "the" and fix some typos * AModule implements module actions call * add river/layout * feat(sway): add workspace css class * Revert "feat(sway): add workspace css class" * AModule enable_click & enable_scroll * Clock tz try catch * group module: configurable orientation * Happy clang * fix: mpd bug paused with no song. * Wireplumber: Free the default node name * refactor: make linter happy. * config:output:Allow multiple exclusions & wildcard * custom module: free memory returned by libc's getline * modules/clock: fix calendar shift in months with 31 days * mpris: add tooltip, length limits, position tag * wlr-taskbar: allow sorting by app_id * [hyprland/language] Add more format replacements. * sway/window: Rewrite entire format output instead of just the title * mpris: fix css class application * Generate wireplumber module man page * Made use of node_id_ * today style not applied to new date 1 day after starting waybar * Cava module * pulseaudio apply states * backlight: support tooltip * mpris: fix non-dynamic tags not being html escaped * Persistent workspaces for [wlr/workspaces] * Add DWL tags module * fix: use getaddrinfo() instead of gethostbyname() * river/tags: refactor to support special purpose tags * Fix hyprland language initialization problem * network: detect if link is p2p and use local addr * cava: shared library is not found * [wlr/workspaces] Separate CSS class for empty persistent workspaces * Add persistent format-icon to wlr/workspaces * mpris: Hide label if empty * mpris: Fix incorrect format replacement names * File descriptor handling bugs * Fix SEGFAULT in battery module * Update to new ipc version - Disable cava module due to missing libcava - Drop 0000-replace-gethostbyname-getaddrinfo.patch (fixed upstream) - Drop 0001-require-date-dependency.patch (changed upstream) - Drop ca9d237b00b4d01f341b0d7bc938afb10a4f8cad.patch (fixed upstream) * Sat Apr 1 2023 Bjørn Lie - Add ca9d237b00b4d01f341b0d7bc938afb10a4f8cad.patch: Fix(sway): add missing includes for GCC 13 * Mon Jan 16 2023 Filippo Bonazzi - Remove `changesgenerate` service Upstream provides a better changelog than the one this service is able to generate from git commits. * Wed Jan 11 2023 Filippo Bonazzi - Update to version 0.9.17: * Add image module * Upower click * feat: add icon support to the wireplumber module * fix: wireplumber module when used with a bluetooth device * Allow the calendar month scrolling to be inverted * User Module: added file existence check * Don't search "Keyboard at" from hyprland/language * Hide module if text resolves to being empty * fix AIconLabel spacing between image and label * feat(battery): add macsmc-battery time remaining support * fix(calendar week numbers) * fix(battery): ignore non-system power supplies * Calendar week numbers * format-calendar-weeks won't accept format strings * Fix hyprland language initialization issues * Minor refactorings and formatting fixes for hyprland language module * Implement hyprland submap module * Fix wrong layout name in hyprland language module when a variant is used * modules/clock: improve ux when calendar_shift is used * sway,feat: allow alphabetical sort * fix: cpu_load pushed twice to the vector * Add mpris module * Activate CI for mpris module * Fix GTK crash due to wlr/workspace module upon reconnecting monitor * Tue Dec 13 2022 Filippo Bonazzi - Fix: actually use the date library dependency provided by hhdate * add 0001-require-date-dependency.patch * Mon Dec 5 2022 Filippo Bonazzi - Fix: do not require versioned branding (bsc#1205950) - Add dependency to hhdate library now in Factory - Add _service file back now that we don't need to modify the source tarball - Move to obscpio archive to save space * Fri Dec 2 2022 Soc Virnyl Estela - Add 0000-replace-gethostbyname-getaddrinfo.patch * Fri Dec 2 2022 Soc Virnyl Estela - Update specfile and remove deprecated functions. - Improve description to remove rpmlint warnings. * Thu Dec 1 2022 Soc Virnyl Estela - Fix sources on spec file. - Remove service file that was overlooked - Add back the tarball containing the downloaded subprojects - Add wireplumber dependency * Tue Nov 29 2022 Filippo Bonazzi - Update to version 0.9.16: * Revert breaking changes introduced in 0.9.14 * button: Remove AButton class * modules: Revert button to label * Battery: "Plugged" status for TLP settings * fix: don't escape mpd label twice * Make backlight module respect format- config * feat(backlight): hide if the display is powered off * Do not crash when a monitor is removed * normalize capacity by number of batteries * clicking on the user label opens the default file manager * User module: fix call parent event handle, added command to open user folder * Recognize outputs with 'bluez' in monitor name as bluetooth class * feat: wireplumber support * fix custom module leaves zombie processes behind when bars are removed * Fix crashes when using named workspaces in Hyprland * Thu Nov 3 2022 Michael Vetter - Update to 0.9.15: * Added gamemode man file to meson #1566 * upower: unbreak build on libc++ systems (FreeBSD, OpenBSD, Chimera) #1567 * fix: vertical bar not anchored when width is set #1571 * fixes bluetooth module #1576 * Advertise river modules #1578 * river/mode: new module in #1579 * README.md: add river/mode to feature list in #1580 * Add total bandwidth formatting options #1575 * Retain instance name css class for custom modules #1588 * pulseaudio: avoid retaining outdated form factor #1590 * Last weekday applies Unix fmt #1599 * New Gentoo CI #1612 * CI: upgrade FreeBSD version to avoid future breakage #1621 * battery: fix wrong definition for "format" #1624 * Language: Add layout as class name #1628 * fix: adapt to fmt 9.0.0 breaking changes #1617 * CI: prevent FreeBSD breakage in future #1637 * Added UPower to README #1638 * sni: Use the pixmap if for the given icon name an icon could not be found #1627 * mpd: add filename formatter #1631 * Added a Hyprland backend and a Window module #1656 * Feature: sway/window can show 'shell' parameter #1651 * #1591 river escape window and mode #1668 * fix(network): dont escape essid in tooltip #1669 * scale icons for HiDPI monitor #1670 * style(lint): fix some files lint #1672 * add JACK module #1653 * Added a basic hyprland/language module #1657 * Add 'max-volume' option to pulseaudio #1659 * Add support for reading the config path from env #1600 * feat(idle-inhibitor): add tooltip format #1678 * Issue#1545. Calendar scrolling opportunity #1646 * Add battery format-time option for zero-padded minutes #1412 * added checking router id in handleEvent function, because module does… #1685 * Revert "added checking router id in handleEvent function, because module does…" #1686 * FreeBSD: Add support to temperature #1702 * mpd: encode "&" signs to "&" for gtk braunschweig in #1710 * Add config option to ignore Pulseaudio Sinks #1636 * Add config value for inhibitor default state. #1720 * Fixed pulseaudio max-volume configuration #1704 * Escape text in custom module #1687 * Use GtkButton instead of GtkLabel for Modules #1120 * Some logic issues in battery.cpp #1679 * Fix binary pow formatting for values between 1000 and 1024 #1630 * [FreeBSD] Use thermal-zone #1705 * [hyprland/window] Add option to show active window on a per monitor basis #1719 * pulseaudio: disconnect on destruction #1728 * [sway/scratchpad] New module for scratchpad of sway #1667 * added user module #1701 * Remove border effect on hover #1729 * [hyprland/window] Fix crash on quickly switching workspaces #1733 * Add option to wlr/workspaces to sort workspaces by number #1721 * FreeBSD: Add support to battery #1703 * Fix battery indicator crash on linux #1736 * Set default minimal width of buttons to zero #1737 * Fix button padding #1738 * Fix build with catch2>=3.0.0 #1724 * [hyprland/window] Implement rewrite option like in sway/window #1730 * Improve keyboard response time and enable hotplug support #1661 * Fixed gamemode module segfaulting when disconnecting monitor #1740 * fixed memory module not rounding numbers #1744 * taskbar: implement drag-and-drop task reordering #1747 * Revert "Escape text in custom module" #1758 * Tue Nov 1 2022 Soc Virnyl Estela - Fix spec file to use catch2 >= 3.0 * Thu Oct 27 2022 Michael Vetter - Update to 0.9.14: No changelog. Too many commits to list. Please see https://github.com/Alexays/Waybar/compare/0.9.13...0.9.14 - Remove waybar-0.9.13-fmt-compat.patch - Use catch2 >= 3 - Enable sndio * Sun Oct 16 2022 Chris Bradbury - waybar-0.9.13-fmt-compat.patch: Add upstream patch 1617 to fix build with fmt>=9.0.0 - Use Catch2 < 3.0 due to upstream incompatibility with Catch2 >= 3.0 * Sat Jun 4 2022 Arnav Singh - Recreate source tarball with submodules downloaded as before. Otherwise the clock module was replaced with the simpleclock module because libdate subproject was missing. * Tue May 24 2022 Denys Kondratenko - Update to 0.9.13: * use moon phases for backlight format-icons #1478 * Use user-defined mode when toggling visibility rather than resetting to default #1479 * sway/language: Load exotic xkb rules too #1480 * Battery module. Gamepads support #1481 * Hide/Unhide temperature module when "format*" is empty. #1485 * feat: added network speed in Bytes #1489 * Upower module #1484 * Add option to display week number on calendar #1315 * Upower fixes #1493 * Battery module support for rk817 #1495 * Waybar. Issue#1068. Double/Triple events #1499 * refactor: change enum ipc_command_type to uint32_t #1516 * Add disabled bluetooth style #1518 * #1315. Add option to display week number on calendar #1492 * Sway/window: Only update icon from main thread #1522 * sway/window: Allow the user to change the size of the app icon #1523 * bar: don't set layer-shell anchor for edges when width is not 'auto' #1524 * Replace sleep_until with sleep_for to prevent clock from getting stuck with system time adjustment #1500 * Show hidden bar #1510 * Backlight: avoid crash on getting brightness fails #1530 * Add a config to set a timeout for the idle_inhibitor module #1454 * network: calculate bandwidth for current interface #1527 * feat: extend bluetooth module #1540 * Add classes to individual keyboard state labels #1551 * Calendar module: localization issue #1552 * Prevent segfault in getCpuFrequency #1563 * Issue#1556. Battery module: a lot of warnings when battery dissapears #1557 * Gamemode Module #1554 * Calendar module: localization issue #1552 #1555 * sway/window: Add heuristics for finding icons #1525 * River Window Module #1562 * Thu Mar 10 2022 Michael Vetter - Update to 0.9.12: * Update network.cpp * Fixed English mechanics: grammar, punctuation, and styling. * Thu Mar 10 2022 Michael Vetter - Update to 0.9.11: * Update waybar-sway-window.5.scd * refactor: disable icon by default * man: document icon in sway/window module * Feature Clock: show list of time in other timezones in a tooltip * Mon Mar 7 2022 Michael Vetter - Update to 0.9.10: * avoid use-after-free in lambda * style.css: add fontawesome to beginning of font list * Fix remaining posix compatability issues in keyboard_state * Don't use gnu extensions which are too new for debian and ubuntu * Make error messages portable * Improve keyboard_state error messages * limit cpu load figure to 2 points * Add 1 to songPosition in the MPD module * fix #1431: audio output does not update on unplug * move Glib ustring format helper to utils * remove duplicated string manipulation methods * ltrim and rtrim take argument by const-ref * make functions in header file inline * Update man page clock module - tooltip * Fix disabled tooltip on clock module * Update spotify example to work on copy paste * Properly initialize distance_scrolled members. * Fix Typo in Example for sway/mode * Add config option "reverse-direction" * use pack_end instead of pack_start * sway/language: fix segmentation fault for layouts not found in XKBContext * Show application icon when using sway window module * battery: read status with spaces * Use locale when formatting clock * fix(man): add missing newlines to wlr docs. * created a hotfix for libfmt-8.1.0 and above * removed commented useless runtime errors * changing want_route_dump to default to true, since we say we have gwaddr support * maybe we shouldn't actually runtime error, but still doing a check * explicitly checking for errors to silence unused variable warnings when writing to fd * Add man * Add swap flags * Wed Feb 16 2022 Antonio Larrosa - Use g++-11 when building in Backports/Leap 15.4 since otherwise the compiler is too old. * Mon Jan 10 2022 Michael Vetter - Update to 0.9.9: * resources: don't break tray icon checkboxes via CSS * chore: add `tzdata` to the alpine builder * fix(util): make waybar_time formatter compatible with fmt 8.1.0 * chore: bump supported fmt ver to 7.0.0 * fix: match sway workspace order with sway one * fix: Missing tasks * Add `fixed-center` option * add to network module - signalStrengthApp shows what applications can run at current signal strength * change frequency to GHz * change signal strength to penalize overly strong signals * man: Add waybar-inhibitor man page * Add logind feature, with its 'inhibitor' module * bar: Fix crash when unplugging HDMI * Adjust max wifi strength that is possible * Allow sink in addition to source for pulse icon * feat(bar): allow customization of bar modes * fix(swaybar-ipc): avoid unnecessary copy of struct swaybar_config * mediaplayer.py: Exit properly on SIGPIPE * Checking if emoji byte doesn't get out of bounds * Add {flag} format replacement * fix(bar): handle ipc connection errors. * Fix sort * fix(swaybar-ipc): better logs * doc: document swaybar ipc options, `ipc` and `id` * river/tags: Add possibility for mouse clicks * Ensure MPD volume is not negative * Fix divide by zero (#1303) * Fix Clock crash on empty string in timezones field * sway/window: include floating_nodes when considering window count for class * fix(tray): fix visibility of Passive items * Update catch2 dependency 2.13.3 -> 2.13.7 * Add cpu usage for every core * sway/language: remove tabs, indent with 2 spaces * Revert "Add CPU usage for every core" * fixed wrong dependency for make target * Add CPU usage for every core * fix(config): preserve explicit null when merging objects * added support for the {gwaddr} variable * round brightness * Only use g_memdup2 for glib >= 2.68 * Switch network module to read /proc/net/dev * Fix memory leak and data race * Fix tray icon scaling on multi-display setups * Fix leak * Add shortDescription * feat(swaybar-ipc): handle visibility_by_modifier update * feat(swaybar-ipc): handle mode update * feat(swaybar-ipc): add swaybar IPC client * feat(client): store bar_id argument * feat(bar): attach CSS class `mode-{mode}` to window when setting mode * feat(bar): use "default" mode to store global options * feat(bar): store modes as a map of presets * feat(bar): support swaybar `mode` for configuring window * test(util): add tests for SafeSignal * feat(util): optimize SafeSignal for events from the main thread * fix(util): avoid creating temporary functor for each event * feat(util): SafeSignal class for cross-thread signals with arguments * Fix docs typos Add removing buttons Adjust handling multiple outputs. * Add docs and adjust sorting * Finish base implementation * Add formatting and states handling * Add base name representation * disk: make used calculation match df(1) output * Wed Dec 8 2021 Jan Engelhardt - Declare g++ >= 8 is needed for building. * Mon Aug 16 2021 Michael Vetter - Update to 0.9.8: * Fix incorrect tray icon scaling * Don't start if graphical-session is not running * feat(tray): handle Status property * feat(tray): handle scroll events * feat(tray): fallback to Title for items without ToolTip * feat(tray): implement tooltips (text only) for tray items * refactor(tray): infer changed properties from signal name * fix(tray): ignore unused WindowId property * Fix blurry tray icons for HiDPI displays * Remove unused variable * Add man page for keyboard_state module * Search for device automatically if none given * Add default style * Update css class when locked/unlocked * Add more configuaration * Basic keyboard state module * Fix pulseaudio icon name compilation error * pulseaudio: Control currently running sink * Support per-device icon in pulseaudio * Improve sway/language * Do not fail to parse a multi-bar config * libfmt >=8.0.0 compatibility * Add include man section * Workaround for circular imports * Proper formatting * Add recursive config includes * fix(util): protect std::condition_variable methods from pthread_cancel * network: Fix mix use of default and state specific format * network: Fix one case where default route is deleted without notification * network: Handle ip route priority * network: Also clear ifname in clearIface() * network: Parse whole RTM_NEWROUTE msg before interpreting it * sway-language: ignore events with empty layout * network: Update WiFi information when available * network: Fix use of carrier information * doc: add man for exclusive and passthrough flags * feat(bar): add config flag to disable exclusive zone * feat(bar): add config flag for pointer event passthrough * Add options to use a .json extension for the config filename * network: Handle carrier information * network: Rework interface auto detection, handle route change events * network: Rework address lookup to use only events * network: Rework initial interface search by using a dump * network: Read all available messages on ev_sock_ * network: Start the module with some text in the label_ * network: Initialise cidr_ like clearIface() does * Fix power calculation when battery units are in μA instead of μW * fix: incorrect battery percentage on Pinebook Pro * fix: bluetooth status tooltip * rewriteTitle: allow multiple sequential rewrites * [modules/battery] allow format-discharging-full * [modules/pulseaudio] fix bluetooth class for PipeWire * Document changes in manpage * Catch exception on erroneous rules * Add option to rewrite sway/window title * feat: implement mpd volume format template * Remove exceed protected * Add ignore-list param to wlr/taskbar - Remove waybar-0.9.7-fmt-compat.patch: upstreamed * Tue Jul 13 2021 Michael Vetter - bsc#1188200 - waybar undefined symbol: Add waybar-0.9.7-fmt-compat.patch * Mon Apr 19 2021 Michael Vetter - Update to 0.9.7: Changed: * Improve Pulseaudio sink/source separation * [Module CPU] fix crash due to empty frequencies * Mon Apr 19 2021 Michael Vetter - Update to 0.9.6: Added: * Implement support for reloading of config files. #842 * Add simpleclock as fallback when hhdate is not available #903 * Add option 'tag-labels' to river/tags #980 * Add "tooltip-format" to temperature module #891 * Support format-{state} for cpu/disk/memory #881 * Allow customization of battery module tooltip #830 * Add an option to use battery design capacity #964 * Add power formatter to battery module #996 * Add a way to configure auto_back_and_forth on Sway workspaces #1014 * Terminate custom module scripts on exit #1032 * Add length limits for MPD module tags #1002 * Add style for battery state "plugged" #1056 * Add default styling for disk module #1051 * Add cpu min/max/avg frequencies #1037 Changed: * Fix Sway #waybar.solo CSS rule applying on split #946 * Fix for group module selectors when bar is vertical #959 * Added waybar_output.identifier support. #956 * Fixing logic in getIcon #965 * Fix issues in wlr/taskbar #969 * Fix duplicate bars on xdg_output property changes #992 * Update waybar-bluetooth.5.scd #1003 * Improved wlr/taskbar icon search. #1006 * [calendar] CJK locale formatting #1007 * [wlr/taskbar] More icon search improvements. #1011 * [wlr/taskbar] Fix unhandled exception crash when icon name is a path. #1018 * [wlr/taskbar] Check StartupWMClass #1021 * Disable Idle Inhibitor module if unsupported #1026 * Rfkill code refactoring #1015 * Configure systemd.service file to allow reloading #1036 * fix: schedule output destruction on idle callback #1035 * Fix: CPU load values #1050 * meson.build: add missing waybar-sway-language manpage #1052 * Use the correct battery status when multiple batteries are present #1061 - Remove 1015-rfkill_code_refactoring.patch: upstreamed * Sun Mar 14 2021 Matej Cepl - Add 1015-rfkill_code_refactoring.patch to avoid gh#Alexays/Waybar#994 and boo#1183499. * Mon Jan 4 2021 Michael Vetter - Update to 0.9.5: https://github.com/Alexays/Waybar/compare/0.9.4...0.9.5 * Mon Sep 21 2020 Michael Vetter - Update to 0.9.4: Added: * Add option for no workspace switch on click #817 * Add IDs to sway workspace buttons for CSS styling #819 * Add ability to switch timezones on scroll #821 * MPD: Add song position and queue length * Add an "exec-on-event" config for the custom module #851 * Add format for memory tooltip #847 Changed: * Fixed a signal issue with custom modules #778 * Switch workspace on mouse-down to match swaybar #800 * Taskbar string fixes #798 * Systemd now using standard targets #801 * Fixed fmt crash after update #813 * Rfkill is now optional #823 * Fixed network status update #861 * Fix resizing of the bar with gtk-layer-shell #824 * Fix, prevent line breaks in ellipsized labels #828 * Fix "restart-interval" in the custom module #840 * Allow enabing pango markup in the taskbar string #814 * Thu Aug 6 2020 Michael Vetter - Update to 0.9.3: Added: * FreeBSD support tada #425 * Taskbar module tada #692 * Added an on-update option to all modules #402 * Network: Added Rfkill status #568 * Bluetooth: Basic new module #568 * Added a way to exclude specific output #596 * Temperature: Add kelvin-scale #683 * sway/workspaces: Added current_output CSS class #693 * River status module #745 Changed: * Fixed AMD brightness e01a081 * Fixed full-at #680 * sway/workspaces: sort by the "num" property provided by sway #696 * Clock: prefer default fmt format when not using a timezone #715 * Fixed exec-if hidding 3b16946 * Fixed SIGSEV/BLOCKING bar while changing/removing output 6e7f22a * Battery: add check for battery type 401ea05 * Fixed Workspace back and forth unwanted behavior 0080feb * Fixed persistent workspace position #783 * Network: make nl80211 dep optional fb8cda9 * Updated date, gtk-layer-shell subproject #797, Fixes #776 #780 #530 #750 * Mon Jun 22 2020 Denis Kondratenko - package shouldn't require specific branding version, just a package * Sat Jun 6 2020 Denis Kondratenko - Add separate branding package * Sun Apr 12 2020 Michael Vetter - Update to 0.9.2: Added: * Battery: full-at config, define the max percentage of the battery #649 Changed: * Support libc++ >=9.0.0 #583 * Sway: add missing unordered_map include #584 * Network: fix label text not updated properly when formats contain Unicode characters #589 * Pulseaudio: Fix alt #592 * Pulseaudio: track default source/sink changes #599 * Tray: Use the same StatusNotifierWatcher for all trays #598 * Pulseaudio: track only the default sink and source #603 * Systemd service: fix start up ordering #612 * Fix: set exclusive zone early for gtk-layer-shell #613 * Readme: ubuntu dependencies #615 * Temperature: Added support for absolute device paths #624 * Switch default Makefile rule from run to build #625 * Memory: provide better free memory approximation on old kernel #629 * Pulseaudio: fallback to default muted format 9acf558 * Custom: restore SIGCHLD settings to SIG_DFL #636 * Custom: check WIFEXITED ec451b5 * Pulseaudio: Start wait for server #651 * Sway/Workspaces: default value unstripped, add value format option 27fbea2 * Wed Mar 25 2020 Denis Kondratenko - Update to 0.9.1: Added * Clock: Add timezone support tada #560 * Clock: Current month calendar in tooltip tada#570 * Mpd: add paused format string #543 Changed: * Network: hide on empty format c885be3 * Mediaplayer: Show title if artist isn't available #534 * Fixed: WindowId recieves 'u' #536 * Man: adding and clarification of configuration options #541 * Add info on "on-click-middle" option to custom module man page #529 * Network: add missing include #546 * Tray: Keep aspect ratio when scaling tray icons #548 * Fixed SIGSEGV on Monitor Disconnect/Connect #555 #578 * Pulseaudio: Use PA_PROP_DEVICE_FORM_FACTOR for device icon #550 * Pulseaudio: Adapt icon names to form factors #571 #577 * Clock: lower precision of zoned_time to avoid fractional seconds in output #579 - new 'date' library added to the sources archive * added to the subprojects dir with 'meson subprojects download' * it is a dependency for the Clock * https://github.com/Alexays/Waybar/issues/594 - changing Sources to local archive as it packs additional `date` submodule * OBS checks would fail if it points to the exernal sources * Sat Dec 28 2019 Michael Vetter - Add dependency on systemd and new gtk-layer-shell-devel * Sat Dec 28 2019 Michael Vetter - Update to 0.9.0: Added: * Use GTK Layer Shell for working Popups #441 * Disk module #471 * Man pages option #443 * Battery: format time #455 * Systemd user unit #460 * Detect timezone changes #480 * Pulseaudio: export desc as a format #507 * Toggle opacity #510 Changed: * Fix man memory description #444 * Fix output typo #445 * Fix typo: persistant -> persistent #446 * Fix exclusive zone #447 * Network: clamp signal strength 334bc1e * MPD: take lock in waitForEvent to prevent SIGABORT #467 * Pulseaudio: audio scroll bound #475 * Thu Dec 19 2019 Dominique Leuenberger - BuildRequire pkgconfig(libudev) instead of libudev-devel: Allow OBS to shortcut through the -mini flavors. * Mon Sep 23 2019 Bjørn Lie - Pkgconfigy spec, ensure the correct BuildRequires are pulled in. * Tue Sep 3 2019 Michael Aquilina - Add scdoc build dependency for generating waybar man pages * Fri Aug 30 2019 mvetter@suse.com - Update to 0.8.0: Added: * Manual #431 * Muted bluetooth format #429 * Support sway/mode pango markup #442 Changed: * Fixed fmt 6.0.0 breakup #439 * Fixed stack-use-after-return8f9e6c1 * Fixed Tray dbusmenu delay and initial render #438 * Tue Aug 20 2019 mvetter@suse.com - Update to 0.7.2: * Fixed crash on output unplug bb99e6c * MediaPlayer script: Ignore selected player if not defined #421 * Fri Jul 12 2019 mvetter@suse.com - Update to 0.7.1: Added: * Added css class for window name and position #397 Changed: * Fixed workspaces scroll deadlock #403 * Fixed pulseaudio scroll #405 * Mon Jun 24 2019 mvetter@suse.com - Update to 0.7.0: Added: * Scrolling threshold #381 * Total memory #385 Changed: * Improved scroll behavior * Fixed sway/window not showing window title sometimes 486b5a5 * Fixed sway/window not showing floating window title dabe2be * Sat Jun 15 2019 mvetter@suse.com - Update to 0.6.9: Added: * Added monitor name as bar class 46e5dd9 * Added class for persistant workspaces c2e9ed6 Changed: * Fixed custom module exit status 564fdcb * Avoid expand sway/window width 3c9b533 * Tue Jun 11 2019 mvetter@suse.com - Update to 0.6.8: * Fixed window app class 1962caf * Fixed static custom module 9dbf057 * Only watch pulseaudio change events 0b01b35 * Mon Jun 3 2019 mvetter@suse.com - Update to 0.6.7: * Better network events handler ecec02c * Hide custom module on empty text be2fa74 * Code cleaning and Some optimizations * Wed May 22 2019 Michael Aquilina - Update to 0.6.6: Added * Pulseaudio microphone state bb4af29 * Persistent workspaces #330 * Logger #332 * Estimated battery remaining time until empty/full #331 Changed * Switch between network ifaces upon disconnection 48a58cd * Brightness amd fix #336 * Fixed some clock issues #333 * Wlroots dependency removed 03e43f * Escape sway mode 12a251c * Wed May 22 2019 Michael Aquilina - Update to 0.6.5: Added * Network bandwidth support (traffic) #328 * Network frequency tag cb2d6e1 * Update custom modules on click/scroll ff28de0 Changed * Execute Modules update on gtk idle aa385e2 * Fixed battery plugged state 17291df * Fixed gtk error on output plug/unplug f8a4759 * Fixed tray button behaviour d2d9db2 * Network code optimizations d34c3a8 4865a9a aa385e2 * Workspace scroll changes 1e95f5d 0d59f7b 3e1c77d * Wed May 22 2019 Michael Aquilina - Update to 0.6.4: Added * Temperature format-icons fcb23d3 * Battery plugged but not charging status 5b3402e * Network linked state/format #319 * Able to scroll throught workspaces from bar blank spaces #322 * Battery format-icons by states 4b4b74d Changed * Network refactor #319, closes #292 #230 #239 * Fixed network module compilation on Alpine e12766a * Fixed window classes 62f8af8 * Fixed state order for modules 92967c7 7e8eee0 * Fixed pulseaudio scroll override 4f1defe * Fixed sigsev on output plug/unplug 362c393 0c3c548 * Fixed tray items duplication b54160e * Wed May 22 2019 Michael Aquilina - Update to 0.6.3: Changed * Fixed battery module compilation on older system 80e9ea7 * Fixed pulseaudio bluetooth format e343cf4 * Remove empty and solo classes when they do not apply 7cdde05 * Wed May 22 2019 Michael Aquilina - Update to 0.6.2: Added * Gaps/Margins 4688002 * Idle inhibitor click arguments 5623bbe * Battery states adapted to backlight, cpu, memory, network, volume percentage values #297 Changed * Title flickers fixed 74137be * Fri May 3 2019 mvetter@suse.com - Update to 0.6.1: Added: * Labels rotation #287 Changed: * s/hidded/hidden/ typo fixed 4d4562a * JSON parser threads concurrence fixed d027243 * Custom modules with once interval fixed e8f31a0 * Fri Apr 26 2019 mvetter@suse.com - Update to 0.6.0: Added: * MPD Module * Manage the style of the bar according to the window in the workspace bb8ff5a * Custom modules: Allow to toggle multiple classes 6aee514 * Partially hide Waybar with the .hidded class on toggle (SIGUSR1) ecc5f48 * Multiple bars on the same screen with one file 79a5e9e Changed: * Handle widgets size changes for auto height/width management 311c34e * Tray: Icons update fixed * Tray: Icons size 3273ee8 * Workspace: Pango markup now supported bc9a497 * Custom: Kill scripts on bar destroy 90d89fe * Some screens output/unplug fixed * Thu Apr 4 2019 mvetter@suse.com - Update to 0.5.1: Added: * Tray: Handle icons updates #252 * Allow waybar to be positioned on left/right 47142a6 * Custom: Allow icon selection based on json alt attribute #245 Changed: * Network: Escape ESSID #241 * Workspace: Reversed scrolling direction to reflect swaybar behavior 5144426 * Script: mediaplayer script is now generic and return json data with player name for icon matching #249 * Network: Fixed multiple networking module regression 1f6f443 * Thu Mar 21 2019 mvetter@suse.com - Update to 0.5.0: Added: * Add temperature module 7ae549d * Add option to show only current workspace in sway/workspaces module #206 * Add custom tooltip format for network module a9f680b * Add status class to idle_inhibitor 973cec1 * Add pkill signals to custom modules #228 Changed: * Improving mouse button support d0f56b7 * Fixed idle_inhibitor, handles click events correctly 80ef637 * Fixed clock seconds ef88f0a * Fixed sway ipc crash when compiled with -D_GLIBCXX_ASSERTIONS 00176c9 * Fixed network skipped changes * Workspaces scroll is now output aware except when all-outputs is set * Tue Mar 12 2019 mvetter@suse.com - Update to 0.4.0: Added: * Output configuration * Backlight module, thanks to @ianhattendorf * Idle inhibitor, thanks to @jonfin * Option to disable tooltip * Option to escape custom module script output Changed: * Fixed workspace button order * Fixed tray big icons * Fixed scroll with touchpad - Changes from 0.3.0: Added: * Signal strength icons range, thx @Robinhuett * Add format-icons to custom modules, again @Robinhuett smile Changed: * Return puleseaudio port string if unknown, thx @chep * Check adapter online as fallback when battery status report unknown * Typos fixed * Better modules destructions * Fri Jan 25 2019 mvetter@suse.com - Package waybar 0.2.3 for openSUSE