Commit graph

12 commits

Author SHA1 Message Date
Daniel Eklöf
8b0ef6aa85
terminal: shutdown (or --hold) when the client process terminates
Shutdown the terminal when the client process terminates, not when the
ptmx file descriptor is closed.

This fixes an issue where the terminal remains running after the
client process has terminated, if it spawned child processes that
inherited the ptmx file descriptor.
2020-12-26 01:29:40 +01:00
Daniel Eklöf
03cbb6ad90
notify: break out desktop notifications from osc.c 2020-12-10 18:06:24 +01:00
Daniel Eklöf
b59d695b2b
ime: add functions to enable/disable IME, simplify code that enables IME
We may want to be able to enable/disable IME run-time, even though we
have received an ‘enter’ IME event.

This enables us to do that.

Also add functions to enable/disable IME on a per-terminal instance
basis.

A terminal may have multiple seats focusing it, and enabling/disabling
IME in a terminal instance enables/disables IME on all those seats.

Finally, the code to enable IME is simplified; the *only* surface that
can ever receive ‘enter’ IME events is the main grid. All other
surfaces are sub-surfaces, without their own keyboard focus.
2020-12-07 20:44:11 +01:00
Daniel Eklöf
ba8b15d675
sixel: change default max size to 10000x10000
It used to be the size of the window. This caused images to be cropped
when the application emitting them didn’t change the max size.
2020-11-23 20:10:55 +01:00
Daniel Eklöf
daa8d129c1
pgo: feed VT data through fdm_ptmx(), not vt_from_slave()
fdm_ptmx(), the FDM callback handler for ptmx data, is just as much in
the hot path as vt_from_slave(). It is also slightly more complicated
than a read() followed by a call to vt_from_slave().

As a result, some benchmarks performed significantly worse in a
partial PGO build than in a full PGO build, since fdm_ptmx() wasn’t
PGO:d.

To be able to feed data through fdm_ptmx(), we need to set up the
delayed rendering timer FDs, configure the timeout values, and provide
a readable FD it can read the VT data from.

The latter is done with a memory FD. This ensures *all* VT data is
loaded into memory before we feed it to the parser.
2020-11-22 19:29:44 +01:00
Daniel Eklöf
cf398df62e
pgo: initialize (mouse) selection 2020-11-22 19:29:43 +01:00
Daniel Eklöf
4cd1d35c1e
pgo: initialize a dummy wayland backend
* Empty seat list
* Empty monitor list
* Add dummy terminal instance to terminal list
2020-11-22 19:29:43 +01:00
Daniel Eklöf
e1bde0b0e7
remove pre-generated input corpus for PGO 2020-11-22 19:29:43 +01:00
Daniel Eklöf
001d309b81
pgo: updated stimuli (256-indexed colors) 2020-11-22 19:29:42 +01:00
Daniel Eklöf
cc850ed012
pgo: pull in selection.c in pgolib
Some of the selection functions are in the hot path, so this makes a
huge difference!
2020-11-22 19:29:40 +01:00
Daniel Eklöf
8619ebd778
pgo: support for specifying multiple stimuli files 2020-11-22 19:28:55 +01:00
Daniel Eklöf
5a1273eb5b
pgo: move pgo.c and pgo stimuli to pgo directory 2020-11-22 19:28:54 +01:00