Commit Graph

696 Commits

Author SHA1 Message Date
NBonaparte
83784fde14 feat(alsa): add volume interval option 2018-08-07 11:52:38 +02:00
memeplex
1d6d44f4e9 feat(token): Zero pad when min val starts with '0' (#1341)
Closes #1332
2018-07-23 15:49:02 +02:00
Patrick Ziegler
934e277ccd
Release 3.2.0 (#1338)
Breaking Changes:

* `0 < label-NAME-maxlen < 3` will now throw an exception and disable the containing module, if ellipsis is enabled for that label. (#1198)

Changelog:

Deprecations:
* `internal/volume` is now called `internal/alsa` (#967)
* temperature: The `%temperature%` is deprecated in favor of `%temperature-c%`(#897)
* mpd: `icon-repeatone` is deprecated in favor of `icon-single` (#1295), see #1279

Features:
* feat(mpd): Add support for icon-consume (#861)
* feat(bspwm): Add workspace separator (#942) 
* feat(i3): Add workspace separator (#938), see #929
* feat(build): Make polybar build on FreeBSD (#931, jaagr/xpp#8), see #239
* feat(volume): Add pulseaudio backend (#779)
* feat(script): Add %pid% token for tail commands (#934)
* feat(temp): Add temperature tokens without unit (#897)
* feat(memory): Add memory used/free ramp (#1038), see #1037
* feat(memory): Add swap tokens (#1018) 
* feat(net): Add unknown-as-up option (#1077), see #457
* feat(config): Support fractional size and offset (#972), see #953
* feat(xwindow): Add label-empty (#1136)
* feat(battery): Add animation-discharging (analog to animation-charging) (#1190)
* feat(config): Support pixel offset for bar size and offset values (#1224)
* feat(mpd): Add `%album-artist%` token (#1263)
* feat(net): Add local_ip6 token (#1239), see #1234
* feat(net): Add nl80211 support (#1009), see #277

Fixes:
* fix(mpd): Wrong elapsed time when after standby (#921), see #915
* fix(config): Wrong min, maxlen when using the same token multiple times (#974), see #971
* fix(battery): use power_now correctly (#958), see #928
* fix(mpd): Crash when mpd isn't running (#983), see #979
* fix(xworkspaces): Respect 'enable-scroll' (#1002)
* fix(xbacklight): Respect 'enable-scroll' (#1014)
* fix(build): support xcb-proto >=1.13 (jaagr/xpp#11), see #973
* fix(mpd): Respect MPD_HOST env variable (#1025), see #1007
* fix(i3): Reconnect i3 IPC socket on restart/error (#1099), see #762
* fix(cursor): Occasional crash on mouseover (#1124), see #1117
* fix(net): Mark 'not connected' on querying failure (#1171), see #1163
* fix(gcc): Fix -Wstringop-truncation warning (#1216, jaagr/i3ipcpp#7), see #1215
* fix(builder): Don't truncate colors with same channels (#1217), see #1183
* fix(bspwm): Consistent behavior when scrolling through multiple desktops (#986), see #981
* fix(builder): Respect label-ellipsis option (#1198), see #1194
2018-07-23 15:17:29 +02:00
patrick96
0346a965a7 refactor(builder): No exception when maxlen < 3
The check of the maxlen and ellipsis condition was also moved to the
label creation, this way get_label_text doesn't need to care about the
restrictions placed on maxlen and ellipsis
2018-07-22 14:02:15 -07:00
patrick96
4b83468eb9 refactor(builder): Add failing test for ellipsis
Adds failing tests for the bug described in #1194
2018-07-22 14:02:15 -07:00
patrick96
028b1413ef refactor(mpd): Replace icon-repeatone with icon-single
The repeatone button doesn't influence repeating behaviour at all, so
the name is misleading.

This deprecates icon-repeatone for now, until we can completely remove
it

Fixes #1279
2018-06-23 10:14:30 +02:00
taschenb
3afc341c7b feat(net): Add nl80211 support (#1009)
This patch enables support for nl80211. In case the libnl-genl-3.0
library isn't found, it will fall back to Wext instead.
The library to use can also be manually set with the CMake option
WITH_LIBNL.

The Wireless-Extensions (WE or Wext) are deprecated and long replaced
by cfg80211.

Although Wext isn't used by WiFi drivers anymore, CFG80211_WEXT allows
old tools to communicate with modern drivers by providing a wrapper
API.
2018-06-18 20:16:09 -07:00
patrick96
6157c697bc refactor(build): List xkeyboard in cmake and polybar -v 2018-06-18 11:49:31 +02:00
sqwishy
d1d307d500 feat(net): Add local_ip6 token (#1239)
It's queried the same way ipv4 addresses are queried, but here it displays globally routable addresses. If there are multiple such addresses, it picks one (same as with ipv4). It's possible that an address discovered this way is not in fact globally reachable but still marked as global.
2018-06-10 22:51:43 +02:00
tamago
b70d5b55d8 feat(mpd): add support for MPD_TAG_ALBUM_ARTIST 2018-05-31 20:12:23 -07:00
patrick96
22542afc73 bar: Add comment to geom_format_to_pixels 2018-05-10 00:05:18 +02:00
patrick96
4e5628dd5f bar: Use strtod instead of strtof
This makes the function more consistent, since it actually returns a
double and it also fixes the tests that use EXPECT_DOUBLE_EQ
2018-05-10 00:05:18 +02:00
patrick96
20f3d9a141 refactor: Don't initialize forward declared members
Using brace initialization here causes bar.hpp to not compile when
included on its own, forcing all clients to also include
tray_manager.hpp and so on, which defeats the purpose of forward
declaring those classes.

This also allows us to remove the tray_manager.hpp, renderer.hpp and
parser.hpp includes from the clients of bar.hpp
2018-05-10 00:05:18 +02:00
lukediamond
c2ac93db55 Added support for mixed percent/pixel geometry. 2018-05-10 00:05:18 +02:00
NBonaparte
f2010edf94 fix(pulseaudio): fix max_volume naming 2018-05-05 10:57:01 +02:00
NBonaparte
4bf73ddd81 fix(pulseaudio): listen for default sink changes, and use @DEFAULT_SINK@
Using @DEFAULT_SINK@ macro avoids having to retrieve default sink name
2018-05-05 10:57:01 +02:00
Christoph Schiessl
2a9d5db179 feat(battery): implement animation-discharging 2018-05-02 11:44:55 +02:00
Kajzer
688658c306 (pulseaudio) Add max volume configuration 2018-04-09 20:27:55 -07:00
patrick96
1d20df00e8 fix(ycm): Fix ycm error
All files that include base.inl also include base.hpp but technically
it's required for it to compile
2018-04-08 02:30:04 +02:00
patrick96
36ea6fbff8 Revert "fix(pulseaudio): add mutex for queue"
This reverts commit d430174f0b.
Mutual exclusion is already guaranteed by the lock on
pa_threaded_mainloop

Fixes #1139
2018-04-07 13:52:48 -07:00
Keno Goertz
d31570fe2f feat(xwindow): Add label-empty
Allows for custom text, when window title is empty
2018-04-02 00:00:16 +02:00
patrick96
8f75e685cc fix(log): Actually enable trace logging by default 2018-03-31 13:40:06 -07:00
NBonaparte
d430174f0b fix(pulseaudio): add mutex for queue 2018-03-31 00:52:17 +02:00
patrick96
3ea60ace91 fix(pulse): Use distinct event names
volup, voldow, volmute, are caught by the alsa module, if there is an
alsa module on the bar.
2018-03-27 11:28:54 -07:00
Kyle Cook
0f34178104 Add FreeBSD Support (#931) 2018-03-21 23:35:10 +01:00
NBonaparte
0a8a326730 feat(net): Add unknown-as-up option
Fixes #457
2018-03-04 23:09:18 +01:00
Alexander
4f6e37449b feat(memory): Add swap tokens (#1018) 2018-02-25 12:12:38 +01:00
patrick96
2f62a6fbad feat(memory): Add memory used/free ramp
Closes #1037
2018-02-19 14:30:30 -08:00
patrick96
c30159abc6 feat(temp): Add units option
Avoids having lots of tokens
2018-02-15 18:50:59 -08:00
patrick96
078bcd5e7d Respect MPD_HOST env variable
Fixes #1007
2018-02-15 17:45:41 -08:00
NBonaparte
989bc00082 fix(alsa): use correct module_name 2018-02-11 17:04:08 +01:00
patrick96
26abd0f6c4 fix(mpd): Check m_status before dereferencing it
This bug was introduced in 645a3142a1

Fixes #979
2018-01-31 22:17:25 -08:00
NBonaparte
5ca1940629 fix(alsa): use correct name for deprecation 2018-01-27 09:12:09 +01:00
NBonaparte
06dee3dedd fix(volume): Warn instead of throw 2018-01-23 14:33:11 +01:00
NBonaparte
e16227ca43 refactor(alsa): rename and move volume -> alsa 2018-01-23 14:33:11 +01:00
NBonaparte
818bcbd0b5 volume: use internal/alsa instead of internal/volume 2018-01-23 14:33:11 +01:00
patrick96
f79aeac872 feat(script): Add %pid% token for tail commands
Is replaced with the pid of the exec command
2018-01-21 14:41:52 -08:00
NBonaparte
10656a94cb fix(pulseaudio): prevent nonresponsiveness and remove redundant getters 2018-01-20 12:37:41 -08:00
NBonaparte
1f35b9dc89 fix(pulseaudio): Add logging 2018-01-20 12:37:41 -08:00
NBonaparte
8be5427c33 refactor(pulseaudio): remove headphone ramp 2018-01-20 12:37:41 -08:00
NBonaparte
1792090d66 refactor(pulseaudio): remove wait timeout, fix indents 2018-01-20 12:37:41 -08:00
NBonaparte
6e8b9dea29 fix(pulseaudio): Move pulseaudio to separate module 2018-01-20 12:37:41 -08:00
NBonaparte
a08c5c710a fix(pulseaudio): fix get_name(), cleanup 2018-01-20 12:37:41 -08:00
NBonaparte
5c6b56614e fix(pulseaudio): Rewrite error checking 2018-01-20 12:37:41 -08:00
NBonaparte
916c7b6852 refactor(pulseaudio): Use index instead of name to track sinks 2018-01-20 12:37:41 -08:00
NBonaparte
23ee9afb6f fix(pulseaudio): Use inc_volume() instead of set_volume() 2018-01-20 12:37:41 -08:00
NBonaparte
318a6d83cf refactor(pulseaudio): Move loop to inline function 2018-01-20 12:37:41 -08:00
NBonaparte
4f15f42f2c fix(build): Only use one volume backend 2018-01-20 12:37:41 -08:00
NBonaparte
81913cf181 wip(pulseaudio): create pulseaudio backend 2018-01-20 12:37:41 -08:00
patrick96
645a3142a1 fix(mpd): Always update mpd data
Only updating when an mpd event occurred would cause issues when mpd was
playing and the machine was put to sleep because the elapsed time was
calculated by taking the time difference of the last update and now
which would give you wrong numbers, if the machine was in standby in
between.

Since the update function on the module is only called once a second (or
when an event happens), we can just update the data every time without a
huge performance hit.

Fixes #915
2018-01-15 19:32:02 +01:00
Patrick Ziegler
d8414c6ec5 feat(i3): Add workspace separator (#938)
Puts a label-separator node between workspaces on the bar. Since the
separator uses a label it can be configured like any other label

Closes: #929
2018-01-06 16:19:02 -08:00
Patrick Ziegler
a7eb7b3576 feat(bspwm): Add workspace separator (#942)
Same as the i3 workspace separator
2018-01-06 16:18:09 -08:00
Jens Henniges
d3abcc97f6 feat(mpd): Add support for icon-consume (#861) 2017-12-04 11:38:17 -08:00
Patrick Ziegler
bf16a4d415
Release 3.1.0 (#863)
Breaking Changes:

* Date module no longer supports non-padded specifiers (i.e. `%-d`) and potentially other specifiers, see #792
  - Check http://en.cppreference.com/w/cpp/io/manip/put_time to see supported specifiers
* Setting background color to `background-0` with gradients (refer to https://github.com/jaagr/polybar/wiki/Known-Issues)

Changelog:

Features:
* Feat(mpd): State-specific formats (`format-playing`, `format-paused`, `format-stopped`) (#567), see #524 
* Feat(ipc): Visibility commands (show, hide, toggle, restart, quit) (b6c5563)
* Feat(shell): Bash completion (#588)
* Feat(menu): `expand-right` option (#658), see #655
* Feat(temperature): hwmon sysfs support (#688), see #404 
* Feat(cursor): Change cursors over clickable/scrollable areas (#727), see #721  
* Feat(temperature): Fahrenheit and Celsius tokens (#804)
* Feat(mpd): Use mpd name tag or URI as fallback for title-less tracks (#823), see #815 

Fixes:
* Fix(i3): Clicking workspaces without index (#521), see #520 
* Fix(parser): Prefix options overriding format options (#729), see #544
* Fix(parser): Overline tags (eebf105)
* Fix(process_util): Prefix shell environment variable (`$POLYBAR_SHELL`) (86ff947), see #566 
* Fix(parser): `%{R}` tag (reverse colors) (0bd8f1f), see #585 
* Fix(renderer): Center block position with tray (389bae2 & #673), see #551 & #672 
* Fix(xworkpaces): Active workspace with XMonad (#587), see #411 & #535 
* Fix(config): Expand tilde, environment variable (d3b0670 & #724), see #603 & #719 
* Fix(build): Remove curlbuild.h (#648), see #647 
* Fix(renderer): Off by one error for actions (#663), see #661 
* Fix(gcc): GCC 7.1 ([jaagr/xpp/#6](https://github.com/jaagr/xpp/pull/6))
* Fix(fs): Use `bytes_available` for `percentage_used` (138f5fa), see #710
* Fix(fs): Use `f_frsize` for calculations (a682d2a)
* Fix(date): Remove date string length limitation (#745), see #754 
* Fix(renderer): Nested actions (#772), see #760 and #758
* Fix(i3): Check and warn if current workspace not found (#826), see #824 
* Fix(github): Prevent module disappearing with no connection (#811), see #810 
* Fix(renderer): Module gradients (#831), see #759 
* Fix(build): Update deprecated jsoncpp Reader
2017-12-03 18:03:49 +01:00
Kókai Péter
3f9f2dc37f fix(github): Handle curl exceptions and bad status codes (#811)
If any error occurs, a warning is logged and -1 
is displayed as the number of notifications
2017-11-07 23:29:44 +01:00
NBonaparte
5b7d7b8232 Merge pull request #729 from NBonaparte/fix-prefix-suffix
fix(modules): Separate prefix/suffix tags, revert tag stack
2017-09-24 14:00:34 -07:00
Patrick Ziegler
4663d01a51 Merge pull request #727 from NBonaparte/change-cursor
feat: Change cursors over clickable/scrollable areas
2017-09-17 22:33:32 +02:00
NBonaparte
e612fe1624 refactor(cursor): use map for cursor list 2017-09-16 15:31:24 -07:00
NBonaparte
b7f1960a0a fix(cursor): change arrow_names to default_names 2017-09-16 15:31:24 -07:00
NBonaparte
1dc111c0fa fix: make xcb-cursor optional for now 2017-09-16 15:31:24 -07:00
NBonaparte
65edba3321 feat: add cursor change 2017-09-16 15:31:24 -07:00
patrick96
1bc9933a88
refactor(date): Use single stringstream
Reduces code repetition and removes the need for setting the locale in
every update
2017-09-15 14:21:38 +02:00
patrick96
6e9e739d81
fix(date): Remove string length limitation
Fixes #744
2017-09-15 14:13:35 +02:00
NBonaparte
3ce06585ab fix(parser): Revert tag stacks 2017-09-06 20:16:08 -07:00
NBonaparte
e329a8150a fix(config): Expand all environment variables and file references (#724) 2017-09-04 14:00:35 -07:00
Patrick Ziegler
8c1ba8358d feat(menu): Add expand-right option (#658)
expand-right defaults to true to preserve the current functionality
If set to false, the items in the menu will be added to the left of the
toggle label (instead of the right side)

Should resolve the issue discussed in #655
2017-08-29 13:25:41 -07:00
Patrick Ziegler
9b98b766b2 Fix off by one error for action area (#663)
If the mouse was at the leftmost edge of the screen and there was an
action area from 0 to N, the click wouldn't register

Before if an action area was defined from A to B it was from A exclusive
to B inclusive now it is from A inclusive to B exclusive. This is the
same way that the pixel addresses work, since a pixel's coordinate is
defined by the top-left corner.

Fixes #661
2017-08-29 11:58:23 -07:00
Michael Carlberg
d3b0670f30 fix(config): Perform tilde expansion on include-file #603 2017-06-02 18:34:49 +02:00
Michael Carlberg
0bd8f1f69a fix(parser): Proper handling of %{R} #585 2017-05-17 23:11:06 +02:00
Michael Carlberg
5af5292808 Revert "fix(parser): Use value stacks for %{R} tag #585"
This reverts commit d141d8b5e4.
2017-05-17 22:20:38 +02:00
Michael Carlberg
d141d8b5e4 fix(parser): Use value stacks for %{R} tag #585 2017-05-17 22:06:12 +02:00
Michael Carlberg
b6c5563b0b feat(ipc): Add visibility commands 2017-05-12 17:55:05 +02:00
Vasili Karaev
5c41e3d045 feat(mpd): Add state-specific formats #524 2017-05-09 14:56:29 +02:00
Michael Carlberg
b2f00cc08a feat(parser): Stack font indexes set with %{T} 2017-04-26 19:25:42 +02:00
Michael Carlberg
24b2de5534 refactor(parser): Naming of parse methods 2017-04-26 19:25:02 +02:00
Michael Carlberg
f754fa2710 feat(parser): Keep track of formatting colors #544 2017-04-25 20:26:56 +02:00
Vasili Karaev
863c510903 fix(i3): Use ws name for click handling #520 2017-04-06 06:22:11 +03:00
Michael Carlberg
4e2e2a7a5e build: Bump version to 3.0.5 2017-04-03 23:56:04 +02:00
Michael Carlberg
02833b7871 feat(volume): Optional event handling #84 2017-04-02 18:12:07 +02:00
Michael Carlberg
f3089e88f2 feat(conf): Properties for top/bottom radius #445 2017-03-21 14:49:33 +01:00
raidzero
50aba85ad0 Merge remote-tracking branch 'upstream/master' 2017-02-23 14:50:09 -07:00
Adam Ransom
47bc459742 fix(bspwm): Update when focusing urgent desktops
When focusing a desktop with the urgent flag, two events are received
from `bspc` simultaneously, separated by a newline character.

This was not handled correctly and the second event was discarded causing
the urgent style to be removed, but the focused style would remain on the
previously focused desktop.

This fixes the problem by handling any number of events that arrive at the
same time (separated by newlines).
2017-02-23 13:28:26 +01:00
NBonaparte
44f12c6065 feat(xworkspaces): add urgent desktop detection 2017-02-23 13:20:26 +01:00
raidzero
93c425fdfe Add battery usage/charge in watts token %consumption% 2017-02-16 14:35:43 -07:00
Chase Geigle
73faa18cf0 fix(label): Truncate label replacements based on codepoint count
This helps ensure that when a string is truncated it is not done in the
middle of a utf8 multi-byte sequence. This doesn't 100% correspond to
user-perceived characters, but it should be pretty close in most cases.
2017-02-15 14:19:47 +01:00
Michael Carlberg
1d06df25a9 fix(config): Use std::map to store sections #412 2017-02-07 14:56:56 +01:00
Michael Carlberg
1f31870d43 build: Bump version to 3.0.4 2017-02-05 14:09:43 +01:00
Michael Carlberg
384c12a896 fix(xwindow): Lock mutexes on update #416 2017-02-05 13:37:16 +01:00
Michael Carlberg
8146f65286 fix(xrender): Add header declarations #406 2017-02-04 19:13:08 +01:00
Michael Carlberg
6fa2d3943c fix(timer_module): Catch warmup exceptions
Refs #399
2017-01-31 12:38:38 +01:00
László Várady
701102d44b fix(cairo): Fix font prioritization
In the previous implementation, std::find() returned fns.end() several times,
which caused an "Address boundary error" in std::sort if the preferred
font-index was set to m_fonts.size() + 1.

This commit reimplements the font prioritization with a simple swap.

Reproduction steps:

- Start polybar with the following config:

  [bar/top]
  font-0 = NotoSans-Regular:size=8;0
  font-1 = MaterialIcons:size=10;0

  modules-left = date

  [module/date]
  type = internal/date
  date = %Y-%m-%d
  label-font = 3 ; invalid index
2017-01-29 15:16:00 +01:00
László Várady
8a98fb78b6 fix(version): Follow APP_VERSION in POLYBAR_NS 2017-01-29 15:16:00 +01:00
Michael Carlberg
501921ef12 build: Bump version to 3.0.3 2017-01-27 15:53:44 +01:00
Michael Carlberg
3e4a4ce78f fix(renderer): Alignment blocks 2017-01-27 15:36:37 +01:00
Michael Carlberg
beedc5ab84 fix(color_util): Parsing 2017-01-27 13:46:27 +01:00
Michael Carlberg
eb5c82a5c3 fix(modules): Warmup in runner thread to avoid block 2017-01-27 13:29:10 +01:00
Michael Carlberg
042d385015 fix(i3): Add state descriptions 2017-01-27 03:23:42 +01:00
Michael Carlberg
d5d941e663 build: Bump version to 3.0.2 2017-01-26 21:57:01 +01:00
Michael Carlberg
73aa721f90 fix(config): Error message 2017-01-26 21:34:38 +01:00
Michael Carlberg
76c657db70 fix(cmake): Specify configure_file dest 2017-01-26 20:33:13 +01:00