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
Michael Carlberg
7a1193c698
fix: Increase SIGKILL termination timer
2016-10-25 08:45:21 +02:00
Michael Carlberg
d2187f44e0
refactor(drawtypes): Cleanup and fixes
2016-10-25 07:10:05 +02:00
Michael Carlberg
7905f37462
refactor(di): Move configure_T() to anonymous ns
2016-10-25 01:55:59 +02:00
Michael Carlberg
bcf9249dc7
refactor: Use plain std::function callbacks
...
Replace fastdelegate with plain std::function's because
of incomplete clang support
2016-10-25 01:51:57 +02:00
Michael Carlberg
56b4657c3f
feat: New module xbacklight
...
Better implementation for showing backlight information.
This one is using the XRandR extension instead of
reading from the raw file handlers.
2016-10-19 14:46:44 +02:00
Michael Carlberg
3c0cc72c55
fix(config): Test type and not value
2016-10-19 10:06:29 +02:00
Michael Carlberg
94ded75756
feat(config): Reference values defined in Xresources
...
Add config tag to reference a value defined in the Xresource db
`parameter = ${xrdb:var_name}`
2016-10-19 09:16:09 +02:00
Michael Carlberg
d879d6d42e
fix: Throttle X input events
...
- Limit the amount of allowed input events
- Yield on lock failure
- Cleanup
2016-10-19 06:03:01 +02:00
Michael Carlberg
68f72d69cc
refactor: Drop tokenized labels
...
Handle placeholder tokens inside each label
instead of cloning into a new instance each time
2016-10-19 01:31:17 +02:00
Michael Carlberg
7e960a3966
fix(script): Rerun tail script when done
...
- Improve handling of command life time proc
- Restart tail command on successful completion
- Should fix jaagr/lemonbuddy#105
2016-10-19 01:31:05 +02:00
Michael Carlberg
01c5dcb6b7
fix: Guarded module teardown
2016-10-18 17:55:34 +02:00
Michael Carlberg
f09858a1ed
fix(controller): Checked request to update root window event mask
2016-10-18 17:53:10 +02:00
Michael Carlberg
5323167b1e
fix(xrandr): Ignore harmless extension errors
...
Closes jaagr/lemonbuddy#106
2016-10-18 17:31:58 +02:00
Michael Carlberg
65b921ecd9
fix: Less verbose debug logging for %{A}
2016-10-18 12:22:14 +02:00
Michael Carlberg
de0c3eb46a
fix(parser): Support default button index for actions
...
Defining an action without a button index caused a segfault since
the parser was treating it as the close of a previously opened action
block. This makes the parser use button LEFT as a fallback.
Also ensure that an action block has been opened before
attempting to close the block.
Fixes jaagr/lemonbuddy#104
2016-10-17 05:55:03 +02:00
Michael Carlberg
c1acf6c05f
fix: Clear the pixmap properly when shifting content
...
Closes jaagr/lemonbuddy#100
2016-10-16 12:27:30 +02:00
Michael Carlberg
17e16d18a9
fix(i3): Make tray copy the bar' visibility state
...
This adds a fallback routine where the tray window will
get notified whenever the bar window changes its visibility
state. Required in case of failure to restack the tray container
above the bar window in the window stack.
Fixes jaagr/lemonbuddy#95
2016-10-15 20:10:40 +02:00
Michael Carlberg
0128168c51
fix: Update _NET_WM_* atoms for the bar window
2016-10-15 20:07:05 +02:00
Michael Carlberg
1445b95af8
refactor: Moved global signals to separate namespace
2016-10-15 19:45:17 +02:00
Michael Carlberg
20991a3465
fix(tray): Handle error when trying to restack window
2016-10-15 14:51:37 +02:00
Michael Carlberg
178b656d08
fix(tray): Catch error while processing docking requests
2016-10-15 14:00:33 +02:00
Michael Carlberg
bcd1774370
fix(tray): Put tray above bar in the window stack
...
Closes jaagr/lemonbuddy#94
2016-10-15 13:59:25 +02:00
Michael Carlberg
dc82d0ed57
refactor(script): Make the module behave as intended
...
Tail script now block execution until there's data
available on the script's output stream.
Running commands are also being terminated properly.
2016-10-15 13:15:56 +02:00
Michael Carlberg
ce93a63cb8
fix: Terminate if there are no configured modules
2016-10-15 13:10:08 +02:00
Michael Carlberg
98b5bae096
fix: Offset initial module update to avoid throttling
2016-10-15 13:09:22 +02:00
Michael Carlberg
0bac9c3f89
fix(tray): Deactivate the tray before removing the bar
2016-10-15 03:58:53 +02:00
Michael Carlberg
1ab0724347
fix(tray): Join notify thread after setting activate state
2016-10-15 03:33:35 +02:00
Michael Carlberg
6b0109e8dd
fix(tray): Make sure stray clients are notified
...
If the tray is being activated while clients are in
the process of getting dismissed by another MANAGER
they will not receive the new MANAGER broadcast.
Delayed broadcasts are sent to make sure they're notified.
2016-10-15 03:20:19 +02:00
Michael Carlberg
048f09abc3
fix(logger): Use correct fd when testing if it's a tty
2016-10-15 02:40:05 +02:00
Michael Carlberg
fcd30c5320
fix: Revert to old offset behaviour
...
The offset-x should not affect the width
of the bar window
Closes jaagr/lemonbuddy#79
2016-10-14 10:38:06 +02:00
Michael Carlberg
789345291b
fix(date): Use configured locale if defined
...
Fixes jaagr/lemonbuddy#74
2016-10-12 16:49:53 +02:00
Michael Carlberg
343d1a2ff2
fix(tray): Respond to client XCB_RESIZE_REQUEST
2016-10-12 10:50:14 +02:00
Michael Carlberg
1d7d45c4cd
fix(i3): Conditionally load i3_utils
2016-10-12 06:19:26 +02:00
Michael Carlberg
2af0d0845d
fix(docs): Updated README and configs
...
Use dash instead of underscore as parameter name separator
Will break alot of configs but people like to work!
2016-10-12 05:19:31 +02:00
Michael Carlberg
774dec5d17
refactor(i3): Rewrite of the i3 module
2016-10-12 03:57:22 +02:00
Michael Carlberg
eb38fb85ac
fix: Make the application work properly using i3wm
2016-10-11 23:42:01 +02:00
Michael Carlberg
e1b6238564
feat: Restack-to-root
...
Fixes the issue where the bar window is being
drawn on top of fullscreen window's
2016-10-11 18:55:41 +02:00
Michael Carlberg
44ca3bef2c
fix(controller): Try to acquire lock for 50ms on module update
...
Allow short bursts since we want to handle all events
when starting the modules.
2016-10-11 16:10:26 +02:00
Michael Carlberg
b7f9cb2820
fix(ci): Forward decl. error
2016-10-11 15:31:52 +02:00
Michael Carlberg
fb6e5ea378
fix(logger): Ignore GCC warning
2016-10-11 14:13:11 +02:00
Michael Carlberg
55a5c5d896
fix: Pass xcb_params_t by value
2016-10-11 13:48:50 +02:00
Michael Carlberg
d23119e24e
fix(build): Make project compile using gcc5/gcc6
2016-10-11 12:58:26 +02:00
Michael Carlberg
c79d8dfea4
fix: Handle unsupported modules
2016-10-11 10:05:23 +02:00
Michael Carlberg
4055778468
fix(logger): Use STDERR as default output channel
2016-10-11 08:34:34 +02:00
Michael Carlberg
39bfcb15e1
fix(command_line): Correct handling of long argument value
...
Use correct format for passing values using the long version
of the option, e.g: --arg=value
2016-10-11 08:31:46 +02:00
Michael Carlberg
bcb6894496
refactor: Do not redefine default bar values
2016-10-11 08:18:25 +02:00
Michael Carlberg
12bfa5c89f
fix: Map bar window when fully configured
2016-10-11 08:16:22 +02:00
Michael Carlberg
89d645539c
refactor: Drop modules on failure
...
If a module error occur, just stop the failing
module and let the application keep running.
2016-10-11 08:13:42 +02:00
Michael Carlberg
565a6d7032
refactor(controller): Force shutdown if dead lock
...
If the mutex haven't been successfully locked after
3 seconds, force shutdown by raising SIGKILL.
This to ensure termination in case of a dead lock.
2016-10-11 05:10:34 +02:00
Michael Carlberg
20350e5fe6
fix: Make sure clickable areas are aligned properly
...
- Avoid odd glyph width's for center-aligned text
since it breaks the positioning of clickable area's
- Added visual hints for clickable areas for debugging
2016-10-11 03:19:53 +02:00
Michael Carlberg
2921239833
fix(command_line): Use specific exceptions
2016-10-10 20:23:52 +02:00
Michael Carlberg
7efb2fc47a
fix(command_line): Parse long arguments
2016-10-10 19:18:30 +02:00
Michael Carlberg
a9553ff850
refactor: Cleanup
2016-10-10 18:58:57 +02:00
Michael Carlberg
c687b07cd0
fix: Handle mouse button click/scroll events
2016-10-10 18:05:58 +02:00
Michael Carlberg
8af7388c93
fix: Use module separator from config
2016-10-10 15:50:58 +02:00
Michael Carlberg
d359ab6057
refactor: Application rewrite
2016-10-10 14:52:57 +02:00