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.
* 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.
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
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
- 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)
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.
Fixesjaagr/lemonbuddy#131