2329 Commits

Author SHA1 Message Date
p_q
f99e0b1c7a Fix missing cstdint header for compiling with gcc15.
See https://gcc.gnu.org/gcc-15/porting_to.html for the details.
2025-09-24 10:29:01 +02:00
455d63611a Add Freetype to fix build on Arch (#3221)
Fixes #3220
2025-07-24 12:08:11 +02:00
9476ad80b8 Implement tray-reversed option (#3182)
* implement tray-reversed option

* update changelog

* Update src/x11/tray_manager.cpp

Co-authored-by: Patrick Ziegler <p.ziegler96@gmail.com>

* Update CHANGELOG.md

---------

Co-authored-by: Patrick Ziegler <p.ziegler96@gmail.com>
2024-10-30 22:13:34 +01:00
f59f509923 Added to string_util tests corner cases for empty strings and numerics (#3180) 2024-10-27 11:33:45 +01:00
552d81dd56 pulseaudio: Preserve channel balance (#3169)
Instead of preserving the proportions of PulseAudio channels, we now preserve the balance between the channels. This mirrors pulsemixer's approach.
2024-10-19 17:35:33 +02:00
2d00384046 feat(battery): add ramp-charging tag (#3172)
* feat(battery): add ramp-charging tag

* Update battery.cpp

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md
2024-10-19 17:34:47 +02:00
15ccea6099 doc: Fix changelog entry (#3173)
Git merged the entry into the wrong section
2024-10-13 14:09:03 +02:00
0eb39c5205 fix: don't restart if zero active screens are reported (#3078)
On laptops and similar devices, RandR sometimes returns zero active
screens, for example when closing a laptop's lid before it suspends.

Don't restart in that case because the new polybar instance will see
zero screens and quit. Instead, just ignore those kind of events.
2024-10-13 13:52:10 +02:00
cf50f75903 doc: change desc for openSUSE (#3166)
Co-authored-by: sysek <sysek@outlook.com>
2024-10-13 13:34:28 +02:00
a66c5fd91b fix: check if git top-level directory matches CMake project source (#3156) 2024-09-14 11:13:56 +02:00
e7cf47de71 fix(build): Add missing cstdint includes (#3159)
In GCC 15, cstdint is less commonly included in stdlib headers so we
need explicit includes: https://gcc.gnu.org/gcc-15/porting_to.html

See-Also: https://bugs.gentoo.org/937526

Signed-off-by: John Helmert III <ajak@gentoo.org>
2024-09-01 14:28:36 +02:00
f0f9563ecf Update PKGBUILD for 3.7.2 2024-08-17 13:54:40 +02:00
469d0536e8 fix(ci): Release workflow
github.* doesn't exist anymore. Instead everything there is now
available under github.rest.*

Ref: https://github.com/octokit/plugin-rest-endpoint-methods.js/releases/tag/v5.0.0
2024-08-17 13:39:34 +02:00
1ba083cdb2 Merge remote-tracking branch 'origin/hotfix/3.7.2' 2024-08-17 13:30:20 +02:00
b3af5a3316 Version 3.7.2 3.7.2 2024-08-17 13:19:58 +02:00
c0d3d7a3e7 fix(render): Deal with incomplete wallpapers
If the root pixmap does not fully cover the bar window, some
pseudo-transparent areas were filled with unitialized data, causing
pixelation or other rendering artifacts.

Now, ovserved background slices are first filled with black to make sure
this does not happen and they print an error if not the full pixmap can
be filled.

Fixes #3041
2024-08-17 13:13:12 +02:00
03d01afed6 fix(modules/battery): make rate positive if negative
on the Lenovo X13s, the battery firmware returns a negative value for
power_now, which is interpreted by the battery module as 0 because it
converts the string to unsigned long. This should be read as a long
instead, as the kernel specifies that power_now is an int:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/include/linux/power_supply.h?h=v6.0.11#n99
2024-08-04 13:55:49 +02:00
35638027a8 Update github actions
checkout is bumped from v3 to v4, there shouldn't be any breaking
changes (just bumps the node version)

upload-artifact is bumped from v2 to v4, our use case shouldn't break

github-script is bumped from v3 to v7. I don't see any breaking changes
that should affect us. Again mainly a nodejs version bump
2024-08-04 13:55:04 +02:00
6f8db4a3fe ci: Use codecov token
This wasn't required for PRs but for the job that runs on the `master`
branch, the job fails without the token (because it's a protected
branch)
2024-08-04 13:55:04 +02:00
0e5760a824 Update github actions
checkout is bumped from v3 to v4, there shouldn't be any breaking
changes (just bumps the node version)

upload-artifact is bumped from v2 to v4, our use case shouldn't break

github-script is bumped from v3 to v7. I don't see any breaking changes
that should affect us. Again mainly a nodejs version bump
2024-08-04 13:54:57 +02:00
5aaf49864a ci: Use codecov token
This wasn't required for PRs but for the job that runs on the `master`
branch, the job fails without the token (because it's a protected
branch)
2024-08-04 13:54:57 +02:00
52ff00c28d fix(ci): Get Codecov to work again
Mainly updates the plugin
2024-08-01 12:13:30 +02:00
df87c7ac21 fix(ci): Get Codecov to work again
Mainly updates the plugin
2024-08-01 12:13:27 +02:00
4d1758457b fix(ipc): Clear output until initial hook finishes
Before, it just showed '%output%'

Fixes #3131
2024-08-01 11:15:48 +02:00
baed54bc76 doc: Improve tray documentation
Unaware users may be confused by why the tray module is not shown in the
default config and if they add it, they may be confused why only one of
their bars shows the module.
2024-08-01 11:09:46 +02:00
81ea16931e fix(script): Receiving multiple lines rapidly only displays first line (#3119)
Fixes #3117
2024-04-28 21:10:12 +02:00
ab583b08cd fix(tray): Clients not being removed properly
The vector::erase call needs to be supplied with the end of the range,
otherwise only a single element is removed.

Fixes #3111
2024-04-15 23:43:25 +02:00
c8f7dc1c14 fix(i3): Properly render non-full-width windows
Without override-redirect, i3 will not allow you to have a
non-full-width bar. But polybar simply ignores that request and
continues to render the user-requested width instead of the width i3 has
configured the window to be.

With the 3.7 release, we started setting the window's backing pixmap to
the rendering pixmap. In the case above, the pixmap would only be
allocted for the smaller width and when i3 maps the window, it repeats
the backing pixmap to fill the entire window.

At the point where i3 maps the window, the pixmap contains an initial
render of the bar without module content and that render is then
duplicated.

Reverting back to the old approach of simply copying over the pixmap
after each render does not have that problem and the remainder of the
bar is black (or fully transparent with a compositor).

Ideally, polybar would respect the width i3 configures for it, but that
would break many existing setups that rely on non-full-width bars in i3

Fixes #3060
2024-02-18 19:02:30 +01:00
020699724f fix(label): Misbehaving min-length tokens with non-ASCII characters (#3090)
* Changed bit count for label to use UTF8 standard

Fixes #3074

* label: Calculate length only once

The length calculation has to traverse the whole string

---------

Co-authored-by: nklloyd <nicholask.lloyd@gmail.com>
2024-02-10 12:51:34 +01:00
8e04f15ed6 fix(backlight): %backlight% token appearing on the bar (#3081)
* Fix backlight initial value matching the actual brightness level

The initial value is `0`. If the actual brightness is also `0` you see
`%percentage%` token as text, it’s not being replaced. Since
`m_brightness` is an `int` the initial value could be just `-1` since
the actual brightness is never goes below zero. Thus this bug will never
show up again because actual brightness on first render won’t match
the “old” `m_brightness` value.

See also for more detailed explanation of the bug:
https://github.com/polybar/polybar/discussions/3079#discussioncomment-8169932

* Add docs

---------

Co-authored-by: Viacheslav Lotsmanov <lotsmanov89@gmail.com>
2024-01-20 18:09:12 +01:00
0ed669f049 fix(doc): Update vulnerable rtd search extension
Ref: https://github.com/readthedocs/readthedocs-sphinx-search/security/advisories/GHSA-xgfm-fjx6-62mj
2024-01-20 17:53:28 +01:00
11b522c313 doc: Added unmute-on-scroll to changelog and module descriptions 2024-01-17 18:01:10 +01:00
82a81ce07c feat(pulseaudio): Add unmute on scroll option (polybar#3067)
This will allow users to specify in their config if they want the mixers
to unmute if they use the scroll wheel on the module.

Closes: #3067
2024-01-17 18:01:10 +01:00
c2dd279bf7 feat(alsa): Add unmute on scroll option (polybar#3067)
This will allow users to specify in their config if they want the mixers
to unmute if they use the scroll wheel on the module.
2024-01-17 18:01:10 +01:00
174ce34285 fix(doc): Update vulnerable rtd search extension
Ref: https://github.com/readthedocs/readthedocs-sphinx-search/security/advisories/GHSA-xgfm-fjx6-62mj
2024-01-16 22:37:15 +01:00
b4d8be590b Update PKGBUILD for 3.7.1 2023-11-27 17:36:23 +01:00
b25d00b159 fix(doc): Wrong header level in changelog 2023-11-27 17:29:31 +01:00
367847ec3b Merge branch 'hotfix/3.7.1' 2023-11-27 17:20:39 +01:00
91bd85cf50 Version 3.7.1 3.7.1 2023-11-27 17:15:23 +01:00
ade2ee0981 build: Update i3ipcpp
Closes #3042
Includes polybar/i3ipcpp#16
2023-11-27 15:53:30 +01:00
7ad51bed20 Update Arch Linux package URL in README.md
The old URL returns 404 now.
2023-11-21 14:23:25 +01:00
9ea910d706 doc: Fix "Release Workflow" badge
The release workflow never runs on the master branch (it runs on the
release branch), so the badge would always show "no status"
2023-11-18 19:41:13 +01:00
c552df3b66 fix: Modules did not validate tags used in formats
The 'value' variable that was used for validation, was empty because it
was used in a move at the beginning of the function.

Fixes #3043
2023-11-16 22:29:00 +01:00
432e19df01 build: Add missing headers in common.hpp 2023-11-12 15:18:34 +01:00
cbfbba0700 Remove tray_visibility signal
No longer needed since tray visibility is now controlled directly by the
enclosing module
2023-11-11 04:01:26 +01:00
8566051336 fix(tray): Allow module to disappear for empty tray
Modules that don't produce any output are hidden by the controller
(don't have margins or separators).
The tray module should also do that for `format = <tray>` when there are
no icons.

This required the visibility handling to be tied to the module
visibility instead of being handled by the renderer.
Otherwise, the renderer would hide the tray (because the %{Pt} tag was
never sent) and the tray would not unhide when new icons appeared; it
can't differentiate between hidden because empty and hidden because the
module is hidden by the user (the latter is the reason the renderer does
hiding at all).

Fixes #3036
2023-11-11 04:01:26 +01:00
7d7bf84e16 Update PKGBUILD for 3.7.0 2023-11-06 01:02:48 +01:00
a7d9b7d912 doc: The Kelvin unit appears without "degrees" 2023-11-06 01:02:48 +01:00
2471f3595c Version 3.7.0 3.7.0 2023-11-05 23:36:13 +01:00
cd57c1252c Write migration guide for the content in custom/text 2023-11-05 22:53:09 +01:00