| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-11-22 | Take a timeout argument in EventManager::handle_next_events | Maxime Coste | |
| When provided, this gives the maximal time to wait before exiting handle_next_events. If not given handle_next_events will block, this provides a more flexible approach than the previous "block" boolean. Use this to wait for a millisecond between each try to open a fifo for writing. Fixes the 100% cpu usage discussed in github on commit e74a3ac6a3bad1b74af71aa0bfdacb41ffcb7355 | |||
| 2023-05-21 | Add <c-g> to cancel current operation | Maxime Coste | |
| The current implementation only does this during regex operations, but should be extensible to other operations that might take a long time by regularly calling EventManager::handle_urgent_events(). | |||
| 2021-07-07 | Add support for $kak_command_fifo and $kak_response_fifo | Maxime Coste | |
| Those fifos are accessible during %sh{...} blocks, the command fifo executes commands written to it once the write end side is closed (multiple open/write/close sequences are supported), the response fifo is a simple helper fifo available to write response back to the shell process An example use of this feature is to request some list options content from without being limited by the environment size: ``` %sh{ echo "echo -to-file $kak_response_fifo -quoting shell -- %opt{some_list}" > $kak_command_fifo eval "set -- $(cat $kak_response_fifo)" } ``` | |||
| 2021-03-11 | Do not select on non-urgent fd when handling only urgent events | Maxime Coste | |
| This avoids 100% CPU usage when we have pending fifo input while running a shell process, as we will not end-up busy looping in pselect but not reading the available data due to being only processing urgent events. | |||
| 2020-12-20 | Add Timer::disable() to be more explicit than set_next_date(TimePoint::max()) | Maxime Coste | |
| 2018-06-03 | EventManager: Never block if a forced file descriptor is present | Maxime Coste | |
| 2018-05-17 | Handle all pending events before redrawing | Maxime Coste | |
| If new events happen while handling events, take care of those new events as well before redrawing. | |||
| 2018-01-21 | Do not block when waiting for next event if we have pending input | Maxime Coste | |
| Handle next event should never block if we have already accumulated input that we want to process. As we can accumulate new input in lots of places (everytime we run a shell process for example, we might end up reading input keys. That can be triggered during the mode line generation which takes place during display of the window) Fixes #1804 | |||
| 2017-07-07 | Formatting fixes | Maxime Coste | |
| 2017-03-15 | Migrate WithBitOps template specialization to with_bit_ops function | Maxime Coste | |
| This way we dont depend on knowing the base template to enable bit ops on an enum type. | |||
| 2017-01-08 | Apply clang-tidy modernize to the codebase | Maxime Coste | |
| 2016-12-01 | Make FDWatcher support Read, Write and Except events, instead of just Read | Maxime Coste | |
| 2016-11-29 | Simplify greatly UI input handling | Maxime Coste | |
| This round trip through an input callback expected to call is_key_available and get_key was overcomplicated, just send the keys as they arrive, the client is already buffering due to urgent event mode. | |||
| 2016-11-28 | Add more memory domains to certain data | Maxime Coste | |
| 2016-07-24 | Introduce chrono.hh | Maxime Coste | |
| 2016-01-10 | Rename set_signal_wrapper to set_signal_handler and tweak SignalHandler def | Maxime Coste | |
| 2015-12-23 | Add a signal function using sigaction | Daniel Robertson | |
| Use a wrapper for sigaction in place of signal to ensure that the SA_RESTART flag is set for all signals used. Signed-off-by: Daniel Robertson <danlrobertson89@gmail.com> | |||
| 2015-10-02 | Refactor ShellManager process spawning | Maxime Coste | |
| 2015-06-09 | Fix race condition ShellManager::eval with SIGCHLD | Maxime Coste | |
| 2015-01-12 | replace all std::vector with Vector | Maxime Coste | |
| 2014-12-23 | Remove trailing blank lines | Maxime Coste | |
| 2014-12-10 | Fix OSX compilation | Maxime Coste | |
| 2014-12-09 | Get rid of uses of unordered_set, vector is just simpler and faster... | Maxime Coste | |
| 2014-12-03 | Use a select based event handling and fix deadlock | Maxime Coste | |
| 2014-11-29 | Rework client pending key handling, fix insert/normal timers | Maxime Coste | |
| 2014-11-25 | Separate events between normal and urgent ones | Maxime Coste | |
| Run urgent ones while executing %sh blocks. Fixes #236 | |||
| 2014-03-25 | FDWatchers are non copiable and non movable | Maxime Coste | |
| 2013-01-31 | Remove Set and use unordered_set | Maxime Coste | |
| 2013-01-14 | EventManager: add support for timers | Maxime Coste | |
| 2013-01-11 | Add and use a Set template class for recuring small sets | Maxime Coste | |
| 2013-01-10 | Refactor EventManager | Maxime Coste | |
| Watching a file descriptor is now done using a FDWatcher object | |||
| 2012-12-03 | EventManager: fix forced event processing | Maxime Coste | |
| previous implementation could drop some forced events. | |||
| 2012-11-27 | EventManager: refactor (again) | Maxime Coste | |
| 2012-11-26 | EventManager: avoid erasing an event handler while it may be in use | Maxime Coste | |
| 2012-11-06 | EventManager: store event handlers in an unordered_map instead of a vector | Maxime Coste | |
| If an event handler add or removes an event from the manager, it may then be moved in the vector, and if after that it access any of it's members (through this), it results in an invalid memory access. | |||
| 2012-10-27 | EventManager: add force_signal method to force event execution | Maxime Coste | |
| 2012-08-28 | add a poll based EventManager and use it for ncurse client update | Maxime Coste | |
