This reverts commit 943d74600eb3791f3fe8344a844e5bc6d17899bb.
This fix the BEMENU_SCALE that was left unused when fractionnal scale
support was detected.
This is rebased over origin/master.
The whole management of monitor_name with the Wayland backend seems heavily
broken, and doesn't allow to (1) select the target output with -m, and (2) to
correctly detect the used output and use correct attributes.
When used with two monitors with different scale values, depending on
the output order, you get a blurry menu.
To fix this we attach a listener to wayland surfaces to store which outputs
it belongs to. This rewrite almost completly the "recreate_windows"
function.
This also drop completly the xdg-output-unstable-v1 protocol, cause v4
already add the "name" event to fetch the output name.
I did not pushed this to support v6, with the new
"preferred_buffer_scale" event, cause anyway we need to fetch the
output max_height.
This also adds scdoc as a dependency.
scdoc is almost as easy as markdown and therefore it's much nicer to
write and maintain manpages making use of it instead of plain roff.
It works on Wayland and X11 and acts as a complement to margin. Exact
behavior is as follows:
- If width factor is 0, width minus margin is used.
- If width multiplied by factor is greater than width minus margin,
width minus is used. (so margin may be used to make sure that bemenu
is at least N pixels away from the view border)
- Otherwise width multiplied by factor is used.
I think it's fine to disable warnings about floating point numbers
comparision. We don't do any arithmetics on them anyway, so we can't
suffer from inaccuracy.
- Much of the existing text was reworded for better understandability.
- The new manpage uses mdoc(7) for better formatting.
Because of this, we can merge bemenu and bemenu-run into a single
file.
Found in Gentoo QA
* QA Notice: The following shared libraries lack a SONAME
* /usr/lib/libbemenu.so.0.4.0
Signed-off-by: Matthew Thode <mthode@mthode.org>
Sadly there is no way to lazily evaluate the prerequsite in rule,
so the pkg-config expansion will always get expanded and throws error
even when you are not compiling wayland.
We track the version from file, so the targets depending on version will
be rebuilt. We also track .git/index, so library and renderers get
rebuilt for new BM_PLUGIN_VERSION on each commit.