Commit Graph

1464 Commits

Author SHA1 Message Date
a6bfcf8312 Release 3.3.1
Changelog

Fixes:
* `internal/xworkspaces`:
    * Crash when WM doesn't set `_NET_DESKTOP_NAMES` (#1576), see #1462
    * Workspace removal not always detected (#1579), see #1491, #248
* `internal/i3`: Crash when `<label-state>` was not added to `format` (#1591), see #975
* `internal/fs`: Incorrect sizes on some machines (#1612, #1699), see #743
* `internal/network`: Buffer overflow with ipv6 addresses (#1514)
* renderer: Show proper error when imagemagick is used to set the background (#1608), see #1582, #1585
* tray:
    * Wrong background for transparent trays when using `tray-offset-*` (#1571)
    * Build failure on clang8 (#1675), #1674
    * Allow negative offset values for `tray-offset-*` (#1669), see #1666
* build: Link failure when configuring with `-DBUILD_SHARED_LIBS=ON` (#1647, jaagr/xpp#15), see #1628
* controller: Crash when reloading via `SIGUSR1` too fast (#1678), #428
3.3.1
2019-03-25 23:37:48 +01:00
587efdd0f9 refactor(gtest): TestCase->TestSuite
googletest deprecated the TEST_CASE terminology in
3a460a26b7a91abf87af7f31b93d29f930e25c82
2019-03-25 23:37:22 +01:00
d2ac21a178 fix(gtest): INSTANTIATE_TEST_CASE_P with zero variadic arguments
Due to google/googletest#1419 [1], we had to add a comma after the last
argument of INSTANTIATE_TEST_CASE_P.

This was "fixed" in a backwards incompatible way in the googletest
project in 7c4164bf404d899b6d4c74beb1070da5647f55a2

[1]: https://github.com/google/googletest/issues/1419
2019-03-25 23:37:04 +01:00
5789a25a67 fix(tray): fix offset for negative percentage (#1669)
tray-offset-{x,y} were clamped between [0, max_value] rather than [-max_value, max_value]. Therefore negative percentage were ignored.

Fixes #1666
2019-03-25 23:25:06 +01:00
3f98c80e91 fs: Fix incorrect size report on 32bit machines (#1699)
Cast before multiplication to avoid overflow.

Fixes #743
2019-03-25 23:25:06 +01:00
4857192eb4 fix(controller): ignore SIGUSR1 until polybar is fully reloaded. (#1678)
To avoid polybar from being killed by SIGUSR1 during reloading, SIGUSR1 is ignored until the signal is registered in the new polybar process.

As stated in signal(7) man page, the ignored signals are still ignored after a call to a function of the execvX family.

    During an execve(2), the dispositions of handled signals are reset to the default;
    the dispositions of ignored signals are left unchanged.

Fixes #428
2019-03-25 23:25:06 +01:00
44799c91af fix(tray_client): remove copy ctor & assignment operator (#1675)
tray_client class contains a reference so copy assignment operator is implicitly deleted.
the dtor unembed the window so copying the class could lead to bug so the copy ctor is also deleted.

Fixes #1674
2019-03-25 23:25:05 +01:00
2e2c02b8df git(xpp): Update submodule ref (#1647)
This fixes the link failure when configured with -DBUILD_SHARED_LIBS=ON
as reported in #1628. xpp will now always build a static lib

Ref jaagr/xpp#15
2019-03-25 23:25:05 +01:00
ca0da3d9ac fix(xworkspace): Fully support _NET_DESKTOP_NAMES spec (#1579)
Ref https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#idm140200472706208

Fixes #1491
Fixes #248
Closes #904
2019-03-25 23:25:05 +01:00
4c9d4fbe8d fix(net): buffer overflow when gathering ipv6 addr 2019-03-25 23:25:05 +01:00
e582776c84 fix(renderer): Handling of missing root pixmap (#1608)
Polybar had issues when there is no background set or set by a tool like imagemagick which doesn't add the root pixmap to the root window properties.

There's not much we can do about it, but at least polybar doesn't crash anymore.

Fixes #1582 
Fixes #1585 

* fix(tray_manager): only enable transparency if neccessary

Previously, we always enabled transparency

* fix(background_manager): avoid needless fetching

* fix(renderer): move logging message to correct place

* fix(background_manager): handle dummy pixmap (_XSETROOT_ID) right

* fix(background_manager): more initialization + don't free on error

Freeing on error is incorrect, since we could still be called again later in
which case we still need the resources.

* fix(background_manager): add more infos to trace logs

* fix(background): correct typo (XROOTMAP -> XROOTPMAP)

* fix(background_manager): do not report "no background" as error

* style(background_manager): use braces for if

Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com>

* fix(background_manager): better error message for dummy pixmap

Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com>

* style(background): some more style fixes

* fix(connection): initialize pixmap in all cases in root_pixmap()

* style(connection): improve readability using early return
2019-03-25 23:25:05 +01:00
d112718cca fix(fs): Calculate free bytes properly
Seems this was missed in a682d2af91

This is now also consistent with what df does

Closes #743
2019-03-25 23:25:05 +01:00
8f77255f83 fix(i3): crash without <label-state> (#1591)
Fixes #975
2019-03-25 23:25:05 +01:00
ff8c2d7c0c aur: fix tar url 2019-03-25 23:25:04 +01:00
e5eafe1d8b build: Add build instructions for tar file 2019-03-25 23:25:04 +01:00
ecfbd0a4ba aur: Use tar file for polybar package
We provide the polybar.tar as part of our release process so it is more
efficient to let users build directly from the uploaded archive
2019-03-25 23:25:04 +01:00
78ae2082ed fix(tray): correctly handle transparency when using offset (#1571)
This patch adds support for observing multiple slices of the desktop background.
This is used for the tray so that it doesn't have to rely on the bar's rect to
get the desktop background. In particular, it now handles the case where the
tray is not contained fully within the bar's outer rect (for example, when using tray-offset-{x,y})

Co-Authored-By: bennofs <benno.fuenfstueck@gmail.com>
2019-03-25 23:25:04 +01:00
9702eed719 fix(xworkspaces): FPE when no _NET_DESKTOP_NAMES (#1576)
Fixes #1462
2019-03-25 23:25:02 +01:00
c3ef99b719 Release 3.3.0 (#1543)
### Breaking Changes:
None

### Changelog

**New Config Options**
The following config options were added

In the `[settings]` section:
* `pseudo-transparency`

In `internal/cpu`:
* `ramp-coreload-spacing`, spacing between elements in `<ramp-coreload>` elements
* `%percentage-sum%` in `label`. Shows sum of all percentages

In `custom/script`:
* `double-click-left`
* `double-click-middle`
* `double-click-right`

In `internal/pulseaudio`:
* `interval`, volume increase and decrease steps in percentage points

In `internal/memory`:
* `bar-swap-used`
* `bar-swap-free`
* `ramp-swap-used`
* `ramp-swap-free`

**Deprecations**
* `tray-transparent` in the bar section is no longer used. The tray now always uses pseudo-transparency

**Features**
* volume: adjustable volume steps (#1364), see #1361
* memory: Add progress bars and ramps for swap (#1325)
* render: pseudo-transparency (always used in the tray)  (#595)
* cpu: 
    * Configurable spacing in between coreloads (#1472), see #1389
    * Non-normalized cpu load (#1517), see #1516
* script: Double click actions (#1442)
* net: Support for bridge interfaces (#1528), see #1522
* token: zero pad tokens when min-width value starts with a `0` (#1341), see #1332

**Fixes**
* config: Use font patterns detected on system in sample config (#1350)
* net: Disconnected module when SSID is only an emoji (#1371), see #1367
* tray: Tray overlapping with bar (#1392), see #591
* build: Several build errors (#1395, #1454, #1470, jaagr/xpp#12, #1493), see #1447, #1469, #750, #1492
* mpd: format-online-prefix not working (#1402), see #1399
* font: Crash for some font-patterns (#1451), see #1435
* script: 
    * Only `%counter%` or `%pid%` token usable, never both (#1456)
    * click actions with colons in them (#1457), see #984
* renderer: Bar locks up when xorg composite extension is disabled (#1430), see #1425
3.3.0
2018-12-23 21:36:30 +01:00
bc9eddfcae fix(git): Don't ignore build.sh (#1545) 2018-12-12 21:27:46 +01:00
cc8947ac01 feat(cpu): Add percentage-sum token (#1517)
Adds `%percentage-sum%` token to cpu label that contains the cumulative load of all cores.
2018-12-03 01:48:18 +01:00
35c0c4a343 fix(xcb): check for composite extension (#1430)
* fix(xcb): check for composite extension

* fix(travis): add xcb-composite to deps

* fix(xcb): always include composite when building
2018-12-02 16:39:14 +01:00
9725f8fb04 coverage: Allow small drops in coverage
Most PRs change code where no tests have been written so far and where
adding tests is difficult. Codecov fails all those PRs.

These values should be adjusted once we have better integrated testing
into our workflow and have written better testing infrastructure for
modules and very tightly coupled components
2018-11-30 11:55:31 -08:00
6f88fe11a9 fix(man): Add correct date and version to manpage
The previous approach relied on manually updating the version and date
using a Makefile

This approach dynamically gathers the correct version from git and uses
the date of the latest commit in the branch
2018-11-30 11:50:40 -08:00
669469f149 man: Remove manpages Makefile
Wasn't used in the build process
2018-11-30 11:50:40 -08:00
22af69545a feat(net): Support bridge interfaces (#1528)
Bridge interfaces don't provide linkspeed via ethtool but everything else works the same as with ethernet links.

Fixes #1522
2018-11-28 16:09:00 +01:00
d3e37918e5 CMake refactor (#1510)
* Clean up CMake logic

- removed logic to find CppUnit (no longer used)
- removed "dirs" variable used to pass include directories
- removed add_library function (no longer used)
- removed make_executable function
    * only used in 2 places (polybar and polybar-msg)
    * it was more general than needed, logic is simpler without it
- split polybar into static library and executable
    * this allows linking unit tests to the library

* rename library

* add coverage build

- Added a CMake build type "Coverage" that builds C and C++
  code with the "--coverage" flag (recognized by both GCC and Clang)
- removed "-Wno-missing-field-initializers" from test flags,
  since it didn't seem to be needed any more
- removed logic from tests/CMakeLists to disable "-Werror" and "-pedantic-errors"
  since there didn't seem to be any warnings during the build

* fix whitespace

* update travis

* remove O2 from defalt flags

* allow tests to be built by default make target

* disable Werror for debug builds
2018-11-21 18:46:33 +01:00
f8e4a5932a refactor: Unescape action cmd before emitting 2018-11-16 18:12:26 -08:00
38f551f884 test(parser): Add tests for parse_action_cmd 2018-11-16 18:12:26 -08:00
18e2609f11 fix(builder): Escape all colons in action command
Fixes #984
2018-11-16 18:12:26 -08:00
fa693aecf8 feat(script): Add double-click to script module (#1442) 2018-11-16 16:06:04 +01:00
bf0b663549 Center logo and badges (#1420) 2018-11-11 15:18:36 +01:00
6ca4f06785 doc: Convert @ to \ doxygen commands
Ref #1377
2018-11-04 19:28:27 -08:00
07d35df538 fix(net): make sure WITH_LIBNL is defined before checking 2018-11-01 19:50:33 +01:00
01f4957485 fix(font): Check FcNameParse return value
If FcNameParse returns NULL FcDefaultSubstitute segfaults

We log and throw an error here because the signal emitter swallows all
exceptions so if that exception was thrown, the bar would stop rendering
without any indication as to why.

Fixes #1435
2018-10-31 17:13:57 -07:00
3c504bb913 fix(build): remove side-effects of iwlib.h
wireless_tools 29 redefines inline in iwlib.h as:
    #define inline inline __attribute__((always_inline))

which conflicts with POLYBAR_NS, which is defined as:

    #define POLYBAR_NS    \
      namespace polybar { \
        inline namespace APP_VERSION_NAMESPACE {

In version 30.pre9 this #define is moved into a source file and thus
cannot conflict.

The error only occurs when building with clang, so it seems gcc and
clang handle this differently

Fixes #1492
2018-10-31 17:00:13 -07:00
152125dce9 git(xpp): Update submodule ref
This contains the fix for the xml proto file directory on exherbo

Fixes #750
2018-10-17 23:07:05 -07:00
3b32f5899a fix: Move return value of parse_layout_symbol
Fixes #1469
2018-10-16 11:05:14 -07:00
5f23114cab Accept a locally existing build-directory (#1476)
A message is emitted and there the '--force' is still honored. However,
if people want to reuse the build-directory to reduce recompile-times,
this give them the rope they ask for.
2018-10-16 18:14:03 +02:00
b80023fd41 feat(cpu): Add ramp-coreload-spacing (#1472)
Resolves #1389
2018-10-16 01:11:05 +02:00
6d0cfbdfde Revert "feat(cpu): Add ramp-coreload-spacing (#1472)"
This reverts commit 06adef1055.
2018-10-16 01:01:11 +02:00
06adef1055 feat(cpu): Add ramp-coreload-spacing (#1472)
Resolves #1389
2018-10-16 00:59:45 +02:00
abdd5f9233 fix(script): Avoid duplicate action tags for tailed
If a tailed command is used polybar would generate two action tags, one
with %counter% replaced and one with %pid% replaced, but never both

This is a bug that was introduced in #934
2018-10-08 21:38:25 -07:00
13b0ee7454 tray: Properly deprecate tray-transparent 2018-10-04 15:52:03 +02:00
70807a5a9f fix(renderer): remove debug code, add comment 2018-10-04 15:52:03 +02:00
6237e2d419 fix(renderer): fix pseudo-transparency wrong compositing
The idea is that pseudo-transparency should behave like real transparency as
much as possible. To achieve this, we now render the bar the same way in both
cases. The only part where pseudo-transparency differs is at the very end, where
the rendered bar is captured and composited against the desktop background
image. This should ensure that both modes behave the same.
2018-10-04 15:52:03 +02:00
9a92772617 fix(renderer): default m_comp_bg to OVER if pseudo-transparent 2018-10-04 15:52:03 +02:00
b20ad041e9 docs(signal): document newly added signals 2018-10-04 15:52:03 +02:00
2d385150bd fix(background_manager): more cleanup in deactivate
This has no effects on bar behaviour, as `deactivate` is currently not used anywhere.
2018-10-04 15:52:03 +02:00
15b84dda07 docs(background_manager): add comments 2018-10-04 15:52:03 +02:00