Benno Fünfstück
eacf5ce5ba
fix(tray): fix transparency after background manager changes
...
The systray only supports pseudo transparency (real transparency would require
much larger changes) so the real transparency should only be used for the bar itself.
2018-10-04 15:52:03 +02:00
Benno Fünfstück
51d58e7518
fix(render): support stacked bars
...
We now take the bar position that the window manager gives us instead of trying
to calculate it ourselves. This is more correct when multiple bars are attached
to the same edge, as the window manager may move some of them in that
case (assuming override redirect is not enabled)
2018-10-04 15:52:03 +02:00
Benno Fünfstück
eb742e228b
fix(render): correctly handle semi-transparency for borders
...
We need to fetch the outer area from the root window, not just the inner area
because we paint the background below the borders as well.
This has the nice effect of supporting semi-transparency for borders as well.
2018-10-04 15:52:03 +02:00
Benno Fünfstück
3de914abca
feat(render): support pseudo-transparency
...
This adds pseudo-transparency for the background of the bar and the
background of the systray.
2018-10-04 15:52:03 +02: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
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
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
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
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
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
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
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
Michael Carlberg
f3089e88f2
feat(conf): Properties for top/bottom radius #445
2017-03-21 14:49:33 +01:00
Michael Carlberg
1d06df25a9
fix(config): Use std::map to store sections #412
2017-02-07 14:56:56 +01:00
Michael Carlberg
3e4a4ce78f
fix(renderer): Alignment blocks
2017-01-27 15:36:37 +01:00
Michael Carlberg
73aa721f90
fix(config): Error message
2017-01-26 21:34:38 +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
43a17c3b36
refactor(cmake): Cleanup
2017-01-26 17:39:50 +01:00
Michael Carlberg
8138a12381
refactor(renderer): Cleanup
2017-01-25 23:38:51 +01:00
Michael Carlberg
c7f33e2567
refactor(renderer): Use redirection groups instead of pixmaps
2017-01-25 09:54: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
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
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
3292cea786
refactor(tokens): Move token suffix to configuration
2017-01-14 18:00:35 +01:00
Michael Carlberg
22140f7db9
refactor(builder): Action wrapped labels
2017-01-13 13:01:46 +01:00
Michael Carlberg
6fb48c8e6f
feat(build): Add flag for drawing visible whitespace
2017-01-13 11:04:43 +01:00
Michael Carlberg
b48a275235
feat(command_line): Properly handle positional args
2017-01-13 04:47:25 +01:00
Michael Carlberg
16a355a2b7
fix(config): Remove default value for module-margin-right
2017-01-12 17:42:09 +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
5b33ada576
refactor(common): Cleanup
2017-01-11 07:17:54 +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
6925415501
fix(tray): Force bar update on change
...
Refs #295
2017-01-09 14:27:56 +01:00
Michael Carlberg
6341c7ab25
refactor(config): Defer xrm initialization
2017-01-01 21:12:38 +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
78bb3695e6
refactor(config): Deduce return type from default value
2016-12-30 23:32:05 +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
7b780a3201
refactor(builder): Cleanup
2016-12-26 17:06:28 +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
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
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
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
fa0d77f267
refactor(file_descriptor): Use unique_ptr
2016-12-23 01:07:00 +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
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
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
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
f50f43af02
refactor: Cleanup
2016-12-16 10:23:54 +01:00
Michael Carlberg
a7005be82c
feat: Fade if unfocused and handle double clicks
2016-12-16 06:44:55 +01:00
Michael Carlberg
140a3a6327
fix(config): Avoid double value lookup
2016-12-15 20:57:03 +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
52a6dfb42c
refactor(config): Use defined fallback for environment refs
2016-12-14 20:14:31 +01:00
Michael Carlberg
4c36d65cbe
fix(eventloop): Acquire lock guard
2016-12-14 19:04:33 +01:00
Michael Carlberg
8c3f40db5b
refactor(eventloop): Use config wrapper
2016-12-14 11:01:44 +01:00
Michael Carlberg
eca870774f
fix: Handle single input events
2016-12-14 11:01:44 +01:00
Michael Carlberg
c2caf4d7a6
fix(parser): Apply clang-tidy fixes
2016-12-14 11:01:44 +01:00
Michael Carlberg
80a00bd596
refactor(config): Cleanup and minor tweaks
2016-12-14 11:01:44 +01:00
Michael Carlberg
5d5542169b
refactor(command_line): Cleanup
2016-12-14 11:01:44 +01:00
Michael Carlberg
683ce7acc6
refactor(logger): Cleanup
2016-12-14 11:01:44 +01:00
Michael Carlberg
540bcb9fd0
refactor(config): Load on instantiation
2016-12-14 11:01:44 +01:00
Michael Carlberg
4fca0c89b4
refactor: Object construction
2016-12-14 11:01:44 +01:00
Michael Carlberg
1a2a6e5fab
refactor: Construction methods
2016-12-14 11:01:44 +01:00
Michael Carlberg
08be86fbe1
wip(refactor): Improve signal and event handling
2016-12-14 11:01:44 +01:00
Michael Carlberg
d45fd76dcd
refactor(config): Drop boost::property_tree
2016-12-14 10:57:45 +01:00
Michael Carlberg
ec39859093
feat: Window click handlers
...
New parameters for defining fallback click handlers
that will be triggered for the whole window unless
a module action is matched.
Parameters added to all [bar/foo] sections:
- `click-left = ...`
- `click-middle= ...`
- `click-right= ...`
- `scroll-up= ...`
- `scroll-down= ...`
Ref #226
2016-12-05 13:17:15 +01:00
Michael Carlberg
3854515521
fix: Wrap format pre/suffix within cmd
2016-12-05 05:32:10 +01:00
Michael Carlberg
7f5117b7cc
fix(tray): Improve pseudo-transparency handling
...
- Make sure previously drawn content is cleared
- Redraw tray clients on XCB_EXPOSE
- Prevent void parts of the root pixmap being copied
Ref #187
2016-12-05 03:56:04 +01:00
Michael Carlberg
9eee27544d
fix(renderer): Improve precision when shifting action blocks
...
Fixes #220
2016-12-04 13:50:30 +01:00
Michael Carlberg
44da14755d
refactor(clang-tidy): Apply fixes
2016-12-04 04:11:47 +01:00
Michael Carlberg
9f16e3fff7
refactor: Rename dock
to override-redirect
2016-12-03 23:21:40 +01:00
Michael Carlberg
d6a0c84e0b
refactor(tray): Update using eventloop
2016-12-03 23:01:21 +01:00
Michael Carlberg
df85a6492e
refactor(eventloop): Typed events
2016-12-03 23:00:41 +01:00
Michael Carlberg
bb0cfcf033
fix(tray): Visibility change
2016-12-03 20:26:29 +01:00
Michael Carlberg
a3f2e8aa51
fix: Reconfigure position after mapping
...
Ref #212
2016-12-03 18:38:35 +01:00
Michael Carlberg
6b51234f23
fix(screen): Only reload if changed
2016-12-03 16:44:37 +01:00
Michael Carlberg
086e498388
fix: Replace process on reload
2016-12-03 15:46:48 +01:00
Michael Carlberg
c6540a8950
refactor: Signaling
2016-12-01 08:56:16 +01:00
Michael Carlberg
0c6937edae
feat(config): Inheritance
...
Add support for basic inheritance. The parser will
look for `inherit = base/section` and copy all undefined
values from the base section.
Ref #84
2016-12-01 07:57:30 +01:00
Michael Carlberg
d34263d850
fix(progressbar): Generate less data
...
Build the format sub-strings (%fill%, %indicator%, %empty%)
before adding it to the builder to avoid having it generate
alot of duplicate content (tags, etc)
2016-11-30 22:17:55 +01:00
Michael Carlberg
6db66896bd
refactor(bspwm): Cleanup states
2016-11-30 21:12:47 +01:00
Franklin Delehelle
466e9e212f
feat(bspwm): Separate focused/unfocused states
...
Closes #201
2016-11-30 21:04:22 +01:00
Michael Carlberg
608519363d
feat(xkeyboard): New module
...
New module that uses the X keyboard extension
to show keyboard layout and indicators.
Ref #84 , #200
2016-11-30 10:08:44 +01:00
Michael Carlberg
4852f2817c
feat: Reload on XCB_RANDR_SCREEN_CHANGE_NOTIFY
2016-11-27 01:14:02 +01:00
Michael Carlberg
9f4638f42c
refactor: Cleanup
2016-11-26 06:13:20 +01:00
Michael Carlberg
c2acdff7d4
feat(eventloop): Delayed enqueue
...
A new worker that will block the queue channel
until the delayed event has been processed.
This is used to limit the amount of X button events
within defined time frame and we can't block
the main X thread.
2016-11-25 21:58:51 +01:00
Michael Carlberg
ff9be848c7
refactor(clang-tidy): Apply fixes
2016-11-25 21:58:49 +01:00
Michael Carlberg
6f2b437be3
fix(renderer): Destroy window on deconstruct
2016-11-25 14:17:56 +01:00
Michael Carlberg
8db3e79919
refactor(clang-format): Apply fixes
2016-11-25 14:17:41 +01:00
Michael Carlberg
9fdc22843b
refactor: Cleanup rendering
2016-11-25 04:42:27 +01:00
Michael Carlberg
84d58e7619
refactor: Cleanup handling of syntax tags
2016-11-25 04:34:24 +01:00
Michael Carlberg
ad510eb768
fix(builder): Default to non-lazy mode
...
Ref #181
2016-11-22 23:31:08 +01:00
Michael Carlberg
4794ef653c
refactor(renderer): Separate methods
2016-11-22 23:18:47 +01:00
Michael Carlberg
c6e861083b
fix: Avoid unnecessary color change
...
Ref #181
2016-11-22 22:45:12 +01:00
Michael Carlberg
09e0ea1932
config: Print deprecation warnings
2016-11-22 03:01:50 +01:00
Michael Carlberg
0c64b64ff8
refactor: Cleanup
2016-11-22 01:22:47 +01:00
Michael Carlberg
83ef8bcd0c
fix(build): Size type
2016-11-21 16:32:56 +01:00
Michael Carlberg
ebf1bd1129
feat: Support different under-/overline
...
Make it possible to set different size
and color values for the two properties.
`overline-size = 2`
`overline-color = #f00`
`underline-size = 5`
`underline-size = #00f`
2016-11-21 16:16:06 +01:00
Michael Carlberg
25e33b6aab
refactor: Separate render component
2016-11-21 16:16:02 +01:00
Michael Carlberg
002eb08b20
fix(build): Explicit type for list initialization
2016-11-20 23:29:42 +01:00
Michael Carlberg
c6d85b2b92
refactor: Optimize build
2016-11-20 23:04:31 +01:00
Michael Carlberg
40fcabd644
fix(config): Proper dereference of ${self.key}
2016-11-19 19:18:28 +01:00
Michael Carlberg
88c8bbd940
refactor: Fwd declare drawtypes
...
Ref #164
2016-11-19 15:49:06 +01:00
Michael Carlberg
fd57ab0f3d
fix: project rename
2016-11-19 06:26:07 +01:00
Michael Carlberg
2fd88c4f60
feat(ipc): New message type "action:"
...
Adds a new message type, prefixed "action:"
that will perform the same task as mouse actions.
This could be used to control menu modules:
echo action:menu-open-1 > /tmp/lemonbuddy_mqueue.<pid>
echo action:menu-close > /tmp/lemonbuddy_mqueue.<pid>
Ref #84
2016-11-18 18:37:53 +01:00
Michael Carlberg
1b5979ba10
feat(config): Default reference values
...
- Add fallback values to env/xrdb references:
${env:UNEXISTING:fallback value}
${xrdb:UNEXISTING:fallback value}
- Replace ${BAR.key} with ${root.key} and display
deprecation warning if the former is used
2016-11-18 18:04:24 +01:00
Michael Carlberg
70a5f1d41e
fix: Bottom strut relative to screen
2016-11-15 02:28:42 +01:00
Michael Carlberg
ffe76b0556
fix(tray): Avoid tray redraw on bar update
2016-11-15 01:00:51 +01:00
Michael Carlberg
e3065d0e6c
feat(ipc): New ipc module
...
Add a new module that allow users to configure hooks
on received ipc messages. The hook will execute the defined
shell script and the output of the script will be used
as the module content.
Ref #84
2016-11-14 09:26:40 +01:00
Michael Carlberg
4b0e648cb8
refactor: Cleanup
2016-11-14 00:46:50 +01:00