Git Product home page Git Product logo

polybar's Introduction

Polybar Polybar

A fast and easy-to-use tool for creating status bars.

GitHub All Releases

Documentation | Installation | Support | Donate

Polybar aims to help users build beautiful and highly customizable status bars for their desktop environment, without the need of having a black belt in shell scripting.

default configuration screenshot

Table of Contents

Introduction

The main purpose of Polybar is to help users create awesome status bars. It has built-in functionality to display information about the most commonly used services. Some of the services included so far:

  • Systray icons
  • Window title
  • Playback controls and status display for MPD using libmpdclient
  • ALSA and PulseAudio volume controls
  • Workspace and desktop panel for bspwm and i3
  • Workspace module for EWMH compliant window managers
  • Keyboard layout and indicator status
  • CPU and memory load indicator
  • Battery display
  • Network connection details
  • Backlight level
  • Date and time label
  • Time-based shell script execution
  • Command output tailing
  • User-defined menu tree
  • Inter-process messaging
  • And more...

See the wiki for more details.

Getting Help

If you find yourself stuck, have a look at our Support page for resources where you can find help.

Contributing

Read our contributing guidelines for how to get started with contributing to polybar.

Getting started

Installation

Packaging status

Polybar is already available in the package manager for many repositories. We list some of the more prominent ones here. Also click the image on the right to see a more complete list of available polybar packages.

If you are using Debian (bullseye/11/stable) or later, you can install polybar using sudo apt install polybar. Newer releases of polybar are sometimes provided in the backports repository for stable users, you need to enable backports and then install using sudo apt -t bullseye-backports install polybar.

If you are using Ubuntu 20.10 (Groovy Gorilla) or later, you can install polybar using sudo apt install polybar.

If you are using Arch Linux, you can install polybar to get the latest stable release using sudo pacman -S polybar. The latest unstable changes are also available in the polybar-git package in the AUR.

If you are using Manjaro, you can install polybar to get the latest stable release using sudo pacman -S polybar.

If you are using Void Linux, you can install polybar using xbps-install -S polybar.

If you are using NixOS, polybar is available in both the stable and unstable channels and can be installed with the command nix-env -iA nixos.polybar.

If you are using Slackware, polybar is available from the SlackBuilds repository.

If you are using Source Mage GNU/Linux, polybar spell is available in test grimoire and can be installed via cast polybar.

If you are using openSUSE Leap or openSUSE Tumbleweed, polybar is available from the official repositories and can be installed via zypper install polybar. The package is available for openSUSE Leap 15.3 and above.

If you are using FreeBSD, polybar can be installed using pkg install polybar. Make sure you are using the latest package branch.

If you are using Gentoo, both release and git-master versions are available in the main repository.

If you are using Fedora, you can install polybar using sudo dnf install polybar.

If you can't find your distro here, you will have to build from source.

First Steps

See the wiki for details on how to run and configure polybar.

Community

Want to get in touch?

Contributors

Maintainers

Owner

Former Maintainers

Logo Design by

Donations

Polybar accepts donations through open collective.

Become a backer and support polybar!

Sponsors

Backers

License

Polybar is licensed under the MIT license. See LICENSE for more information.

Signatures

Release archives and tags are signed by a maintainer using GPG. Currently everything is signed by Patrick Ziegler with fingerprint 1D5791352D51A228D4DDDBA4521E5E03AEBCA1A7

polybar's People

Contributors

bennofs avatar devsnek avatar dvermd avatar indev29 avatar infokiller avatar jaagr avatar kevinmorio avatar kronn avatar lomadriel avatar madhavpcm avatar memeplex avatar mranno avatar nbonaparte avatar nicholas-baron avatar parmort avatar patrick96 avatar quandangv avatar raffael0 avatar raidzero avatar roddyrap avatar sysek avatar taschenb avatar thedoctor314 avatar toncherami avatar vanillaviking avatar vaygr avatar vincentbernat avatar x70b1 avatar xyene avatar zappolowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

polybar's Issues

lemonbuddy (or lemonbar? IDK) have integrated systray?

I want to use another bar for the bottom part of my screen, thing is that I depend on a systray and I wouldn't like use an external application in order to have such feature. I like i3 because its integrated systray, and it is currently in use.

Icon not aligned

lemonbuddy icon

Here are my fonts

font-0 = NotoSans-Regular:size=16;0 
font-1 = MaterialIcons:size=16;0 
font-2 = Termsynu:size=16;0 
font-3 = FontAwesome:size=16;0 

Is it a known problem, or just my icon font?

Support for WM_URGENT hinting.

I have pidgin with some plugins that send notifications through libnotify and also raise the wm_urgent flag.

In bspwm you can set WM_URGENT_BORDER_COLOR and the default lemonbar config for bspwm highlights urgent desktops in a color defined (in panel_colors).

Right now when a desktop is marked as urgent lemonbuddy changes whatever characters you had set (in lemonbuddy config) to the desktop names (in bspwmrc).

I don't think I'm explaining it very well but hopefully this makes it more obvious:

lemonbuddyconf:
label-occupied = 

bspwmrc:
bspc monitor '^1' -d misc chat view web

Result on urgent:
Issue descriptor

bspwm module on multiple monitors

I am using the bspwm module on a triple monitor setup. The second Monitor renders unclickable labels for the third monitor. Let me demonstrate this on a simple example:

Configuring bars for each monitor, only displaying a single bspwm module:

[settings]
[bar/left]
monitor = DP-0
modules-left = bspwm

[bar/middle]
monitor = DP-2
modules-left = bspwm

[bar/right]
monitor = DP-4
modules-left = bspwm

[module/bspwm]
type = internal/bspwm
label-active = %name%
label-occupied = %name%
label-urgent = %name%
label-empty = %name%

bspwm monitors are:

bspc monitor DP-0 -d A B
bspc monitor DP-2 -d C D
bspc monitor DP-4 -d E F

running all bars:

lemonbuddy_wrapper left &
lemonbuddy_wrapper middle &
lemonbuddy_wrapper right &

DP-0 (left) shows ABCD when DP-4 has focus, AB when DP-0 has focus
DP-2 (middle) shows CDEF no matter which monitor has the focus
DP-4 (right) shows EF no matter which monitor has the focus

On DP-2 both B and C are clickable, D and E are not doing anything, but they update whenever D or E is clicked on DP-4.

Do you have any idea why it is behaving like that? I assume its a bug in the bspwm module, but i haven't looked into the source yet.

Would be great if we could solve this together!

"Invalid geometry specified" if locale is set

The lemonbar does not render and prints the error "Invalid geometry specified" once a locale has been defined. It seems like it doesn't matter what locale you set. The error will be printed out as soon as a locale is present in the configuration.

[bar/something]
locale = de_DE.UTF-8

Install a simple bar configuration along with the application

At the moment when you build and install the project, you only get an executable and a wrapper script.

The installation should come with a simple configuration, show casing the core features and guiding the user on how to preceed from there.

bspwm module socket selection for multi user

When more than one user session is created the bspwm module keeps trying the first sessions socket.

ie. two user/X sessions creates two sockets
/tmp/bspwm_0_0-socket
/tmp/bspwm_1_0-socket

the 1st created session works fine but the second reports so i am assuming its trying the wrong socket.

error ** [io::socket::open] Error connecting to socket: Permission denied
error ** [io::socket::send] Error sending data: Bad file descriptor

Cannot `make install`

When I run cmake .., everything is perfect. Then I run `sudo make install and I get this:

~/lemonbuddy/build on 3ad583b 
➔ sudo make install
[  2%] Linking CXX static library libxpp.a
Traceback (most recent call last):
  File "/home/marcel/lemonbuddy/lib/xpp/generators/cpp_client.py", line 3162, in <module>
    from xcbgen.state import Module
ImportError: No module named xcbgen.state
make[2]: *** [lib/xpp/CMakeFiles/xpp.dir/build.make:70: lib/xpp/libxpp.a] Error 1
make[1]: *** [CMakeFiles/Makefile2:206: lib/xpp/CMakeFiles/xpp.dir/all] Error 2
make: *** [Makefile:128: all] Error 2

I have to recompile because the package in the aur does not seem to support i3 (am I correct?). Anyway it doesn't work.

uname -a:

Linux Hermes 4.6.4-1-ARCH #1 SMP PREEMPT Mon Jul 11 19:12:32 CEST 2016 x86_64 GNU/Linux

`format-padding` not working on `internal/battery`

Here is my code for the internal/battery module:

[module/battery]
type = internal/battery
format-padding = 2

; This is useful in case the battery never reports 100% charge
full_at = 99

; Use the following command to list batteries and adapters:
; $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = ACAD

label-charging = %percentage%
format-discharging = <ramp-capacity> <label-discharging>

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 

poll_interval = 5

However, the module has no padding. What is the syntax for that module?

sudo make install fails

Hey,

I'm trying to build from source on Ubuntu 16.04 and I'm getting the following:

00:19>james>jambuntu>~/lemonbuddy/build>
$ cmake ..
-- No build type specified; using Release
-- Boost version: 1.58.0
-- XCB[XCB]: Found component XCB
-- Could NOT find XCB_COMPOSITE (missing:  XCB_COMPOSITE_LIBRARY XCB_COMPOSITE_INCLUDE_DIR) 
-- Could NOT find XCB_DAMAGE (missing:  XCB_DAMAGE_LIBRARY XCB_DAMAGE_INCLUDE_DIR) 
-- Could NOT find XCB_DRI2 (missing:  XCB_DRI2_LIBRARY XCB_DRI2_INCLUDE_DIR) 
-- XCB[EWMH]: Found component EWMH
-- Could NOT find XCB_GLX (missing:  XCB_GLX_LIBRARY XCB_GLX_INCLUDE_DIR) 
-- XCB[ICCCM]: Found component ICCCM
-- Could NOT find XCB_IMAGE (missing:  XCB_IMAGE_LIBRARY XCB_IMAGE_INCLUDE_DIR) 
-- XCB[KEYSYMS]: Found component KEYSYMS
-- XCB[RANDR]: Found component RANDR
-- XCB[RENDER]: Found component RENDER
-- Could NOT find XCB_RENDERUTIL (missing:  XCB_RENDERUTIL_LIBRARY XCB_RENDERUTIL_INCLUDE_DIR) 
-- Could NOT find XCB_SHAPE (missing:  XCB_SHAPE_LIBRARY XCB_SHAPE_INCLUDE_DIR) 
-- Could NOT find XCB_SHM (missing:  XCB_SHM_LIBRARY XCB_SHM_INCLUDE_DIR) 
-- Could NOT find XCB_SYNC (missing:  XCB_SYNC_LIBRARY XCB_SYNC_INCLUDE_DIR) 
-- XCB[UTIL]: Found component UTIL
-- Could NOT find XCB_XFIXES (missing:  XCB_XFIXES_LIBRARY XCB_XFIXES_INCLUDE_DIR) 
-- XCB[XTEST]: Found component XTEST
-- Could NOT find XCB_XV (missing:  XCB_XV_LIBRARY XCB_XV_INCLUDE_DIR) 
-- XCB[XINERAMA]: Found component XINERAMA
-- xpp: skipping xcb proto present.xml
-- xpp: skipping xcb proto xc_misc.xml
-- xpp: skipping xcb proto render.xml
-- xpp: skipping xcb proto shm.xml
-- xpp: skipping xcb proto composite.xml
-- xpp: skipping xcb proto dpms.xml
-- xpp: skipping xcb proto xf86dri.xml
-- xpp: skipping xcb proto shape.xml
-- xpp: skipping xcb proto xinput.xml
-- xpp: including xcb proto xproto.xml
-- xpp: including xcb proto randr.xml
-- xpp: skipping xcb proto bigreq.xml
-- xpp: skipping xcb proto xfixes.xml
-- xpp: skipping xcb proto record.xml
-- xpp: skipping xcb proto xf86vidmode.xml
-- xpp: skipping xcb proto damage.xml
-- xpp: skipping xcb proto ge.xml
-- xpp: skipping xcb proto dri2.xml
-- xpp: skipping xcb proto sync.xml
-- xpp: skipping xcb proto res.xml
-- xpp: skipping xcb proto xvmc.xml
-- xpp: skipping xcb proto xprint.xml
-- xpp: skipping xcb proto xselinux.xml
-- xpp: skipping xcb proto glx.xml
-- xpp: skipping xcb proto xv.xml
-- xpp: skipping xcb proto dri3.xml
-- xpp: skipping xcb proto xtest.xml
-- xpp: skipping xcb proto screensaver.xml
-- xpp: skipping xcb proto xevie.xml
-- xpp: skipping xcb proto xkb.xml
-- xpp: skipping xcb proto xinerama.xml
-- ---------------------------
--  Build type: Release
--  Compiler C: /usr/bin/cc
--  Compiler C++: /usr/bin/c++
-- ---------------------------
--  Enable ccache support  ON
--  Enable alsa support    ON
--  Enable i3 support      ON
--  Enable mpd support     ON
--  Enable network support ON
-- ---------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/james/lemonbuddy/build
00:20>james>jambuntu>~/lemonbuddy/build>
$ ls
cmake  CMakeCache.txt  CMakeFiles  cmake_install.cmake  lib  Makefile  man  src
00:20>james>jambuntu>~/lemonbuddy/build>
$ sudo make install
[  2%] Built target xpp
[  4%] Building CXX object lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o
In file included from /home/james/lemonbuddy/lib/i3ipcpp/src/ipc.cpp:11:0:
/home/james/lemonbuddy/lib/i3ipcpp/include/i3ipc++/ipc.hpp:11:20: fatal error: i3/ipc.h: No such file or directory
compilation terminated.
lib/i3ipcpp/CMakeFiles/i3ipc++.dir/build.make:62: recipe for target 'lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o' failed
make[2]: *** [lib/i3ipcpp/CMakeFiles/i3ipc++.dir/src/ipc.cpp.o] Error 1
CMakeFiles/Makefile2:155: recipe for target 'lib/i3ipcpp/CMakeFiles/i3ipc++.dir/all' failed
make[1]: *** [lib/i3ipcpp/CMakeFiles/i3ipc++.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
00:20>james>jambuntu>~/lemonbuddy/build>
$ ls ../lib/i3ipcpp/include/i3ipc++/
ipc.hpp  ipc-util.hpp

So, it looks like cmake .. is working okay, but sudo make install is failing. I notice the issues reference 'i3ipc++' - Is this an i3 wm lib, as I'm using bspwm not i3?

Regards,
James.

Help a noob trying to use unicode in his bar

Hi, I'm trying to display some of the icons from FontAwesome, but I have trouble copy&pasting them, so I tried to use the unicode instead. I can't get the icon to show up, only the code, I've tried fx. \f026, \uf026 etc.
Is there a way to do this, or can you point me in the right direction?
Thanks in advance,
Martin

Lemonbuddy does not respond after resuming from hibernation

At the moment I can't get a debug log of any sorts to you, but I will try tomorrow. But yeah essentially after I resume from suspend, lemonbar doesn't update anymore. Whats worse is that it actually takes down a cpu core with it (some sort of loop maybe is demanding 100% of the core it was running on after resuming). It essentially freezes.
To be exact the issue I am observing is that once I type killall lemonbuddy and killall lemonbar (because they are frozen after resume) the lemonbuddy_wrapper.sh script continues to run using 100% of the cpu.

Run modules sandboxed

Every module should be run so that, even if it fails, all other modules are still displayed.
A try catch block should probably be able to catch almost every error thrown. But maybe there will be some uncathable exceptions that can get through (if those even exist in cpp)

For one this is very useful for testing your bar
But also you do not have to check if your custom modules fail. (For example I think xtitle -s crashes the current bar cycle when there has never been a window open)

MPD module can not run

I use the default config in your bspwm.conf for mpd module

[module/mpd]
type = internal/mpd
clickable_progress = true
format:online = <icon:prev> <icon:stop> <toggle> <icon:next>  <icon:repeat> <icon:random>  <bar:progress> <label:time>  <label:song>

icon:play = 
icon:pause = 
icon:stop = 
icon:prev = 
icon:next = 
icon:random = 
icon:repeat = 

toggle_on:foreground =
toggle_off:foreground = #55

bar:progress:width = 45
bar:progress:indicator = |
bar:progress:indicator:foreground = #ff
bar:progress:indicator:font = 3
bar:progress:fill = ─
bar:progress:fill:foreground = #bb
bar:progress:fill:font = 3
bar:progress:empty = ─
bar:progress:empty:font = 3
bar:progress:empty:foreground = #44

I run fine without mpd module. Every time I try add mpd module to the bar, it crash and the bar didn't show up.

Here is a little information I can give you.

┌─╼ [ ~/b/testlmbd ]
└────╼ ./lemonbuddy_wrapper.sh top                                                                                                     [7:26:58 PM] 
debug ** Entering STAGE 1
info  ** Starting event loop...
debug ** Entering STAGE 2
debug ** Loading modules
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
./lemonbuddy_wrapper.sh: line 40:  5902 Aborted                 (core dumped) lemonbuddy "$@" -p "$pipe" --log=debug

Tell me if you need more information.

More examples

Hi,

I've been following your work for about a month and I faved all your posts on /r/unixporn.
Your bars are absolutely wonderful.

But all of all the screenshots you've posted on reddit, non of them have the actual lemonbuddy config file.

Is it possible to add them to the repo? Or do a lemonbuddy.github.io website, and post them as a showcase?

Thanks in advance!

Arch RANDR

I have been trying to get lemonbuddy to work, but I can't. When I try to run lemonbuddy_wrapper, it spits out:

X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 141 (RANDR)
Minor opcode of failed request: 42 ()
Serial number of failed request: 10
Current serial number in output stream: 10

I saw that there was another issue opened where they had to put their monitor in the config, however that doesn't work for me.

Config: https://i.imgur.com/1VhuRGc.png
Xrandr: https://i.imgur.com/yPvbkZS.png

Help using multiple fonts

Hey,

I've been trying to get some fontawesome icons working in my LemonBar, but I'm at a loss as how to define them.

I've applied some of the extended configurations from the README (with ramp value), but I'm not sure how I can have multiple fonts. I currently have the following defined:

 44 font-0 = terminus:size=9
 45 font-1 = Unifont:size=10:weight=heavy;0

and the font-0 is being applied to my main text, font-1 is being applied to the CPU loading bar. But this leaves my icons not wanting to load, so if I wanted to define another font (just for the icons on each section), how would I do so?

Sorry to be a pain!

New xpp version breaks aur builds

Since the xpp submodule was updated in 208fd2a the build fails with the following error:

=> Making package: lemonbuddy-git 1.4.4.r6.gd3a8ccb-1 (Wed Aug 31 10:36:42 CEST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating lemonbuddy git repo...
Fetching origin
==> Validating source files with md5sums...
    lemonbuddy ... Skipped
==> Extracting sources...
  -> Creating working copy of lemonbuddy git repo...
Reset branch 'makepkg'
==> Starting prepare()...
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 6.1.1
-- The CXX compiler identification is GNU 6.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No build type specified; using Release
-- Boost version: 1.60.0
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
CMake Warning at CMakeLists.txt:80 (message):
  Disabling "i3 module" support (prerequisites failed)


-- Found ALSA: /usr/lib64/libasound.so (found version "1.1.2") 
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Found LibMPDClient: /usr/lib64/libmpdclient.so  
-- Found Libiw: /usr/lib64/libiw.so  
-- Checking for module 'xcb-proto'
--   Found xcb-proto, version 1.12
-- Found PythonInterp: /usr/bin/python3.5 (found suitable version "3.5.2", minimum required is "3.5") 
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Found X11_XCB: /usr/lib64/libX11-xcb.so  
-- XCB[XCB]: Found component XCB
-- Found XCB_XCB: /usr/lib64/libxcb.so  
-- XCB[COMPOSITE]: Found component COMPOSITE
-- Found XCB_COMPOSITE: /usr/lib64/libxcb-composite.so  
-- XCB[DAMAGE]: Found component DAMAGE
-- Found XCB_DAMAGE: /usr/lib64/libxcb-damage.so  
-- XCB[DRI2]: Found component DRI2
-- Found XCB_DRI2: /usr/lib64/libxcb-dri2.so  
-- XCB[EWMH]: Found component EWMH
-- Found XCB_EWMH: /usr/lib64/libxcb-ewmh.so  
-- XCB[GLX]: Found component GLX
-- Found XCB_GLX: /usr/lib64/libxcb-glx.so  
-- XCB[ICCCM]: Found component ICCCM
-- Found XCB_ICCCM: /usr/lib64/libxcb-icccm.so  
-- XCB[IMAGE]: Found component IMAGE
-- Found XCB_IMAGE: /usr/lib64/libxcb-image.so  
-- XCB[KEYSYMS]: Found component KEYSYMS
-- Found XCB_KEYSYMS: /usr/lib64/libxcb-keysyms.so  
-- XCB[RANDR]: Found component RANDR
-- Found XCB_RANDR: /usr/lib64/libxcb-randr.so  
-- XCB[RENDER]: Found component RENDER
-- Found XCB_RENDER: /usr/lib64/libxcb-render.so  
-- XCB[RENDERUTIL]: Found component RENDERUTIL
-- Found XCB_RENDERUTIL: /usr/lib64/libxcb-render-util.so  
-- XCB[SHAPE]: Found component SHAPE
-- Found XCB_SHAPE: /usr/lib64/libxcb-shape.so  
-- XCB[SHM]: Found component SHM
-- Found XCB_SHM: /usr/lib64/libxcb-shm.so  
-- XCB[SYNC]: Found component SYNC
-- Found XCB_SYNC: /usr/lib64/libxcb-sync.so  
-- XCB[UTIL]: Found component UTIL
-- Found XCB_UTIL: /usr/lib64/libxcb-util.so  
-- XCB[XFIXES]: Found component XFIXES
-- Found XCB_XFIXES: /usr/lib64/libxcb-xfixes.so  
-- XCB[XTEST]: Found component XTEST
-- Found XCB_XTEST: /usr/lib64/libxcb-xtest.so  
-- XCB[XV]: Found component XV
-- Found XCB_XV: /usr/lib64/libxcb-xv.so  
-- XCB[XINERAMA]: Found component XINERAMA
-- Found XCB_XINERAMA: /usr/lib64/libxcb-xinerama.so  
-- Found XCB: /usr/lib64/libxcb.so;/usr/lib64/libxcb-composite.so;/usr/lib64/libxcb-damage.so;/usr/lib64/libxcb-dri2.so;/usr/lib64/libxcb-ewmh.so;/usr/lib64/libxcb-glx.so;/usr/lib64/libxcb-icccm.so;/usr/lib64/libxcb-image.so;/usr/lib64/libxcb-keysyms.so;/usr/lib64/libxcb-randr.so;/usr/lib64/libxcb-render.so;/usr/lib64/libxcb-render-util.so;/usr/lib64/libxcb-shape.so;/usr/lib64/libxcb-shm.so;/usr/lib64/libxcb-sync.so;/usr/lib64/libxcb-util.so;/usr/lib64/libxcb-xfixes.so;/usr/lib64/libxcb-xtest.so;/usr/lib64/libxcb-xv.so;/usr/lib64/libxcb-xinerama.so  
-- xpp: including xcb proto randr.xml
-- xpp: including xcb proto xproto.xml
-- ---------------------------
--  Build type: Release
--  Compiler C: /usr/bin/cc
--  Compiler C++: /usr/bin/c++
-- ---------------------------
--  Enable ccache support  ON
--  Enable alsa support    ON
--  Enable i3 support      OFF
--  Enable mpd support     ON
--  Enable network support ON
-- ---------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/lemonbuddy-git/src/lemonbuddy/build
Scanning dependencies of target xpp
[  2%] Linking CXX static library libxpp.a
Traceback (most recent call last):
  File "/tmp/lemonbuddy-git/src/lemonbuddy/lib/xpp/generators/cpp_client.py", line 3191, in <module>
    module.generate()
  File "/usr/lib/python3.5/site-packages/xcbgen/state.py", line 106, in generate
    item.out(name)
  File "/tmp/lemonbuddy-git/src/lemonbuddy/lib/xpp/generators/cpp_client.py", line 3042, in cpp_error
    cpp_error = CppError(self, _ns, name, c_name, self.opcodes[name], opcode_name)
  File "/tmp/lemonbuddy-git/src/lemonbuddy/lib/xpp/generators/cpperror.py", line 128, in __init__
    for name in self.names[0:-1]:
TypeError: 'map' object is not subscriptable
make[2]: *** [lib/xpp/CMakeFiles/xpp.dir/build.make:70: lib/xpp/libxpp.a] Error 1
make[1]: *** [CMakeFiles/Makefile2:155: lib/xpp/CMakeFiles/xpp.dir/all] Error 2
make: *** [Makefile:128: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

I think we should for now revert that commit and just use the old version, I will submit a PR shortly. I am also right now creating a PR for xpp to make it work with distros where xcbgen is only available with python3.5 (e.g. arch). After that I will track down which commit broke the lemonbuddy build and will report back, maybe you could enable issue tracking in your xpp fork so I can submit something there.

Display on all Monitors

I would like to see the ability to display the bar on all the monitors present.
And maybe also a way to specify multiple monitors where the bar should be displayed (if the monitor exists)

I am using a dual monitor setup on my desktop and want to share my configs with my laptop that has other names for its monitor (and also only one). Right now I would have to define three bars that only differ in their monitor value, per bar I want to display on each monitor.

High xorg cpu usage

Hi. I'm having unusually high xorg cpu usage when running lemonbuddy with default config:

throttle_limit = 5
throttle_ms = 50

It goes from 3.3% to 10%, with about 7% on average. Is that something normal?

bspwm-module sometimes stops reacting after hibernate

Hi, it's me again!

I'm not sure if its a bug with lemonbuddy or lemonbar-sm, but sometimes after waking my laptop from hibernate mode, the bspwm module stops reacting - i can switch workspaces as usual but the module is not updated.

Cheers,
sconos

P.S. i'm using lemonbuddy-git and lemonbar-sm from AUR

if VGA1 monitor is positioned left of LVDS1, the bar for LVDS1 appears in VGA1

This is a weird bug and I don't understand why it happens, here it is:

captura_27-06-2016-210214

 ~  xrandr 
Screen 0: minimum 8 x 8, current 2766 x 1050, maximum 32767 x 32767
LVDS1 connected primary 1400x1050+1366+0 (normal left inverted right x axis y axis) 305mm x 228mm
   1400x1050     60.02*+  59.98    50.02  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32    56.25  
   704x525       60.00  
   640x480       60.00    59.94  
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 unknown connection (normal left inverted right x axis y axis)
   848x480       59.94 +
   640x480       59.94 +
   1024x768      59.94  
   800x600       59.94  
VGA1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768      59.79*+
   1280x720      60.00  
   1152x720      59.97  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Integrate lemonbar into the project

Integrating lemonbar into the project would solve the issue with people using different forks. A routine of keeping the integration up-to-date (with upstream source) would have to be established.

Would also make it easy to adjust the lemonbar source to our needs.

Battery charging animation display wrong

It's not actually a bug, but I will just leave it here as a feature you might want to add
In some laptop the battery may drop below 100% but it's not charging.
For example, my current battery is 98% but it's not charging until it drops below 95%.
In my case the acpi -b command will be display as:

┌─╼ [ ~ ]
└────╼ acpi -b                                                                                                                                    
Battery 0: Unknown, 98%

Crash with custom/menu

When adding a custom/menu module and pressing the opening label, nothing happens and after a few more clicks the bar crashes with the following message:

terminate called after throwing an instance of 'std::out_of_range'
  what():  basic_string::substr: __pos (which is 18446744073709551615) > this->size() (which is 5)
/usr/bin/lemonbuddy_wrapper: line 41: 30712 Aborted                 (core dumped) $lemonbuddy "$@" -p "$pipe"

My module looks like this (but I don't think it matters):

[module/menu-apps]
type = custom/menu
label-open = Apps
label-close = x
menu-0-0 = Firefox
menu-0-0-exec = firefox &
menu-0-0-foreground = #fba922
menu-0-1 = Chromium
menu-0-1-exec = chromium &
menu-0-1-foreground = #fba922

I have managed to track down the offending code and the program crashes on the following line
https://github.com/jaagr/lemonbuddy/blob/master/src/services/builder.cpp#L398
which is called by
https://github.com/jaagr/lemonbuddy/blob/master/src/modules/menu.cpp#L79

The problem is the val.substring(val.size() - 6) part, since val has at that point a length of 5 and looks like this #C8C6, since on line 393 you shorten val.

I will try to fix this myself, but I'm having problems understanding your logic behind the color_alpha method, so you're probably a lot faster.

exec issue with i3-gaps

I had some issues getting the bar to display on startup using i3-gaps (haven't tested it on base i3, but it's likely similar). As per instructions, I went to ~/.config/i3/config and put

exec_always lemonbuddy_terminate noconfirm
exec_always lemonbuddy_wrapper <bar-name>

However, the bar would not appear. The problem was solved by putting a short delay between the two commands:
exec_always sleep 0.01

Just putting this here in case anyone had the same issue.

Font not found

Hi, I have a problem with fonts with the example config file (and others that I tried).

$lemonbuddy_wrapper example -c ~/.config/lemonbuddy/config
Could not load font "sans:size=8"
lemonbar: invalid option -- 'o'
Could not load font "FontAwesome:size=10:weight=heavy"
lemonbar: invalid option -- 'o'

But I know I have font awesome installed

$fc-list | grep awesome
/usr/share/fonts/TTF/fontawesome-webfont.ttf: FontAwesome:style=Regular

Is there any more doc aboute the declaration onf the fonts in the config file? Or did I do something wrong?

Thanks.

Both AUR and git build fail on Arch Linux 4.5.4

$ git submodule update --init --recursive

fatal: Not a git repository: /home/myusername/lemonbuddy/.git/modules/contrib/i3ipcpp
Unable to find current revision in submodule path 'i3ipcpp'

$yaourt -A lemonbuddy

   used as include directory in directory /tmp/yaourt-tmp-newton/aur-lemonbuddy/src/lemonbuddy/contrib/i3ipcpp/3rd/jsoncpp/include
   used as include directory in directory /tmp/yaourt-tmp-newton/aur-lemonbuddy/src/lemonbuddy/contrib/i3ipcpp/3rd/jsoncpp/include

-- Configuring incomplete, errors occurred!
See also "/tmp/yaourt-tmp-newton/aur-lemonbuddy/src/lemonbuddy/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/yaourt-tmp-newton/aur-lemonbuddy/src/lemonbuddy/build/CMakeFiles/CMakeError.log".
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Makepkg was unable to build lemonbuddy.
==> Restart building lemonbuddy ? [y/N]

I am fairly sure that I have all the dependencies required. Thanks this looks like a really cool project.

ability to continue if (network) device is not found

Hi,

I have a laptop without an ethernet interface, but on my desktop there is a usb3 interface i use. I also would like to show the status of my vpn setup.

For example, my vpn (tunnel) interface is on /dev/tun0 . If i use this config:

[module/network]
type = internal/network
interface = tun0

and the vpn is not set, lemmonbuddy crashes.

It would be nice to have a status not available of some kind of if statement

MPD remote host

The ability to chose a specific host of the mpd module would be helpful for remote setups as it is currently impossible to do this with lemonbuddy.

Auto reload configutations

I would like to see a feature that when you edit your configuration the bar automatically refreshes and loads it. It would be perfect for not to be constantly killing and relaunching the bar when you are configurating it

Possible to set max lenght for song label?

Hi I was wondering if it's possible to set a max length for the song label? I haven't found the option anywhere and in my opinion it would be nice to have. So might be a possible enhancement or just me being blind. 😄

Support for environment variables

I don't tweak it much, but I've been using it for a while now and it's a fantastic tool. Typically when I change xresources colors or connect a monitor I'd like lemonbuddy to comply. This can be done without changing the config if I can access environment variables.

low battery option

Hi bro,

i was contempling my bar, but i saw there is no "low" option for the battery, there is a full one, as "full_at", or "format-full-background" for example, but neither "low_at" nor "format-low-*".

Is that me that is a dumb idiot which can't read a wiki ? Or is that lemonbuddy that doesn't support that ? (in this case, is that planned ?)

thx, sorry for my franglish 👍

LemonBar crashes on-click

In the module for i3 workspaces, if you happen to click in between (or double click on) the workspaces, it happens to crash the bar.

Log:

$ lemonbuddy_wrapper top  
terminate called after throwing an instance of 'i3ipc::invalid_reply_payload_error'
  what():  Failed to parse reply on "COMMAND":  first item of root expected to be an object
/usr/bin/lemonbuddy_wrapper: line 41: 12169 Aborted                 (core dumped) $lemonbuddy "$@" -p "$pipe"

Ubuntu RANDR (VMware workstation)

Hi,

I compiled lemonbuddy as per instructions in the README, and get the following when attempting to run lemonbuddy_wrapper.sh example:

[[[
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 141 (RANDR)
Minor opcode of failed request: 42 ()
Serial number of failed request: 10
Current serial number in the output stream: 10
]]]

This appears to be related to RANDR:getMonitors. Under a VM, these will be listed as Virtual1.. Virtual8, I'm wondering if this is the problem. If so, then I guess I can get the monitor information by hand and populate the monitor list myself.

Environment:
Ubuntu 15.10, kernel 4.3.0 (opengl 3.3, confirmed with steam)
VMware Workstation 12

Any other hints would be most helpful!

Cheers,

Rowland

HIgh CPU/Memory load

Hi Jaagr!

First of all, thanks for this awesome bar, i really love how simple it is!

Now to my issue: i constantly have a CPU load of about 10 percent and from time to time, lemonbuddy start to use up nearly all of my CPU and RAM.
I shamelessly stole your Lemonbuddy configurationfile so there should be no problems.

My system runs on an Arch with an i5 4210U CPU und 8GB RAM and i use bspwm :)

Thanks in advance - I'm quite new to linux but i'll try to get more information out of my system!

Pleas find attached a sample top and htop output
2016-06-18-185810_1920x1080_scrot
2016-06-18-190341_1920x1080_scrot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.