ArchLabs Linux

Polybar missing icons after new install

Hi,

I did a fresh install with bspwm version and copied my old .config folder (from previous AL install) to new one. Everything works fine except missing icons in polybar:

Let me translate it :smiley:

/bin/sh: updates.sh: no command found

/bin/sh: check-network: co command found

I will be grateful for any tips.

you don’t have the sh files so it can’t execute the updates.sh and check-network.sh scripts as it says ‘command not found’ because they don’t really exist there

edit: try removing those modules from your polybar config and then replace them with new scripts, I’m pretty sure there’s a polybar folder with those modules in your /etc/skel directory

Well, there is no polybar folder or even files in /etc/skel/

I don’t have my laptop with the AL install with me right now but i was pretty sure there was something in that directory.
Anyway, you can use the updates-arch-combined script from the polybar github and the internal network module to replace the ones you don’t have. Make a directory called scripts in your polybar folder and create an sh file called updates-arch-combined.sh, make it executable and add this to it

 #!/bin/sh

if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
    updates_arch=0
fi

if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
# if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
# if ! updates_aur=$(pikaur -Qua 2> /dev/null | wc -l); then
# if ! updates_aur=$(rua upgrade --printonly 2> /dev/null | wc -l); then
    updates_aur=0
fi

updates=$(("$updates_arch" + "$updates_aur"))

if [ "$updates" -gt 0 ]; then
    echo "$updates"
else
    echo ""
fi

and add the module to your modules.conf and to your config

[module/updates-arch-combined]
type = custom/script
exec = ~/.config/polybar/scripts/updates-arch-combined.sh
interval = 600
label = : %output%
format-foreground = #9f9f9f
format-padding = 1
format-prefix = "  "
format-prefix-foreground = #aa191c
;format-padding = 2
click-left = pamac-manager &

When I add module to config file, the polybar do not show up :frowning:

can you post your modules.conf and your config file?

Config: https://pastebin.com/3Asm7zmA
Modules: https://pastebin.com/9s8ZaJhT

oh you copied the whole module to your config, you can only do that to yout modules.conf.
in your config, go to the bar you are using (i don’t know which wm you are running, i’ll assume it is bspwm because you copied the module to the bspwm section) and add the module name updates-arch-combined to the modules-right. You can delete the curly brackets and env:polybar_modules from there. Also don’t forget to delete the whole module you put in the config file as well.
example: if you are using bspwm, go to the [bar/bspwm-bar] section in your config file and make the modules-right exactly like this: modules-right = updates-arch-combined coreuse temperature memory volume
that will fix it and have it running. again, don’t forget to delete the whole [module/updates-arch-combined] that you added to the config file.

Yea… It worked but… Not like it should be xD
No networking icon and update section look like: | :21 |
Did the devs removed network icon/command and update from the bar? Or they just removed whole polybar from AL so there are problems now? I really appreciate your time, but maybe I will just text devs for 02.2019 version and everything will be fine?

I’m not really sure, it’s been some time since i did a clean intall on my arch labs laptop, but i think they swapped polybar with tint2 panel, so you may want to install the archlabs polybar from the AL repo. It says on the latest release notes: " tint2 has replaced polybar as the default panel in the openbox and bspwm sessions." I dont really know the exact AL polybar package name but it should be on our repos. Maybe that’s why there’s nothing on your /etc/skel directory.

But back to the module, 21 is the number of updates, so you have to add your own icon to the format-prefix line of the module in the modules.conf, then you will get the icon followed by the number of updates. You can type something like format-prefix = "Upd", so it would show “Upd: 21”, or just add any icon to it.
About the network module, they might have some script as well but there’s an internal module for it and you can find it here https://github.com/polybar/polybar/wiki/Module:-network
Note that you can copy the module from there but you have to adjust the interface in case you are using a wired or a wireless connection.

@poiseman Our polybar package is being put out of commission so it’s no longer installed by us, the package is still in our repo as mentioned by @rml above but I would advise against installing it as we will remove it one day (grab it from the AUR).

Re: The module issues, there’s been different versions of these modules and scripts written by me over the years and different people keep old versions of them so that’s why there’s a mismatch. The only ones I can currently offer are in our polybar stuff, you want the configs and scripts folders.


The contents of scripts goes somewhere on your PATH, like:

/bin, /usr/bin, /home/USER/.local/bin

or anywhere else that shows use when you run

echo $PATH

Contents of configs goes in ~/.config/polybar


No that’s perfectly fine, in fact the way shown on the polybar wiki is just that, a config with everything in it including modules. Just make sure you don’t paste it within another section (bottom of the file works) and it should be fine.

1 Like

oh I do remember seeing the example bar with all the content in the config file, but since i’ve always used the AL config i was used to tweak the three files

1 Like

The result:

ksnip222

WiFi icon on the left is not clickable. Should I keep the module that rml gave me?

Yes it is, you just don’t have the program installed, you can change it to whatever network manager you’re using.

Entirely up to you.

One thing I forgot to mention, the update script linked to above requires inotify-utils. You likely have it installed already as it’s a pretty common package, but if not and you do use the script install it.

The easiest way to make similar polybar that look good is to use this polybar config: