From 1b4b708b26f650fd41a65f986859e0f8760ee1df Mon Sep 17 00:00:00 2001
From: Patrick Ziegler
Date: Wed, 2 May 2018 15:55:12 +0200
Subject: [PATCH] Add Eventstruct error
---
Known-Issues.md | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/Known-Issues.md b/Known-Issues.md
index ececf23..f8cbc2b 100644
--- a/Known-Issues.md
+++ b/Known-Issues.md
@@ -4,6 +4,7 @@ This page lists some of the issues one can encounter when using polybar. Either
- [Error While Loading Shared Libraries: libjsoncpp](#error-while-loading-shared-libraries-libjsoncpp)
- [Setting Module Backgrounds when using Gradients](#setting-module-backgrounds-when-using-gradients)
- [`override-redirect` in i3](#override-redirect-in-i3)
+- [KeyError: 'eventstruct'](#keyerror-eventstruct)
## Error While Loading Shared Libraries: libjsoncpp
**Problem:** When you update the `jsoncpp` package, you might get the following error, when trying to run polybar:
@@ -24,4 +25,22 @@ This behaviour was introduced in [`#831`](https://github.com/jaagr/polybar/pull/
## `override-redirect` in i3
**Problem:** i3 and polybar sometimes interact quite weirdly and often `override-redirect = true` is needed to resolve it. This however makes i3 not reserve space for the polybar window, making other windows overlap polybar. There doesn't seem to be that much that we can do about this from polybar's side, because as soon as we need to use `override-redirect = true`, we can't tell i3 to reserve space for the polybar window.
-**Workaround:** The workaround that some people use, is to create a full-width fully transparent dummy bar on the same monitor and in the same position (with `override-redirect = false`), so that i3 reserves space for this dummy bar, effectively also reserving space for our actual bar. The real bar may need to have `wm-restack = i3` set for it to not overlap with fullscreen windows. **Note:** This requires that you have a composition manager running because the dummy bar may overlap the real bar.
\ No newline at end of file
+**Workaround:** The workaround that some people use, is to create a full-width fully transparent dummy bar on the same monitor and in the same position (with `override-redirect = false`), so that i3 reserves space for this dummy bar, effectively also reserving space for our actual bar. The real bar may need to have `wm-restack = i3` set for it to not overlap with fullscreen windows. **Note:** This requires that you have a composition manager running because the dummy bar may overlap the real bar.
+
+## KeyError: 'eventstruct'
+**Problem:** When building version 3.1.0, during `make` (or `sudo make install`), you may get the following error:
+```python
+Traceback (most recent call last):
+ File "/tmp/polybar/lib/xpp/generators/cpp_client.py", line 3163, in
+ from xcbgen.state import Module
+ File "/usr/lib/python3.6/site-packages/xcbgen/state.py", line 7, in
+ from xcbgen import matcher
+ File "/usr/lib/python3.6/site-packages/xcbgen/matcher.py", line 12, in
+ from xcbgen.xtypes import *
+ File "/usr/lib/python3.6/site-packages/xcbgen/xtypes.py", line 1221, in
+ class EventStruct(Union):
+ File "/usr/lib/python3.6/site-packages/xcbgen/xtypes.py", line 1239, in EventStruct
+ out = __main__.output['eventstruct']
+KeyError: 'eventstruct'
+```
+**Fix:** You have to manually update the `xpp` submodule. To do that, go into the `lib/xpp` folder and execute `git checkout master`. After that you can go back into the `build` folder and run `make` again.
\ No newline at end of file