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
Cliff L. Biffle
455d63611a
Add Freetype to fix build on Arch (#3221)
Fixes #3220
2025-07-24 12:08:11 +02:00
Flexlolo
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
jasonjyu
f59f509923
Added to string_util tests corner cases for empty strings and numerics (#3180) 2024-10-27 11:33:45 +01:00
Nolan Prochnau
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
clover
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
Patrick Ziegler
15ccea6099
doc: Fix changelog entry (#3173)
Git merged the entry into the wrong section
2024-10-13 14:09:03 +02:00
Gregor Best
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
sysek
cf50f75903
doc: change desc for openSUSE (#3166)
Co-authored-by: sysek <sysek@outlook.com>
2024-10-13 13:34:28 +02:00
Valentino Berta
a66c5fd91b
fix: check if git top-level directory matches CMake project source (#3156) 2024-09-14 11:13:56 +02:00
ajakk
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
patrick96
f0f9563ecf Update PKGBUILD for 3.7.2 2024-08-17 13:54:40 +02:00
patrick96
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
patrick96
1ba083cdb2
Merge remote-tracking branch 'origin/hotfix/3.7.2' 2024-08-17 13:30:20 +02:00
patrick96
b3af5a3316
Version 3.7.2 3.7.2 2024-08-17 13:19:58 +02:00
patrick96
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
classabbyamp
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
patrick96
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
patrick96
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
patrick96
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
patrick96
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
patrick96
52ff00c28d fix(ci): Get Codecov to work again
Mainly updates the plugin
2024-08-01 12:13:30 +02:00
patrick96
df87c7ac21 fix(ci): Get Codecov to work again
Mainly updates the plugin
2024-08-01 12:13:27 +02:00
patrick96
4d1758457b fix(ipc): Clear output until initial hook finishes
Before, it just showed '%output%'

Fixes #3131
2024-08-01 11:15:48 +02:00
patrick96
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
Isak05
81ea16931e
fix(script): Receiving multiple lines rapidly only displays first line (#3119)
Fixes #3117
2024-04-28 21:10:12 +02:00
patrick96
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
patrick96
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
Patrick Ziegler
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
Patrick Ziegler
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
patrick96
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
Roddy Rappaport
11b522c313 doc: Added unmute-on-scroll to changelog and module descriptions 2024-01-17 18:01:10 +01:00
Roddy Rappaport
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
Roddy Rappaport
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
patrick96
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
patrick96
b4d8be590b Update PKGBUILD for 3.7.1 2023-11-27 17:36:23 +01:00
patrick96
b25d00b159 fix(doc): Wrong header level in changelog 2023-11-27 17:29:31 +01:00
patrick96
367847ec3b
Merge branch 'hotfix/3.7.1' 2023-11-27 17:20:39 +01:00
patrick96
91bd85cf50
Version 3.7.1 3.7.1 2023-11-27 17:15:23 +01:00
patrick96
ade2ee0981 build: Update i3ipcpp
Closes #3042
Includes polybar/i3ipcpp#16
2023-11-27 15:53:30 +01:00
Felix Yan
7ad51bed20 Update Arch Linux package URL in README.md
The old URL returns 404 now.
2023-11-21 14:23:25 +01:00
patrick96
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
patrick96
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
patrick96
432e19df01 build: Add missing headers in common.hpp 2023-11-12 15:18:34 +01:00
patrick96
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
patrick96
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
patrick96
7d7bf84e16 Update PKGBUILD for 3.7.0 2023-11-06 01:02:48 +01:00
patrick96
a7d9b7d912 doc: The Kelvin unit appears without "degrees" 2023-11-06 01:02:48 +01:00
patrick96
2471f3595c
Version 3.7.0 3.7.0 2023-11-05 23:36:13 +01:00
patrick96
cd57c1252c
Write migration guide for the content in custom/text 2023-11-05 22:53:09 +01:00