Commit Graph

32 Commits (59181f22cdca13aa4bc5a44e26b2da7cb14cb86b)

Author SHA1 Message Date
Risto Toijala 59181f22cd Also handle signal in custom-execs 2021-10-14 18:27:08 +03:00
Risto Toijala eb1775d5f8 Implement shared execs for custom modules
For more complicated configurations with several actions activated
through clicks on various connected modules, it is currently necessary
to have each of those connected modules exec their own subprocess to
produce the wanted output. This is problematic because it greatly
increases CPU usage.

Implement a new configuration option for bars, "custom-execs", which
contains an array of subprocess specifications ("exec", "exec_if",
"interval", "restart-interval"). The bar runs each of these executables
and reads their output. The output is in the form of a JSON object with
module names as keys and either strings (for "raw" type output) or
objects (for "json" type output) as values. These values are forwarded
to the custom modules named by the keys.
2021-10-14 18:27:08 +03:00
Risto Toijala ccdc9b8e0b Separate worker thread into util class 2021-10-05 20:19:22 +03:00
Tamir Zahavi-Brunner 9e3e4368c7 custom: Add "exec-on-event" config
This config allows disabling the default behavior of re-executing the
script whenever an event that has a command set is triggered.

Fixes #841
2020-09-06 22:49:18 +03:00
Alex fcf2d18a01 refactor: destroy threads first 2019-05-29 17:53:22 +02:00
Alex 9e1200ae32 refactor: also pass id to custom modules 2019-05-22 12:20:13 +02:00
Lucas Lazare 51be97f9aa Adding spdlog 2019-05-18 19:44:45 -04:00
Alex ff28de0482 feat(custom): update on click/scroll 2019-05-18 16:07:55 +02:00
Alex 90d89fe974 refactor: kill custom modules scripts en destroy 2019-04-23 15:56:38 +02:00
Alex 6ed8f94dab refactor: format code 2019-04-18 17:52:00 +02:00
Alex 6aee51479d feat: ability to add multiple classes 2019-04-15 10:18:27 +02:00
hoellen 38fa7ceab1 add signalhandler for module update 2019-03-18 18:46:44 +01:00
Robinhuett 39bf403505 feat(custom): Add field for additional data to json 2019-02-25 22:04:09 +01:00
Alexis 399f61df98 refactor: proper modules destruction 2019-01-13 22:22:22 +01:00
Robinhuett 4698c9d2cf chore(custom): Change int conversion 2018-12-26 11:35:58 +01:00
Robinhuett 11c98f13e3 feat(custom): Add format-icons to custom module
This commit allows custom modules (json only) to set a percentage. This can be displayed either by using {percentage} or by using {icon} with format-icons set.
2018-12-26 03:52:05 +01:00
Alexis b554094c7e feat: args && class id 2018-12-18 17:30:54 +01:00
Alexis 1b13f9e38c fix(custom): close endless scripts 2018-12-08 12:58:47 +01:00
Robinhuett e23fbd0add Added return-type json to custom module 2018-11-01 00:40:44 +01:00
Robinhuett 341d3300fa Custom modules can control tooltip and CSS class 2018-10-30 21:28:31 +01:00
Alexis 00959c7d65
feat(Custom): handle continuous script 2018-09-18 23:15:37 +02:00
Alexis de5df09fcd
fix(Custom): loop script block main loop 2018-09-05 19:20:19 +02:00
Alexis 0dba3abc1d fix(custom): do not take the custom module ref 2018-08-21 10:50:09 +02:00
Alex 49232eed8d
Clean (#31) 2018-08-20 14:50:45 +02:00
Alexis ce50a627be refactor: move command execution into their own file 2018-08-18 17:54:20 +02:00
Alexis b794ca63d1 feat(custom): exec-if 2018-08-18 17:27:40 +02:00
Alexis 27dfffa4e3 refactor: style issue 2018-08-18 15:05:18 +02:00
Alexis b1fd4d7b82 feat(modules): generic label module to allow max-length on all labels 2018-08-18 11:43:48 +02:00
Alex 6635548d3e
Style code (#25) 2018-08-16 14:29:41 +02:00
Alexis 01894f18cd chore: clean headers 2018-08-12 20:25:19 +02:00
Alexis 2512d51564 fix(gtk): use idle to avoid mutex 2018-08-10 23:21:21 +02:00
Alexis e16cce646b feat: add custom module to allow execution of external script 2018-08-10 16:26:46 +02:00