On Linux, just call the tick callback on every loop tick. This is much
simpler, and should fix the issue with screen updates sometimes getting
stuck waiting for an X11 event.
Note that this was what used to happen (global state being checked on
every loop tick) before the refactoring to use a GLFW event loop,
therefore there should be no performance regressions, though we
of course end up checking global state on every group of events on
Linux, instead of only when something of interest happens. I suspect, to
achieve the latter is going to require implementing a mutex/lock in the
main loop to avoid races, which doesn't seem worth it.
This should make tracking down the root cause of the
event loop pauses on X11 easier. And the infrastructure
should come in handy in the future as well.
In 934336e64278dae88ab87aa75c9bf553a5931fa6, the config option
`disable_ligatures_under_cursor` was renamed to `disable_ligatures` and the
behaviour of that option was altered so that it is now possible to
disable ligatures completely. This commit reflects that change in changelog.rst
Currently does nothing, but could potentially be used to fix:
https://github.com/kovidgoyal/kitty/issues/794
Will need someone with the hardware though to test
exactly what needs to be done to restore the custom cursor image.
When setting tab_bar_switch_to_previous_when_closing_current_tab kitty
will now switch to the left tab instead of the previously active one
when the currently active tab is closed. This makes the closing of tabs
a bit more predictable.
Note that we are not touching the handling of the active_tab_history at
all. I was considering it, but we want to keep track of it in any case
to keep the 'switch to previous tab' shortcut working.
In the "Mouse features" section:
* Make it clear that you can double-click or triple-click and then drag
to extend the initial selection.
* Add the fact that selecting copies the selected text to the primary
clipboard on platforms supporting this.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>