Commit Graph

71 Commits

Author SHA1 Message Date
ba0a156bbe refactor: Deprecate throttle-input-for setting (#2117)
If an input is enqueued as a response to an input, the new input will be
swallowed because it will likely be enqueued less than 30ms after the
original event.
This is not something that is an issue right now but it is required to
finish #1907 where, in order to close the menu after a click, the menu
module gets an exec action that closes the menu and adds a command to
the event queue.

The setting also isn't too useful since it will just break polybar input
handling if inputs arrive too fast instead of (possibly) slowing down
the bar.
2020-05-30 22:45:36 +02:00
e9d2f022cd add command unit tests 2020-05-08 23:24:29 +02:00
5e5d8faf04 fix(command): broken pipe when ignoring output. 2020-05-08 23:24:29 +02:00
a119c3386b controller: Print error for duplicate modules (#1534)
* refactor: Use flat module list if possible

Before if you wanted to iterate over all loaded modules you had to first
iterate over all blocks and then over their modules even if you didn't
care about alignment.

* refactor: setup modules in separate function

* controller: Print error for duplicate modules

You can't use the same name twice inside the module lists

E.g.

  modules-left = a b c
  modules-center = a
  modules-right = b

would print an error.

We only print an error for now because we don't want to break existing
configs. But in the future this should be properly enforced.
2019-10-21 10:20:45 +02:00
6ca4f06785 doc: Convert @ to \ doxygen commands
Ref #1377
2018-11-04 19:28:27 -08:00
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
6692b4a8da refactor(x11): Cleanup 2017-01-24 10:49:14 +01:00
8b9461e63e wip(refactor): Cairo drawing 2017-01-24 07:41:46 +01:00
452afcdc68 refactor: Integral types 2017-01-24 07:11:14 +01:00
5e1886a312 wip(refactor): Cairo drawing 2017-01-24 07:11:14 +01:00
f72ddf9294 refactor(signals): Use full namespace 2017-01-12 16:34:14 +01:00
8cc885c316 refactor: Cleanup 2017-01-11 03:07:28 +01:00
6925415501 fix(tray): Force bar update on change
Refs #295
2017-01-09 14:27:56 +01:00
e3a51b235a refactor(clang-tidy): Apply fixes 2016-12-31 04:32:11 +01:00
18cf9df86c refactor: Cleanup 2016-12-27 04:58:41 +01:00
baaba4adf9 refactor(ipc): Rename signals 2016-12-26 10:36:14 +01:00
00ac4bea63 refactor(x11): Header cleanup 2016-12-26 10:27:30 +01:00
789800a68f refactor(signals): Simple types 2016-12-23 22:19:42 +01:00
b422d1d1a4 refactor(modules): Input handling 2016-12-23 20:43:52 +01:00
8cc275ccd1 refactor(controller): Process eventqueue concurrently 2016-12-23 05:10:40 +01:00
fa0d77f267 refactor(file_descriptor): Use unique_ptr 2016-12-23 01:07:00 +01:00
417d90f411 refactor(controller): Store module input handlers locally
Refs #265, #262
2016-12-23 00:54:14 +01:00
e47e439954 refactor(modules): Replace callbacks with signals
Refs #265
2016-12-22 22:11:30 +01:00
bc9b9f0d12 refactor: Cleanup 2016-12-21 23:22:02 +01:00
a89c4ef2dd refactor: Move all event handling to the controller 2016-12-20 05:16:04 +01:00
a0d485f79d refactor: Initialize data 2016-12-15 09:30:31 +01:00
eca870774f fix: Handle single input events 2016-12-14 11:01:44 +01:00
4fca0c89b4 refactor: Object construction 2016-12-14 11:01:44 +01:00
1a2a6e5fab refactor: Construction methods 2016-12-14 11:01:44 +01:00
08be86fbe1 wip(refactor): Improve signal and event handling 2016-12-14 11:01:44 +01:00
df85a6492e refactor(eventloop): Typed events 2016-12-03 23:00:41 +01:00
086e498388 fix: Replace process on reload 2016-12-03 15:46:48 +01:00
c6540a8950 refactor: Signaling 2016-12-01 08:56:16 +01:00
ff9be848c7 refactor(clang-tidy): Apply fixes 2016-11-25 21:58:49 +01:00
8db3e79919 refactor(clang-format): Apply fixes 2016-11-25 14:17:41 +01:00
c6d85b2b92 refactor: Optimize build 2016-11-20 23:04:31 +01:00
fd57ab0f3d fix: project rename 2016-11-19 06:26:07 +01:00
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
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
489f3ce480 wip: Inter-process messaging 2016-11-13 19:05:30 +01:00
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
869c5fe718 refactor: Code cleanup 2016-11-04 19:21:56 +01:00
e7cb345cec wip: Separate source from definitions 2016-11-03 12:54:32 +01:00
dd7967dede fix(controller): Check for connection error in eventloop 2016-10-31 01:25:45 +01:00
55c9bf27ba fix(controller): Uninstall sigmask on blocked term signal 2016-10-30 18:48:15 +01:00
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
17921823e0 fix(controller): Change verbosity of shutdown logging 2016-10-28 18:58:55 +02:00
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
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
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