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
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
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
a89c4ef2dd
refactor: Move all event handling to the controller
2016-12-20 05:16:04 +01:00
Michael Carlberg
a0d485f79d
refactor: Initialize data
2016-12-15 09:30:31 +01:00
Michael Carlberg
eca870774f
fix: Handle single input events
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
df85a6492e
refactor(eventloop): Typed events
2016-12-03 23:00:41 +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
ff9be848c7
refactor(clang-tidy): Apply fixes
2016-11-25 21:58:49 +01:00
Michael Carlberg
8db3e79919
refactor(clang-format): Apply fixes
2016-11-25 14:17:41 +01:00
Michael Carlberg
c6d85b2b92
refactor: Optimize build
2016-11-20 23:04:31 +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
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
489f3ce480
wip: Inter-process messaging
2016-11-13 19:05:30 +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
e7cb345cec
wip: Separate source from definitions
2016-11-03 12:54:32 +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
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
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
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
7a1193c698
fix: Increase SIGKILL termination timer
2016-10-25 08:45:21 +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
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
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
1445b95af8
refactor: Moved global signals to separate namespace
2016-10-15 19:45:17 +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
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
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
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
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
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