Wez Furlong
cfed798e79
window: allow window layer to hold per-window config
...
This is to allow for eg: hotkey to change window decorations
(https://wezfurlong.org/wezterm/config/lua/window/set_config_overrides.html )
So far only macos actually keeps a per-window config.
Hopefully this still compiles for windows and x11.
2021-03-04 23:05:44 -08:00
Wez Furlong
cf6914c5d8
window: remove non-opengl paint, rename paint_opengl -> paint
2020-12-29 13:25:35 -08:00
Wez Furlong
972c07a692
window: update examples for opengl-only-ness
2020-12-29 13:15:16 -08:00
Wez Furlong
cf418c34e3
window: consolidate opengl_initialize with created callback
...
Since we now always init opengl and fail to create a window if that
fails, may as well combine these two callbacks.
2020-12-29 12:44:39 -08:00
Wez Furlong
ec7d511750
window: implicitly enable_opengl at new_window creation
2020-12-29 12:31:25 -08:00
Wez Furlong
4c22de9f6d
window: make opengl always required
2020-12-29 12:13:23 -08:00
Wez Furlong
5eb4d32004
upgrade misc deps, notably, async-task
2020-10-05 00:06:01 -07:00
Wez Furlong
6744a0235d
window: fixup tests for opengl init changes
2020-06-15 12:33:30 -07:00
Wez Furlong
c778307b0e
macos: fix light background/border
...
The opengl based render first clears the window to the background
color and then renders the cells over the top.
on macOS I noticed a weird lighter strip to the bottom and right of
the window and ran it down to the initial clear: our colors are SRGB
rather than plain RGB and the discrepancy from rendering SRGB as RGB
results in the color being made a brighter shade. This was less
noticeable for black backgrounds.
2020-01-26 19:04:34 -08:00
Wez Furlong
75eb16bec4
move spawn_task into a new promise::spawn module
2020-01-16 03:50:48 -08:00
Wez Furlong
9a2c7a1485
failure -> anyhow + thiserror
2019-12-14 21:43:05 -08:00
Wez Furlong
29a6c62b6c
window: wayland: fix routing of keyboard events
...
The seat is a global thing, so we need to track the active
surface and route events to the appropriate window.
2019-11-30 10:00:34 -08:00
Wez Furlong
2475969eca
window: enable egl support for wayland
2019-11-29 18:05:09 -08:00
Wez Furlong
c63766ffe2
window: wayland: input mostly working, and hidpi output
...
Some key mappings are not done yet (arrows!) and need to make
opengl work, but this can run a basic wezterm with the software
renderer under wayland.
2019-11-27 22:00:44 -08:00
Wez Furlong
10a0006eaf
window: fix build for examples post mouse coords changes
2019-11-23 16:46:46 -08:00
Wez Furlong
14fbf43485
promise: more properly implement Future::poll
...
The future won't ever complete if you don't connect the waker
from the context!
Prove this out by making the windowops functions async and
verifying them in the async example
2019-11-23 08:16:12 -08:00
Wez Furlong
152874dd23
window: fixup the async example for stable async
2019-11-23 08:16:12 -08:00
Wez Furlong
41e392fc79
we can now init opengl but not render it
2019-10-10 08:15:00 -07:00
Wez Furlong
89a0046f5a
window: A basic opengl capability
2019-10-07 07:17:57 -07:00
Wez Furlong
91e6bb4a5a
rustfmt
2019-09-29 12:29:34 -07:00
Wez Furlong
99579bfca2
make it possible to build async example on stable rust
...
This should make the CI a bit happier
2019-09-28 22:00:07 -07:00
Wez Furlong
950a7d2b22
cargo fix dyn
2019-09-28 20:29:48 -07:00
Wez Furlong
b0dd3a3803
fixup basic example for Point changes
2019-09-23 08:01:27 -07:00
Wez Furlong
6d902d8a39
introduce a Rect type
2019-09-21 00:19:31 -07:00
Wez Furlong
bdc634276d
plumbing for polling std::future::futures on macos
2019-09-15 19:09:08 -07:00
Wez Furlong
e98b29aec6
add apply function to safely access inner data
2019-09-15 19:09:08 -07:00
Wez Furlong
0b7556893d
bunch of plumbing to allow using new window layer as software rendered frontend
2019-09-15 19:09:08 -07:00
Wez Furlong
c54d3b55be
prove that spawning additional windows works
2019-09-15 19:09:08 -07:00
Wez Furlong
dff8e1e652
introduce WindowContext for manipulating the window in a callback
2019-09-15 19:09:08 -07:00
Wez Furlong
e6265c93a4
add arbitrary line drawing with anti-aliasing
2019-09-15 19:09:08 -07:00
Wez Furlong
e371e0385d
x11: mouse cursors
2019-09-15 19:09:08 -07:00
Wez Furlong
f8f470ab1d
add mouse event processing for windows
2019-09-15 19:09:08 -07:00
Wez Furlong
05a60e6e8b
plumb keyboard events for x11
2019-09-15 19:09:08 -07:00
Wez Furlong
b9b94aa516
add resize callback
2019-09-15 19:09:08 -07:00
Wez Furlong
56dc24a1ee
hook up paint method for x11
2019-09-15 19:09:08 -07:00
Wez Furlong
ee203b0b76
improve lifecycle management on macos
...
I'm not totally convinced that the refcounting is right
because I've not seen `dealloc` get triggered, but the
important thing is that closing the window does cause the
rust level objects to be dropped.
2019-09-15 19:09:08 -07:00
Wez Furlong
dc6ef6c55d
basic xcb windows too
2019-09-15 19:09:08 -07:00
Wez Furlong
ddd323464b
refactor traits to top level
2019-09-15 19:09:08 -07:00
Wez Furlong
3b572cb35e
add window callback trait
2019-09-15 19:09:08 -07:00
Wez Furlong
276041a1db
add very basic win32 window creation
2019-09-15 19:09:08 -07:00