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
Michael Carlberg
489f3ce480
wip: Inter-process messaging
2016-11-13 19:05:30 +01:00
Michael Carlberg
c480f6fd1e
refactor: Move strut handling to window class
2016-11-13 16:10:20 +01:00
Michael Carlberg
4224d838a8
refactor(bar): Strut values based on EMWH spec
2016-11-13 13:25:57 +01:00
Michael Carlberg
23996fdcdc
refactor: Tray transparency and code cleaning
...
- Make pseudo-transparency work as intended, fixes #158
- Fill tray pixmap in case a root pixmap is not found
- Split up bar bootstrap routine
- Formatting (clang-format)
2016-11-12 13:09:50 +01:00
Michael Carlberg
869c5fe718
refactor: Code cleanup
2016-11-04 19:21:56 +01:00
Michael Carlberg
ae501d6ae1
fix(tray): Support for pseudo transparency
...
Copy contents from the root pixmap onto the background
Fixes #125
2016-11-04 19:01:51 +01:00
Michael Carlberg
e7cb345cec
wip: Separate source from definitions
2016-11-03 12:54:32 +01:00
Michael Carlberg
de3e0458a6
fix(tray): Catch restack failure
2016-10-31 05:37:51 +01:00
Michael Carlberg
738fc2a216
feat: Offset window position using %
2016-10-31 05:13:59 +01:00
Michael Carlberg
fe03570b5a
fix(tray): Target correct atom
2016-10-31 02:36:43 +01:00
Michael Carlberg
94298741b6
tray: Align center and extend configuration
...
- The tray can now be centered in the bar
- Set window atoms:
* _NET_SYSTEM_TRAY_COLORS
* _NET_SYSTEM_TRAY_VISUAL
- New parameters added:
* tray-background: Define background color
* tray-offset-x: X position offset
* tray-offset-y: Y position offset
* tray-padding: Add spacing on the side of each icon
* tray-maxsize: Size limit for tray icons, default: 16
* tray-scale: Icon zoom, default: 1.0
* tray-detached: The bar will ignore tray updates
2016-10-31 01:41:15 +01:00
Michael Carlberg
dd7967dede
fix(controller): Check for connection error in eventloop
2016-10-31 01:25:45 +01:00
Michael Carlberg
55c9bf27ba
fix(controller): Uninstall sigmask on blocked term signal
2016-10-30 18:48:15 +01:00
Michael Carlberg
2f7ec4ceee
fix: Alpha channel out of line
2016-10-30 08:04:59 +01:00
Michael Carlberg
c9af239516
fix: Widen color channels
2016-10-30 07:46:28 +01:00
Michael Carlberg
efba06dc2d
fix(xft): Allocate xft color by value
...
- Solves the issue with transparency using Xft.
- X11 fonts are still affected by the alpha issue.
Closes jaagr/lemonbuddy#119
2016-10-30 02:37:56 +01:00
Michael Carlberg
41ba9beeee
fix(fontmanager): Make sure font contains characters
2016-10-29 21:27:51 +02:00
Michael Carlberg
c3969e85ef
fix(fontmanager): Add safety check
2016-10-29 21:06:56 +02:00
Michael Carlberg
1075144b00
refactor(eventloop): Use concurrent queue for events
...
Events are now enqueued using a thread safe concurrent queue
which makes the previous eventloop locking redundant.
2016-10-29 06:48:51 +02:00
Michael Carlberg
17921823e0
fix(controller): Change verbosity of shutdown logging
2016-10-28 18:58:55 +02:00
Michael Carlberg
fa7e3d4430
fix(script): Terminate running commands
...
Make sure the previous command has ended before
executing a new command.
This also fixes the execution block that was
caused by the tailing the command output of
action commands.
Fixes jaagr/lemonbuddy#131
2016-10-28 18:54:08 +02:00
Michael Carlberg
2cc6ef662a
fix(config): ${self.key} references the current section
2016-10-28 13:36:53 +02:00
Michael Carlberg
2661e87d83
fix(tray): Synchrounous unmap of empty tray window
2016-10-26 15:17:33 +02:00
Michael Carlberg
a1c018193a
fix(tray): Catch errors caused from invalid X windows
2016-10-26 13:42:40 +02:00
Michael Carlberg
4167c8c11c
fix(bar): Allow true transparency
...
Fixes jaagr/lemonbuddy#119
2016-10-26 02:24:10 +02:00
Michael Carlberg
204ab89921
fix(bar): Use premultiplied rgb color for X fonts
...
Closes jaagr/lemonbuddy#119
2016-10-26 01:50:37 +02:00
Michael Carlberg
fb7a59c6d9
fix(bar): Properly flush xcb connection
...
Closes jaagr/lemonbuddy#114
2016-10-25 23:58:29 +02:00
Michael Carlberg
91a9bb6d95
refactor(tray): Better support for conflicting managers
...
Listen for destroy event on the new manager window when
systray selection is lost. If the window gets destroyed
we can re-activate the manager.
2016-10-25 22:59:02 +02:00
Michael Carlberg
2529ec0520
fix(logger): Add pragmas to silence GCC error
2016-10-25 22:47:31 +02:00
Michael Carlberg
eac65cdabb
fix(cmake): Make specific c++lib linking optional
...
- Do not enforce linking against libc++
- Fix various linter warnings
2016-10-25 20:47:53 +02:00
Michael Carlberg
83ae9f6435
fix(xbacklight): Allow larger property values
...
Not all backlight values are within 8 bit range
so do not truncate property values
2016-10-25 16:40:01 +02:00
Michael Carlberg
9496e9aa22
feat(logger): trace_x() for verbose trace logging
2016-10-25 13:10:34 +02:00