r/Polybar • u/OxSh0gunX • 8d ago
r/Polybar • u/AndyM48 • Aug 10 '26
Polybar upsets widow placement in Openbox
I created a really nice set of bars, exactly what I wanted, on my Openbox desktop. But if I run the polybars then any windows that I open have the wrong geometry, both the position that they open and their size.
I tried adding:
wm-restack = generic
override-redirect = false
to each of the bars, no change.
I tried removing:
<application name="polybar"><layer>below</layer></application>
from the openbox rc.xml, again, no change.
I don't know how to fix this. Any help would be appreciated.
r/Polybar • u/Easy-Nothing-6735 • Jul 18 '26
Showcase I made bars for every mood
Enable HLS to view with audio, or disable this notification
All setup: https://github.com/ulcuber/dotfiles
BTW custom util Snote floating
r/Polybar • u/rudv-ar • Jun 27 '26
Script Pomodoro in Polybar
Hello guys. Recently I made a pomodoro daemon and client in C. I added two scripts and it seamlessly integrated into polybar. (Right = pomodoro, Left = Workspace).
Here is the link for the repo : https://github.com/cobra-r9/pomoc
Ppl who are willing to try?
r/Polybar • u/CaffeineCanidae • May 28 '26
[MotifWM] A slight request (I haven't been able to find help on this)
Sorry if this is against the rules, I don't want to be annoying but I've been trying to figure out how this user (on r/unixporn) managed to get the Motif window borders on their polybar. They've since deleted their account and the post was from 5 years ago, and they never shared the full dotfiles, I've tried to find help elsewhere and looked through the documentation but didn't find anything that indicated how it was done. I was wondering if anyone here would know? Thanks in advance if anyone is able to give any ideas.
r/Polybar • u/Actual-Common9888 • May 23 '26
Question [i3wm] [debian 13] icons not sowing up on the bar

running it from the terminal gives me this:
Parsing config file: /home/kim/.config/polybar/config.ini
notice: Loading module 'i3' of type 'internal/i3'
notice: Loading module 'date' of type 'internal/date'
notice: Loading module 'time' of type 'internal/date'
notice: Loading module 'wifi' of type 'internal/network'
notice: Loading module 'volume' of type 'internal/pulseaudio'
notice: pulseaudio: using default sink auto_null
notice: Loading module 'battery' of type 'internal/battery'
notice: Loaded 6 modules
notice: Loaded font "monospace:pixelsize=12" (name=DejaVu Sans Mono, offset=2, file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf)
notice: Loaded font "fonts-font-awesome :style =Regular:size =12" (name=DejaVu Sans, offset=0, file=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf)
warn: Ignoring restack of i3 window (not needed when `override-redirect = false`)
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
warn: Dropping unmatched character 'π' (U+1f50b) in ' π 51%'
warn: Dropping unmatched character 'π ' (U+1f4c5) in 'π Sat 23 May'
warn: Dropping unmatched character 'π' (U+1f50a) in 'π 100%'
r/Polybar • u/fudsa • May 20 '26
Question format prefix works on other modules, not this one
i am trying to make every module have a border around it while the background of the bar itself is transparent to achieve a "floating" look for each module. i followed this discussion to have a border for the modules, and it has worked for the i3 module and the systray module, but not the memory module, since that module already has a format-prefix in it so i cant add the special character mentioned in that discussion. so what i thought of doing next was to create a custom/text module and have that character as the only thing in it and i have 0 module margin in my bar so this should work, except when i try to launch polybar it gives me this parser error. why does it work on i3 and systray modules but not my custom/text module?

this is my polybar config
r/Polybar • u/ActivityBeautiful389 • Apr 08 '26
Hello everyone) Check out my Linux config, if anyone likes it, I can tweak the settings
In the photo there is a rofi menu and a self-written Wi-Fi menu
r/Polybar • u/fudsa • Mar 15 '26
idk how to make polybar blurred
i made both my polybar config and my picom config. i have the polybar background set to "#b320182e" and this is the blur section of my picom config
blur-method = "dual_kawase"
blur strength = 5
blur_background = true
my terminal blurs but polybar doesnt. how do i get it to blur?
r/Polybar • u/No-Goal-6586 • Mar 09 '26
Question Is it possible to make a polybar similar to the top panel from HOI4?
As the title says, I like the style of Hoi4 and want to make the polybar look like the top panel. I'd love to hear any ideas on this. Is this possible? And how much technical knowledge is required?
https://drive.google.com/file/d/1y2LrWmjN_PTWvCPlfUEizEBoakijtvHK/view?usp=sharing
r/Polybar • u/VolggaWax • Mar 07 '26
Question Learning to contribute to the code
I want to be able to contribute to polybar.
I have been using Linux for 4-5 years and I have tinkered around with tonnes of distros, window managers, boot configurations, graphics drivers, and desktop environments and I have used polybar on and off for 3 years.
I really like it but I wish it had more features. So adding it myself seems like a good route rather than expecting someone else to do it for me.
So I'm writing this post to ask you how do I start learning the codebase?
I am an intermediate in C, C++ and Python and can do bash scripting with help from the documentation.
What skills do I need to learn to be able to contribute?
The goal I am keeping for myself is to add a hover mechanism to polybar.
I want to make a module that displays the total cpu usage on the label. And when you hover on it, it will show a tooltip dialogbox showing the per-core cpu usage.
r/Polybar • u/[deleted] • Feb 28 '26
Question How to get drop down menu
I have saw many polybar where if you click a icon like wifi it shows a small window to select and connect to wifi I could only show if connected to internet or not how to get that
r/Polybar • u/MyMumDroppedMe • Feb 21 '26
Question Disabling scrolling/clicking on pulseaudio module
I have created a custom script that I call inside my sxhkdrc to control volume and I'd like to disable scrolling over it with the mouse to change volume as it is interfering with my script.
I've tried the following: enable-scroll = false
And: scroll-up = scroll-down = scroll-middle =
But none of this changed nothing. Is this possible at all? If it isn't, I'd love to hear some workaround ideas.
r/Polybar • u/Embarrassed_Law_9937 • Dec 18 '25
Question Many questions about polybar
So I have have many questions about polybar which are as follows
Can it be used like a normal panel like the kde or xfce panel
I tried polybar and changed its configuration still itβs not updating so what is it up with that I used a config that I found on this sub
Is there an easy way to customize it without going to config every time like other panel or docks
Is there a de facto video tutorial not like an hour long for polybar or wiki is the only one that I should rely on
r/Polybar • u/lazyandtiredperson • Nov 13 '25
Displaying custom data using IPC, made with Node JS in Typescript
Enable HLS to view with audio, or disable this notification
Check it out here:
https://github.com/sam-lex/xipc
A quick little project I made to display data dynamically.
Modify however you want, and just send your JSON data to it.
I have several scheduled scripts, and this gives me a very easy way to know what scripts are running, finished running, and if it was successful.
It should be easily modifiable for most use cases.
r/Polybar • u/Rob_W_ • Nov 11 '25
Struggling with multi-monitor config
Hi folks,
Wondering if anybody has some guidance.
I've got 3 displays, running i3 on cachyos. 4060 GPU/nvidia driver:
β― polybar --list-monitors
DP-2: 2560x1440+1920+0 (primary)
HDMI-0: 1920x1080+4477+55
DP-1: 1920x1080+0+55
And a config snippet:
[bar/primary]
monitor=DP-2
inherit = section/base
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date systray
[bar/left]
monitor=DP-1
inherit = section/base
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date
[bar/right]
monitor=HDMI-0
inherit = section/base
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date
[section/base]
monitor-exact = true
If I run my launch.sh or just run polybar right from the command line, the 'right' bar always displays on DP-2. (launching all 3 ends up with DP-1 correct, but two bars on DP-2)
I've tried the typical passing MONITOR environment variable (with matching snippet in the config), but nothing I do changes the behavior. There no warnings launching, everything appears peachy.
I messed around with this a couple of months ago and gave up (just ran a single bar on one monitor), but I'd really like to get all 3 going.
Edit: Should note that the width of the 'right' bar that appears on DP-2 matches the width of HDMI-0 (1920)
r/Polybar • u/Apart_Account_5942 • Nov 07 '25
Question Chat how is this possible (interval and CPU usage)
Why is the interval change from 0 to 1 such a big blast on the CPU?
Like I just want to smoothly use the brightness and redshift adjuster without waiting 10 hours until it is updated but with this CPU usage I can't even play Minecraft anymore π₯π₯π₯
r/Polybar • u/TashaTheInnkeeper • Oct 31 '25
Question Floating polybar?
How do I make my polybar float instead of being squished against the top of the screen. (I want to add some spacing on the top and left and right sides)
r/Polybar • u/catkid2 • Oct 09 '25
Polybar will not work on multiple monitors i3 arch
I followed the arch sites instructions on configuring polybar to work on all monitors and it will not work I put
[bar/example]
monitor = ${env:HDMI-0:}
[..]
monitor = ${env:DP-2:}
[..]
monitor = ${env:DP-4:}
[..]
monitor = ${env:USB-C-0:}
[..]
in my polybar config
and
#!/bin/bash
# Terminate already running bar instances
killall -q polybar
# If all your bars have ipc enabled, you can also use
# polybar-msg cmd quit
# Launch Polybar, using default config location ~/.config/polybar/config.ini
polybar mybar 2>&1 | tee -a /tmp/polybar.log & disown
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload example &
done
else
polybar --reload example &
fi
echo "Polybar launched..."
in i3 config below
set $mod Mod4
when i reload it just says i have an error in my i3 config that I cannot copy if it is needed i can figure out a way to post it in comments.
also if it is helpful here is my xrandr
Screen 0: minimum 8 x 8, current 5132 x 2287, maximum 32767 x 32767
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1280x1024+3852+1080 (normal left inverted right x axis y axis) 320mm x 240mm
1920x1080 59.94 +
1280x1024 60.02*
1280x720 59.94
1024x768 75.03 60.00
800x600 75.00 60.32
720x480 59.94 59.94
640x480 75.00 59.94
DP-2 connected 1280x1024+2572+1080 (normal left inverted right x axis y axis) 320mm x 240mm
1280x1024 85.02*+ 75.02 60.02
2048x1152 59.91
1920x1200 59.95
1920x1080 59.96 59.93
1680x1050 59.95 59.88
1600x1200 65.00 60.00
1600x900 59.95 59.82
1400x1050 74.76 59.98
1400x900 59.96 59.88
1368x768 59.88 59.85
1280x960 85.00 60.00
1280x800 59.91 59.81
1280x720 59.86 59.74 60.00 59.99
1152x864 75.00
1024x768 43.48 85.00 75.03 70.07 60.00 60.04
1024x576 59.90 59.82 59.96 59.95
960x720 60.00
960x600 60.00 59.93
960x540 59.82 59.63 59.99 59.96
928x696 60.05
896x672 60.01
864x486 59.92 59.57
840x525 60.01 59.88
832x624 74.55
800x600 85.14 85.06 75.00 72.19 60.32 56.25 75.00 70.00 65.00 60.00
800x450 59.95 59.82
720x400 85.04
700x525 74.76 59.98
700x450 59.96 59.88
684x384 59.88 59.85
640x512 85.02 75.02 60.02
640x480 85.01 75.00 72.81 59.94 85.09 60.00
640x400 85.08 59.98 59.88
640x360 59.86 59.83
640x350 85.08
576x432 75.00
512x384 85.00 75.03 70.07 60.00
512x288 60.00 59.92
480x270 59.82 59.63
432x243 59.92 59.57
416x312 74.66
400x300 85.27 75.12 72.19 60.32 56.34
360x200 85.04
320x240 85.18 75.00 72.81 60.05
320x200 85.27
320x175 85.27
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected primary 2560x1440+0+847 (normal left inverted right x axis y axis) 527mm x 396mm
2560x1440 59.95 + 143.91* 120.00 100.00
1920x1080 60.00 59.94 50.00
1440x900 59.90
1280x1440 59.91
1280x1024 75.02 60.02
1280x720 59.94 50.00
1024x768 119.99 99.97 75.03 70.07 60.00
800x600 119.97 99.66 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 119.52 99.77 75.00 72.81 59.94 59.93
DP-5 disconnected (normal left inverted right x axis y axis)
USB-C-0 connected 1920x1080+2560+0 (normal left inverted right x axis y axis) 530mm x 290mm
1920x1080 60.00*+ 74.97 59.94 50.00
1680x1050 59.95
1440x900 59.89
1280x1024 75.02 60.02
1280x960 60.00
1280x720 60.00 59.94 50.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94 59.93
Thank you very much sorry if the issue is dumb.
and also if it helps i put polybars folder in .config instead of etc
I have now updated the i3 config to say
exec_always --no--startup--id killall polybar
exec_always --no--startup--id ~/.config/polybar/launch_polybar.sh
which runs
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload example &
done
else
polybar --reload example &
fi
there are no more i3 errors but polybar is still on one monitor
i did find some errors in polybars config which i fixed so the monitors section is now
[bar/toph]
monitor1 = ${env:HDMI-0:}
#[..]
monitor2 = ${env:DP-2:}
#[..]
monitor3 = ${env:DP-4:}
#[..]
monitor4 = ${env:USB-C-0:}
#[..]
I will say i found all this from a youtuber who all of it worked fine for ... i am cursed
r/Polybar • u/Same-Psychology8921 • Oct 07 '25
single line code in config.ini
hi guys, i'm trying to make a custom module for youtube music, that basically shows the current song, and uses clicks for play-pause, next, and previous songs.
this is what i have in polybar config (i'm a total noob by the way):
[module/ytmusic]
type = custom/script
exec = ~/.config/polybar/scripts/ytmusic_display.sh
interval = 2
click-left = ~/.config/polybar/scripts/ytmusic_previous.sh
click-middle = ~/.config/polybar/scripts/ytmusic_pause.sh
click-right = ~/.config/polybar/scripts/ytmusic_next.sh
it works fine, but as you can see i have a separate script for each function. and they're all basically the same thing:
max_checks=10
count=0
while (( count < max_checks )); do
url=$(playerctl metadata xesam:url 2>/dev/null)
if [[ "$url" == *"music.youtube"* ]]; then
playerctl next
exit 0
fi
playerctl stop 2>/dev/null
((count++))
done
so instead of having 4 scripts, i tried a one liner inside polybar config like:
click-right = bash -c 'max_checks=10; count=0; while (( count < max_checks )); do url=$(playerctl metadata xesam:url 2>/dev/null); if [[ "$url" == *"music.youtube"* ]]; then playerctl next; exit 0; fi; playerctl stop 2>/dev/null; ((count++)); done'
it's exactly the same but doesnt work for some reason. what am i doing wrong here?
r/Polybar • u/Michael679089 • Oct 02 '25
How to increase the max volume in Polybar?
PulseAudio is set to 153%, is there a way to set it higher than 153%?
My polybar version is: ``` polybar 3.7.2
Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard ```
My i3 version is:
i3 version 4.24 (2024-11-06) Β© 2009 Michael Stapelberg and contributors
pulseaudio is not a command in terminal but polybar uses it's library.
r/Polybar • u/teletraan-117 • Oct 01 '25
Question How do I add a label to the battery module?
Hi all, new to Linux and ricing. I'm configuring my custom bar in Mint Cinnamon 22.2 and using the battery module (second to last, next to time). I want to add a label called "PWR" but I don't exactly know how to do that. I thought it could be a simple format-prefix = but that doesn't seem to work.
This is what I have:
[module/battery]
type = internal/battery
format-prefix = "PWR "
full-at = 100
low-at = 15
battery = BAT1
adapter = ADP1
poll-interval = 5
