patrick96
49b18fb3b7
Merge branch 'hotfix/3.6.2'
2022-04-03 20:11:19 +02:00
Maxim Kolesnikov
41d41ca8df
fix(script): output timing inconsistencies ( #2667 )
...
Fixes #2650
2022-04-03 13:11:13 +02:00
indev
5b2de60353
feat(script): add repeat interval for script failure and exec-if
2022-03-07 15:44:55 +01:00
Maxim Kolesnikov
f5bfbccfc8
feat(script): add formatting for script failure ( #2596 )
...
Closes #2588
* feat(script): add formatting for script failure
* refactor: address review comments
* doc: add changelog entry
* refactor: minor cleanup
2022-02-23 15:01:28 +01:00
Patrick Ziegler
444120e664
script: Fix concurrency issues ( #2518 )
...
Fixes #1978
* Move tail and non-tail handler to method
Defining them in the constructor is ugly.
* script: Iterate over defined actions instead of fixed list
* Separate running logic and lock m_output
* Include POLYBAR_FLAGS in linker flags
* Stop using m_prev in script_runner
* Join module threads in stop function
Joining in the destructor may lead to UB because the subclass is already
deconstructed but the threads may still require it to be around (e.g.
for calling any functions on the instance)
* Cleanup script module
* Update changelog
* Remove AfterReturn class
* Remove m_stopping from script module
* Fix polybar not reading the entire line from child process.
For every `readline` call we created a new fd_streambuf. This means once
`readline` returns, the streambuf is destructed and and pending data in
its temporary buffer discarded and we never actually read it.
* Remove unused includes
2021-10-03 01:27:11 +02:00
TheDoctor314
e798ed57a2
Implement 'env-*' option in script_module
...
This stores the key-value pairs specified for the script module.
The command to be executed must pass on this argument.
2021-09-28 22:16:07 +02:00
Patrick Ziegler
d5be8cad97
Add compiler warning for missing override specifier ( #2341 )
...
* build: Add -Wsuggest-override
We should always use the override specifier when overriding virtual
functions. This helps prevent errors when a subclass tries to create a
function with the same name as a virtual function in a super-class but
with a different purpose.
* clang-format
* Upload logs on failure
* Add override to unsupported.hpp
* cmake: Make -Wsuggest-override flag conditional
2021-01-04 10:38:43 +01:00
patrick96
d592eea966
refactor: Move module type string into modules
...
This allows us to identify module by their type and it is also better to
store the module type as part of the module instead of having it
hardcoded in factory.hpp
2020-11-26 20:53:53 +01:00
Jérôme BOULMIER
5e5d8faf04
fix(command): broken pipe when ignoring output.
2020-05-08 23:24:29 +02:00
patrick96
f79aeac872
feat(script): Add %pid% token for tail commands
...
Is replaced with the pid of the exec command
2018-01-21 14:41:52 -08:00
Michael Carlberg
f4e8051e9e
refactor(script): Merge back script handling
2017-01-10 05:12:53 +01:00
Michael Carlberg
946843ff59
feat(script): Configurable condition using exec-if
...
Add new config parameter `exec-if = cmd` that needs to
exit successfully before the main exec command will be invoked.
Closes #298
2017-01-10 03:02:00 +01:00
Michael Carlberg
ccddf052ec
refactor(script): Split non-/tail logic
...
Split the script module into one tailing output module and
one exec once module.
Refs #281
2017-01-01 09:05:18 +01:00
Michael Carlberg
acb9ed910d
fix(script): Unlock mutex before terminating command
...
Refs #281
2016-12-31 14:08:45 +01:00
Michael Carlberg
c01f111e34
refactor(modules): Move setup to constructor
2016-12-21 08:00:09 +01:00
Michael Carlberg
08be86fbe1
wip(refactor): Improve signal and event handling
2016-12-14 11:01:44 +01:00
Michael Carlberg
604e926924
refactor(script): Format tag <label>
...
Mark <output> and maxlen as deprecated
2016-12-03 21:10:01 +01:00
Michael Carlberg
ff9be848c7
refactor(clang-tidy): Apply fixes
2016-11-25 21:58:49 +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
e7cb345cec
wip: Separate source from definitions
2016-11-03 12:54:32 +01:00
Michael Carlberg
e21d084fdd
fix(mpd): Connection state broadcasting
2016-10-29 06:52:48 +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
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
660d06768b
fix(script): Set 2s default interval for timed scripts
2016-10-26 12:20:55 +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
1c882508ec
fix: Drop superflous prefix when throwing module_error
2016-10-19 02:15:52 +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
ba1939f4ca
fix(script): Make sure the output is passed through the formatter
...
Fixes jaagr/lemonbuddy#97
2016-10-15 21:52:52 +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
9238f56b72
fix(script): Broadcast empty content once
2016-10-14 17:18:29 +02:00
Michael Carlberg
c8def6677d
fix(script): Dispatch subthread on setup
...
Closes jaagr/lemonbuddy#77
2016-10-14 11:36:10 +02:00
Michael Carlberg
d359ab6057
refactor: Application rewrite
2016-10-10 14:52:57 +02:00
Michael Carlberg
e1f8c001dd
refactor: Pass by value
2016-06-21 04:23:23 +02:00
Michael Carlberg
6cae06c4dc
refactor(script): Better handling of tail scripts
2016-06-14 12:15:22 +02:00
Michael Carlberg
f7734de26a
feat(script): Option to tail script output
2016-06-13 23:41:59 +02:00
Michael Carlberg
39d3f61497
refactor(core): Clean-up
...
- use "#pragma once" instead of the regular include guard
- fix errors and warnings reported by cppcheck
2016-06-02 01:32:06 +02:00
Michael Carlberg
eeefb3c610
init(git): Base commit
2016-05-19 20:23:45 +02:00