Geoffrey McRae
bca54ab1f6
[client/host] added new asyncronous memory copy
...
This changes the method of the memory copy from the host application to
the guest. Instead of performing a full copy from the capture device
into shared memory, and then flagging the new frame, we instead set a
write pointer, flag the client that there is a new frame and then copy
in chunks of 1024 bytes until the entire frame is copied. The client
upon seeing the new frame flag begins to poll at high frequency the
write pointer and upon each update copies as much as it can into the
texture.
This should improve latency but also slightly increase CPU usage on the
client due to the high frequency polling.
2019-10-09 13:53:02 +11:00
Geoffrey McRae
e93bd7a3bf
[client] fix shutdown race condition with the frame thread
2019-08-30 11:54:26 +10:00
Geoffrey McRae
69522495de
[client] fix invalid shutdown of renderer outside of it's thread
2019-08-30 11:36:28 +10:00
orcephrye
8ad2d5f949
[client] autodetect monitor refresh rate for fps limit
2019-07-10 05:04:29 +10:00
Rokas Kupstys
745ba66119
Implement option to disable minimizing window on focus loss. Default behavior is not changed - not configuring these options unfocused window is minimized.
...
* Added config entry win:minimizeOnFocusLoss (default true).
2019-07-09 21:57:47 +10:00
Geoffrey McRae
d7fa0aeff9
[client] fix typo in SDL_VIDEODRIVER from prior patch, whoops :)
2019-06-19 09:03:15 +10:00
Geoffrey McRae
2def6346e6
[client] don't override SDL_VIDEODRIVER if it is already set
2019-06-19 09:01:28 +10:00
Geoffrey McRae
dd7413f973
[client] added keybinds to send Ctrl+Alt+Fn
...
Fixes #165
2019-05-31 16:39:55 +10:00
Geoffrey McRae
97024041f3
[client] allow the screensaver to run
2019-05-30 20:54:39 +10:00
Geoffrey McRae
aabf19e63b
[client] main: properly shutdown if renderer fails to init
2019-05-27 18:40:36 +10:00
Geoffrey McRae
664d7dccdb
[client] fix the binary path when debugging
2019-05-27 01:38:50 +10:00
Jonathan (JJRcop) Rubenstein
d07aa4b29e
[client] Add win:maximize to maximize on startup
2019-05-26 20:47:59 +10:00
Geoffrey McRae
83c5df2c47
[client] main: add + sign to mouse sensitivit alerts
2019-05-24 05:35:16 +10:00
Geoffrey McRae
437ebf6265
[client] main: new feature to increase/decrease mouse sensitivity
2019-05-24 05:29:38 +10:00
Geoffrey McRae
bffd02b8c7
[client] main: better UX with the escape key combinations
2019-05-23 20:31:01 +10:00
Geoffrey McRae
1492196bbf
[client] shutdown application on window close even if ignoreQuit is set
...
Fixes #138
2019-05-23 18:27:21 +10:00
Geoffrey McRae
84b2917706
[client] app: new options to reduce CPU usage
...
This patch increases the default cursor and frame polling interval from
1us to 1000us which for most use cases should be more then fast enough.
It also adds two new configuration options to adjust these should it be
required:
* app:cursorPollInterval
* app:framePollInterval
2019-05-22 12:00:06 +10:00
Geoffrey McRae
e3c98ddc35
[client] port all configuration parsing to use the new option helper
2019-05-21 15:03:59 +10:00
Geoffrey McRae
6f77ba8aea
[client] perform proper shutdown on SIGTERM
2019-04-14 09:15:03 +10:00
Geoffrey McRae
32bd6d96e3
[common] implemented crash handler for linux (including backtrace)
2019-04-11 16:41:52 +10:00
Geoffrey McRae
d8915dbfc9
[build] make "common" a static library (part 2/2)
2019-04-11 11:12:59 +10:00
Geoffrey McRae
d6805cfa0f
[client] main: move config free into new config_free
method
2019-03-30 16:00:47 +11:00
Geoffrey McRae
4dee965fdf
[client] main: move config and option parsing into a seperate unit
2019-03-30 15:52:00 +11:00
Geoffrey McRae
35094a57cb
[client] more cleanup and added alerts for new events
2019-03-30 12:26:06 +11:00
Geoffrey McRae
5d254c7751
[client] main: don't ignore keybinds when spice is disabled
2019-03-29 02:33:09 +11:00
Geoffrey McRae
7fd4ba3aad
[client] main: added <escape>+I for spice input enable toggle
2019-03-29 02:17:06 +11:00
Geoffrey McRae
ecfcf11c05
[client] main: fix errornous double keybind registration
2019-03-29 02:08:16 +11:00
Geoffrey McRae
30ea57c644
[client] main: add full screen toggle key bind <escape>+F
...
Fixes #139
2019-03-29 02:06:37 +11:00
Geoffrey McRae
fd4cfc2ff3
[client] main: add interface for modules to register key binds
2019-03-29 00:15:04 +11:00
Geoffrey McRae
03cb61f746
[client] main: prevent the cursor thread starting too early
...
fixes #136
2019-03-28 21:23:24 +11:00
Geoffrey McRae
3e021f3a6b
[client] use cmake to generate renderers/fonts/clipboards headers/code
...
This is in preperation of cmake options to enable/disable various
functionallity.
2019-03-28 19:56:14 +11:00
Geoffrey McRae
db398d41a0
[client] project restructure part 1/2
2019-03-28 11:02:36 +11:00