Commit Graph

634 Commits

Author SHA1 Message Date
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
Michael Carlberg
00ac4bea63 refactor(x11): Header cleanup 2016-12-26 10:27:30 +01:00
Michael Carlberg
11aabac227 refactor(connection: Use custom base 2016-12-26 09:46:48 +01:00
Michael Carlberg
3681247dc1 refactor(file_util): Move block mode helpers 2016-12-25 19:58:52 +01:00
Michael Carlberg
bb0d6f580d fix(xkeyboard): Wrap click handler around contents 2016-12-23 22:39:59 +01:00
Michael Carlberg
068d586757 build: Bump version to 2.4.3 2016-12-23 22:23:33 +01:00
Michael Carlberg
789800a68f refactor(signals): Simple types 2016-12-23 22:19:42 +01:00
Michael Carlberg
b422d1d1a4 refactor(modules): Input handling 2016-12-23 20:43:52 +01:00
Michael Carlberg
97fa7052fe refactor(clang-tidy): Apply fixes 2016-12-23 15:54:06 +01:00
Michael Carlberg
077ec2b879 build: Bump version to 2.4.2 2016-12-23 13:03:42 +01:00
Michael Carlberg
7ecd132610 fix(net): Convert dBm to percentage
Fixes #249
2016-12-23 08:13:40 +01:00
Michael Carlberg
e974ac1750 build: Bump version to 2.4.1 2016-12-23 05:26:05 +01:00
Michael Carlberg
ba757809d0 refactor(modules): Defer cache rebuild 2016-12-23 05:19:45 +01:00
Michael Carlberg
debb3534c7 concurrency_ytil: Thread id 2016-12-23 05:18:58 +01:00
Michael Carlberg
8cc275ccd1 refactor(controller): Process eventqueue concurrently 2016-12-23 05:10:40 +01:00
Michael Carlberg
8cff01e3d8 refactor(event_handler): Abstract sink attaching 2016-12-23 05:08:19 +01:00
Michael Carlberg
fa0d77f267 refactor(file_descriptor): Use unique_ptr 2016-12-23 01:07:00 +01:00
Michael Carlberg
9479b5abe2 refactor(xwindow): Cleanup 2016-12-23 01:03:38 +01:00
Michael Carlberg
417d90f411 refactor(controller): Store module input handlers locally
Refs #265, #262
2016-12-23 00:54:14 +01:00
Michael Carlberg
e47e439954 refactor(modules): Replace callbacks with signals
Refs #265
2016-12-22 22:11:30 +01:00
Michael Carlberg
57656e81e4 build: Bump version to 2.4.0 2016-12-22 00:20:40 +01:00
Michael Carlberg
bc9b9f0d12 refactor: Cleanup 2016-12-21 23:22:02 +01:00
Michael Carlberg
185363056a refactor(x11): Cleanup 2016-12-21 15:04:16 +01:00
Michael Carlberg
788a7ca3a3 refactor(modules): Get rid of .inl files 2016-12-21 09:21:35 +01:00
Michael Carlberg
7979f5b3d4 refactor(modules): Handle events using signal_receiver 2016-12-21 08:38:44 +01:00
Michael Carlberg
c01f111e34 refactor(modules): Move setup to constructor 2016-12-21 08:00:09 +01:00
Michael Carlberg
81e6fb062f wip: Window autohide 2016-12-21 04:50:43 +01:00
Michael Carlberg
3aa7c3b106 fix(taskqueue): Type error 2016-12-20 18:14:43 +01:00
Michael Carlberg
c14c46b998 refactor: Font index cleanup 2016-12-20 15:09:11 +01:00
Michael Carlberg
8ef8900ca2 refactor: Defer buttonpress using taskqueue 2016-12-20 13:03:46 +01:00
Michael Carlberg
b8ff0da693 feat: Add taskqueue component 2016-12-20 12:54:17 +01:00
Michael Carlberg
ccbb38798d fix(bar): Action x values should not be volatile 2016-12-20 07:46:51 +01:00
Michael Carlberg
1cccd100bb fix(bar): Remove double click 2016-12-20 07:46:30 +01:00
Michael Carlberg
f94eea1299 build: Include CMAKE_CXX_COMPILER in -vv 2016-12-20 06:08:24 +01:00
Michael Carlberg
de04fa3eac feat(github): Option to hide notification count if empty 2016-12-20 05:53:45 +01:00
Michael Carlberg
a89c4ef2dd refactor: Move all event handling to the controller 2016-12-20 05:16:04 +01:00
Michael Carlberg
8ed4de1dda fix: Use enum_hash for unordered_map 2016-12-20 02:29:18 +01:00
Michael Carlberg
b417c9f812 feat(github): New module
Module used to query the GitHub API for information.
Currently only supports notification count.

Ref #84
2016-12-19 22:12:31 +01:00
Michael Carlberg
519172b6ec feat(xkeyboard): Switch layout group on click
When serveral layout groups are defined for the keyboard
they can be cycled when clicking on the module.

   For example:

   $ setxkbmap -layout us,sv,fr

Ref #84
2016-12-16 11:31:08 +01:00
Michael Carlberg
f50f43af02 refactor: Cleanup 2016-12-16 10:23:54 +01:00
Michael Carlberg
09ea07b750 refactor(battery): Use charge_{now,full} to calculate percentage 2016-12-16 09:58:54 +01:00
Michael Carlberg
697638db2b fix(tray): Follow window fade 2016-12-16 07:10:45 +01:00
Michael Carlberg
a7005be82c feat: Fade if unfocused and handle double clicks 2016-12-16 06:44:55 +01:00
Michael Carlberg
d94d8ccfd3 feat(debug_util): Scoped execution timer 2016-12-16 04:01:23 +01:00
Michael Carlberg
faab627771 fix(tray): Ignore restack state 2016-12-15 21:00:17 +01:00
Michael Carlberg
140a3a6327 fix(config): Avoid double value lookup 2016-12-15 20:57:03 +01:00
Michael Carlberg
b90856157b fix: Update font visual if depth changes 2016-12-15 18:22:34 +01:00
Michael Carlberg
b2e8428550 wip(refactor): Improve parsing and font glyph caching 2016-12-15 17:28:58 +01:00
Michael Carlberg
9f9f438fae refactor: Remove last usage of boost::optional
Since it's the only thing boost was used for at the moment
we drop it to be able to get rid of a dependency.
2016-12-15 17:13:16 +01:00
Michael Carlberg
a0d485f79d refactor: Initialize data 2016-12-15 09:30:31 +01:00
Michael Carlberg
f9062d031c refactor(clang-tidy): Apply fixes 2016-12-15 03:30:41 +01:00
Michael Carlberg
0fca9a0c6e git: Remove unused headers for boost::di 2016-12-14 20:18:55 +01:00
Michael Carlberg
52a6dfb42c refactor(config): Use defined fallback for environment refs 2016-12-14 20:14:31 +01:00