Commit Graph

686 Commits

Author SHA1 Message Date
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
Michael Carlberg
874e6b0d6c feat(config): Add directive for file inclusion 2017-01-26 20:10:33 +01:00
Michael Carlberg
febe6997b6 feat(config): Add fallback support to local value references 2017-01-26 19:33:14 +01:00
Michael Carlberg
ca64affa1a fix(cli): Trim -vv output 2017-01-26 17:41:16 +01:00
Michael Carlberg
43a17c3b36 refactor(cmake): Cleanup 2017-01-26 17:39:50 +01:00
Michael Carlberg
897b6e0221 build: Bump version to 3.0.1 2017-01-26 02:40:35 +01:00
Michael Carlberg
5283fbff01 fix(renderer): Fill background to the sub blocks
Paint the background on each sub block instead of the base surface.
Fixes the compositing ops.
2017-01-26 01:53:25 +01:00
Michael Carlberg
8138a12381 refactor(renderer): Cleanup 2017-01-25 23:38:51 +01:00
Michael Carlberg
09808e99f9 refactor(tray): Cleanup 2017-01-25 23:37:16 +01:00
Michael Carlberg
d8d007aa9c refactor(cairo): Cleanup 2017-01-25 23:37:13 +01:00
Michael Carlberg
95d5b03fa2 refactor(file_util): Expand tilde manually 2017-01-25 17:07:55 +01:00
Michael Carlberg
4d6dfd3e2c build: Bump version to 3.0.0 2017-01-25 15:26:44 +01:00
Michael Carlberg
f37ecfe959 fix(renderer): Falloff gradient 2017-01-25 15:00:34 +01:00
Michael Carlberg
14fb86ec70 refactor(cairo): Less greedy glyph matching
Only match glyphs for consecutive characters when
the default/preferred font is being tested.

Refs #374
2017-01-25 12:03:06 +01:00
Michael Carlberg
c7f33e2567 refactor(renderer): Use redirection groups instead of pixmaps 2017-01-25 09:54:18 +01:00
Michael Carlberg
d2eeac9b22 fix(cairo): Use font metrics as vertical baseline
Refs #372
2017-01-25 04:40:59 +01:00
Michael Carlberg
1a25be374f refactor(xworkspaces): Cleanup 2017-01-25 04:35:56 +01:00
Chase Geigle
e7dc6b8bbb fix(renderer): Use proper font scaling based on DPI
This tries to mimic the old renderer's behavior as closely as possible.
In the absence of any information, DPI is assumed to be 96x96. DPI can
be configured on a per-bar basis using the configuration key "dpi".

To use the DPI configuration from Xresources (if built with support),
one can specify the following in the bar config:

dpi = ${xrdb:Xft.dpi:96}
2017-01-25 04:35:35 +01:00
Michael Carlberg
c74a1647ab fix(color_util): Add missing header 2017-01-24 12:37:19 +01:00
Michael Carlberg
31cde9014a fix(x11): Add missing header 2017-01-24 12:09:09 +01:00
Michael Carlberg
e7b4b4992c build: Bump version to 3.0.0-alpha 2017-01-24 12:06:58 +01:00
Michael Carlberg
1a5246e940 refactor(cairo): Use shared_ptr for font list 2017-01-24 11:50:26 +01:00
Michael Carlberg
3e37b9ec8e fix(cairo): Increment textblock bg extents 2017-01-24 11:07:18 +01:00
Michael Carlberg
6692b4a8da refactor(x11): Cleanup 2017-01-24 10:49:14 +01:00
Michael Carlberg
a5d6670121 refactor(clang-tidy): Apply fixes 2017-01-24 08:01:04 +01:00
Michael Carlberg
8b9461e63e wip(refactor): Cairo drawing 2017-01-24 07:41:46 +01:00
Michael Carlberg
6cc7a2c093 fix(color_util): Use lambda 2017-01-24 07:11:14 +01:00
Michael Carlberg
a59e115622 wip(refactor): Cairo drawing 2017-01-24 07:11:14 +01:00
Michael Carlberg
452afcdc68 refactor: Integral types 2017-01-24 07:11:14 +01:00
Michael Carlberg
5e1886a312 wip(refactor): Cairo drawing 2017-01-24 07:11:14 +01:00
Chase Geigle
47a2cce03d fix: Ensure reloading when IN_IGNORED fired on config (#371)
This fixes a "bug" where polybar wouldn't reload on a configuration
file change on some configurations of vim, which don't actually issue
any IN_MODIFY events because they choose to move the file, replace it
with a new one, and then delete the file instead.

To work around this, we now also listen for IN_IGNORED which fires when
the file we are watching is destroyed. When this happens, we re-attach
the configuration file watcher to the new file and reload.
2017-01-24 07:10:55 +01:00
Daniel Lublin
b6661825ce fix(xrm): res_class==nullptr to properly get the resource (#368)
Not sure what "String" was supposed to do, my tests with xcb-xrm gives that
res_class==nullptr properly gets the resource value, =="String" does not.
2017-01-23 17:54:20 +01:00
Patrick Yates
2dfdbd240e feat(bspwm,i3): Fuzzy-matching names for icons
Added support for fuzzy matching workspace names when assigning icons.
This feature is enabled/disabled through a new option, 'fuzzy-match'.
It is disabled by default.
2017-01-23 17:01:30 +01:00
Michael Carlberg
892673c405 fix(config): Require value reference without fallback 2017-01-20 02:31:55 +01:00
Michael Carlberg
e1483c3f65 refactor(xresources): Use xcb-util-xrm
Drop the Xlib version and handle X resource
lookups using xcb-util-xrm

Refs #356
2017-01-20 02:26:01 +01:00
Michael Carlberg
100c64a20c refactor: Make xresource_manager a singleton
Refs #356
2017-01-19 21:27:01 +01:00
Michael Carlberg
90d1fff4e2 fix(xresources): Avoid continuous reconstruction
Refs #356
2017-01-19 20:37:02 +01:00
Michael Carlberg
40d482d039 fix: By-pass double click timers if no handlers are defined
Fixes #338
2017-01-15 02:00:35 +01:00
Michael Carlberg
a964e3bc7d build: Bump version to 2.5.2 2017-01-14 18:17:39 +01:00
Michael Carlberg
3292cea786 refactor(tokens): Move token suffix to configuration 2017-01-14 18:00:35 +01:00
Alexander Polynomdivision
22e255747a Update the mixer class to support setting the name of the soundcard we want to get the mixer of 2017-01-14 17:59:47 +01:00
Michael Carlberg
6250a2b746 fix(streambuf): Buffer size 2017-01-14 09:57:09 +01:00
Michael Carlberg
dceb3606b1 refactor(stringstream): Shorten to sstream 2017-01-14 06:11:51 +01:00
Michael Carlberg
dacf36b981 refactor(ipc): Cleanup 2017-01-14 00:27:29 +01:00
Michael Carlberg
2fea813c3d fix(github): Clear label on empty notifications
Fixes #278
2017-01-13 14:57:31 +01:00
Michael Carlberg
15f880eba4 fix(mpd): Handle broken connections 2017-01-13 13:02:51 +01:00
Michael Carlberg
22140f7db9 refactor(builder): Action wrapped labels 2017-01-13 13:01:46 +01:00
Michael Carlberg
e1dbd98c40 feat(string_util): Custom stringstream 2017-01-13 13:01:22 +01:00
Michael Carlberg
6fb48c8e6f feat(build): Add flag for drawing visible whitespace 2017-01-13 11:04:43 +01:00
Michael Carlberg
f56bb419d2 fix: Format whitespace handling
Refs #325
2017-01-13 10:54:41 +01:00
Michael Carlberg
b48a275235 feat(command_line): Properly handle positional args 2017-01-13 04:47:25 +01:00
Michael Carlberg
385572ec64 feat(xrandr): Support for monitors
Refs #280
2017-01-13 03:52:57 +01:00
Michael Carlberg
462e53d6c8 build: Bump version to 2.5.1 2017-01-13 01:15:52 +01:00
Michael Carlberg
40493497de fix: Allow size_t narrowing 2017-01-13 01:14:50 +01:00
Michael Carlberg
07c0fbdcb3 fix(timer_module): Sleep at beginning since already warmed up 2017-01-12 23:33:36 +01:00
Michael Carlberg
6dd72aa6f7 refactor(fs): Read /proc/self/mountinfo
Refs #271
2017-01-12 23:33:32 +01:00
Michael Carlberg
c737493620 fix(mtab): Add missing header 2017-01-12 21:11:21 +01:00
Michael Carlberg
92cc4d6f40 fix(modules): Warmup module on start 2017-01-12 20:29:08 +01:00
Michael Carlberg
c2ac7fde67 refactor: Filesize strings 2017-01-12 20:28:44 +01:00
Michael Carlberg
16a355a2b7 fix(config): Remove default value for module-margin-right 2017-01-12 17:42:09 +01:00
Michael Carlberg
c26d6d3696 build: Bump version to 2.5.0 2017-01-12 16:37:33 +01:00
Michael Carlberg
f72ddf9294 refactor(signals): Use full namespace 2017-01-12 16:34:14 +01:00
Michael Carlberg
f33d383726 refactor: Wait with tray initialization until ready 2017-01-12 16:12:54 +01:00
Michael Carlberg
5773b08cf8 fix(script): Poll file descriptors 2017-01-11 18:21:58 +01:00
Michael Carlberg
5b33ada576 refactor(common): Cleanup 2017-01-11 07:17:54 +01:00
Michael Carlberg
568837d06a fix(x11): Preload the _NET_WM_WINDOW_OPACITY atom 2017-01-11 05:00:23 +01:00
Michael Carlberg
5c9bfc147c fix(xbacklight): Lower inc/dec value to 5 and fix flooring 2017-01-11 04:40:10 +01:00
Michael Carlberg
e2480da8c6 fix(git): Remove generated file from index 2017-01-11 04:14:20 +01:00
Michael Carlberg
8cc885c316 refactor: Cleanup 2017-01-11 03:07:28 +01:00
Michael Carlberg
30f516dd7d fix(formatting): Make formats parse specs as-is
This removes the spacing tinkering when parsing format specs.
The following example uses the old behavoir:

    format-test = <label-foo>  <label-bar>
    format-breaks = <label-foo><label-bar>/<bar-test>

`format-test` would replace all occurences of ' ' with the
a space string with defined `spacing` as its width. `format-breaks` would
not validate as the tags where split with ' ' as delimiter.

All that nonsense has been removed and each tag is extracted as is.
The `spacing` parameter can still be used to apply N extra whitespaces
between the tags, but it is now 0 by default.
2017-01-11 02:43:37 +01:00
Michael Carlberg
f4e8051e9e refactor(script): Merge back script handling 2017-01-10 05:12:53 +01:00
Michael Carlberg
946843ff59 feat(script): Configurable condition using exec-if
Add new config parameter `exec-if = cmd` that needs to
exit successfully before the main exec command will be invoked.

Closes #298
2017-01-10 03:02:00 +01:00
Michael Carlberg
79856d7ed2 feat(ipc): Add polybar-msg to facilitate ipc messaging 2017-01-10 02:09:33 +01:00
Michael Carlberg
7a26254844 feat(ipc): Initial exec of configured hook
Adds a new config parameter `initial = N` that will
make the hook at defined index N execute on start.
2017-01-09 23:06:41 +01:00
Michael Carlberg
704efe05d2 fix(file_util): Explicit initialization of stream base
Clang 3.8 emits a compiler warning due to the deleted
default constructors of the base class.
2017-01-09 20:48:53 +01:00
Michael Carlberg
66131c807f build: Bump version to 2.4.8 2017-01-09 19:01:14 +01:00
Michael Carlberg
f4406783e2 fix(signals): Use pointer to value
Only pass pointers to emitted signal value since the signal receivers
will be called on the same thread as the signal emitter.

Refs #302
2017-01-09 18:52:04 +01:00
Michael Carlberg
5f6a1f5ae6 fix(xkeyboard): Use separate throttle timers 2017-01-09 16:40:26 +01:00
Michael Carlberg
6925415501 fix(tray): Force bar update on change
Refs #295
2017-01-09 14:27:56 +01:00
Michael Carlberg
5458c433b6 build: Bump version to 2.4.7 2017-01-08 21:30:22 +01:00
Michael Carlberg
e80f5f372f build: Bump version to 2.4.6 2017-01-01 21:42:14 +01:00
Michael Carlberg
e0688307f3 wip(systray): Add module base 2017-01-01 21:28:28 +01:00
Michael Carlberg
6341c7ab25 refactor(config): Defer xrm initialization 2017-01-01 21:12:38 +01:00
Michael Carlberg
a2bcb1a627 refactor(signals): Avoid reinterpret_cast 2017-01-01 20:31:09 +01:00
Michael Carlberg
d9c035381e refactor(i3): Restack above global root window
Refs #293
2017-01-01 19:34:48 +01:00
Michael Carlberg
0c39061c98 feat(bspwm): Add option to inline mode indicators 2017-01-01 16:39:25 +01:00
Michael Carlberg
796cdb52cc refactor: Rename restack function 2017-01-01 15:45:18 +01:00
Michael Carlberg
9c191cb025 fix(net): Always close socket handle
Refs #283
2017-01-01 15:10:58 +01:00
Michael Carlberg
ccddf052ec refactor(script): Split non-/tail logic
Split the script module into one tailing output module and
one exec once module.

Refs #281
2017-01-01 09:05:18 +01:00
Michael Carlberg
da08a0fbe0 build: Bump version to 2.4.5 2016-12-31 15:43:01 +01:00
Michael Carlberg
dd960cc5b5 refactor(fd_streambuf): Cleanup 2016-12-31 15:42:46 +01:00
Michael Carlberg
acb9ed910d fix(script): Unlock mutex before terminating command
Refs #281
2016-12-31 14:08:45 +01:00
Michael Carlberg
210695d377 refactor(x11): Merge xlib/xutils with connection 2016-12-31 10:02:32 +01:00
Michael Carlberg
e3a51b235a refactor(clang-tidy): Apply fixes 2016-12-31 04:32:11 +01:00
Michael Carlberg
ad0af86a7b refactor(battery): Abstract value readers
Refs #263, #245
2016-12-31 04:20:48 +01:00
Michael Carlberg
14958bdd23 fix: Correct type for module interval 2016-12-31 03:04:01 +01:00
Michael Carlberg
a59d892d0b fix(connection): Address sanitizer patch 2016-12-31 01:28:48 +01:00
Michael Carlberg
78bb3695e6 refactor(config): Deduce return type from default value 2016-12-30 23:32:05 +01:00
Michael Carlberg
53f781f527 feat(fs): Add option to remove invalid/unmounted endpoints 2016-12-30 22:44:28 +01:00
Michael Carlberg
c36e2481bd build: Bump version to 2.4.4 2016-12-30 22:09:49 +01:00
Michael Carlberg
8d1ff28589 fix(connection): Include cstdlib for std::free 2016-12-30 21:14:22 +01:00
Berk Ozbalci
2fdbb6af41 feat(bspwm): Add support for pseudo tiled nodes 2016-12-30 20:49:38 +01:00
Michael Carlberg
18cf9df86c refactor: Cleanup 2016-12-27 04:58:41 +01:00
Michael Carlberg
f101a303bd fix(bar): Only initialize config values when using --print-wmname 2016-12-27 04:15:01 +01:00
Michael Carlberg
db7aa7c490 fix(format): Ignore empty contents 2016-12-27 04:03:46 +01:00
Michael Carlberg
7b780a3201 refactor(builder): Cleanup 2016-12-26 17:06:28 +01:00
Michael Carlberg
b7f16672ff feat: Add object cache container 2016-12-26 10:38:19 +01:00
Michael Carlberg
b9f9092bbe refactor: Cleanup 2016-12-26 10:37:14 +01:00
Michael Carlberg
baaba4adf9 refactor(ipc): Rename signals 2016-12-26 10:36:14 +01:00
Michael Carlberg
334c454eec concurrency_util: Mutex wrapper 2016-12-26 10:33:23 +01:00
Michael Carlberg
f80d8ebf5b file_util: File descriptor streams 2016-12-26 10:29:32 +01:00