Wez Furlong
35351a97b4
x11: don't need to ref gl context in window any more
...
This is now managed by the client application
2021-05-08 15:05:07 -07:00
Wez Furlong
5f59bf25be
window: tidy up infinite sleeps
...
refs: #770
2021-05-08 14:58:07 -07:00
Wez Furlong
4c847ff4ff
window: remove now-dead bits on macos
...
refs: #770
2021-05-08 14:12:30 -07:00
Wez Furlong
5f612c17f5
windows: remove some now-dead code
...
refs: #770
2021-05-08 13:04:59 -07:00
Wez Furlong
7d301b91a7
x11/wayland: reduce frequency of core event loop
...
In an earlier incarnation we needed to wake up more often to paint,
but we now should have reliable event sources for all of the
invalidation cases and we can thus sleep for much longer in
the main event loop.
refs: #770
2021-05-08 12:59:33 -07:00
Wez Furlong
a884021074
window: remove Connection::schedule_timer
...
smol's Timer is used to replace this concept
refs: #770
2021-05-08 12:38:34 -07:00
Wez Furlong
fdce2d71d0
decompose period maintenance function
...
Split it into its component parts, and change the new dispatch
loop to sleep the appropriate interval only when needed.
refs: #770
2021-05-08 12:28:19 -07:00
Wez Furlong
b5bf25a9c5
remove check_for_dirty_lines_and_invalidate_selection from periodic
...
Since we now always check this during rendering, and we have a reliable
event for pane output, we don't need this check in the period task.
refs: #770
2021-05-08 11:32:12 -07:00
Wez Furlong
ed6987298a
mux: remove window invalidation polling
...
Add a mux event for this insteead.
refs: https://github.com/wez/wezterm/issues/770
2021-05-08 11:25:03 -07:00
Wez Furlong
58157c47a9
config: can now subscribe to config change events
...
This removes a couple of periodic config polls
refs: https://github.com/wez/wezterm/issues/770
2021-05-08 11:06:07 -07:00
Wez Furlong
1cbaf55640
change mux empty poll to mux empty event
...
As part of reducing the amount of regularly scheduled stuff wezterm
does in the background, this commit restructures how an empty mux
is detected; now when the mux prunes dead windows it will emit
an Empty event.
The Activity type will now schedule a prune when it is dropped,
which will clean up and trigger the Empty event.
refs: https://github.com/wez/wezterm/issues/770
2021-05-08 10:25:49 -07:00
Wez Furlong
7cd9f32494
add some error context on notif dispatching
...
This was helpful when running down the situation in the previous
commit.
2021-05-08 10:21:44 -07:00
Wez Furlong
325e755216
window: don't propagate errors from close notif channel
...
When a window is being destroyed we expect the receiver end
to be disconnected, so we don't want to break out of the
message loop if a couple of residual windows fail to notify.
2021-05-08 10:20:26 -07:00
Wez Furlong
453cfc1813
avoid a panic during shutdown
2021-05-08 09:36:20 -07:00
Wez Furlong
e81fb6e721
make alpha work on macos
2021-05-08 09:36:20 -07:00
Wez Furlong
0503abc63a
fixup build on windows, make transparent
2021-05-08 09:36:20 -07:00
Wez Furlong
655eef271f
fixup build on macos
2021-05-08 09:36:20 -07:00
Wez Furlong
058c3f612f
add wgpu example
2021-05-08 09:36:19 -07:00
Wez Furlong
f4939c510b
impl raw window handle on Window
2021-05-08 09:36:19 -07:00
Wez Furlong
c4e1f2434a
add raw-window-handle impls
2021-05-08 09:36:19 -07:00
Wez Furlong
3d760653b4
window: macos: disable window restoration
2021-05-08 09:36:19 -07:00
Wez Furlong
a44607fb3f
with_window inner from FnMut -> FnOnce
...
Not sure why it was FnMut, but this tidies up an awkward
option/take/unwrap thing in notify().
2021-05-08 09:36:19 -07:00
Wez Furlong
fb72338689
window: macos set gl layer placement to top-left
2021-05-08 09:36:19 -07:00
Wez Furlong
89dfeb69d6
tweak message pumping around paint on win32
...
It's not perfect; the revised code won't repaint immediate during
resize which can make the window a little "wobbly" during resize.
2021-05-08 09:36:19 -07:00
Wez Furlong
2e74663628
fixup log level for context loss
2021-05-08 09:36:19 -07:00
Wez Furlong
630d9d215b
fixup build on windows
...
and correct the notify same thread optimization on unix
2021-05-08 09:36:19 -07:00
Wez Furlong
0f384b5c06
make window.notify more efficient on unix
...
avoid going through an extra queue if we already are in the right place
2021-05-08 09:36:19 -07:00
Wez Furlong
9fd04f6024
fixup linux build
2021-05-08 09:36:19 -07:00
Wez Furlong
5d037eae52
adjust gui layer for window changes
2021-05-08 09:36:19 -07:00
Wez Furlong
4d73448387
window: fixup build for macos
2021-05-08 09:36:19 -07:00
Wez Furlong
fe836da980
window: fixup build on windows
2021-05-08 09:36:19 -07:00
Wez Furlong
d56bfd0b7f
window: separate gui window state from app state
...
Removes the callbacks type and replaces event dispatch with
an async capable channel.
This makes it a bit simpler to model some of the window internals,
and to prepare for a wgpu enabled future.
This changes have been tested only on linux so far.
2021-05-08 09:36:19 -07:00
Wez Furlong
f9a6e265e9
avoid panics in a couple of cases
...
test case: `cat /dev/random`
refs: https://github.com/wez/wezterm/issues/769
2021-05-08 01:02:44 -07:00
Wez Furlong
ff153ba27f
vtparse: recognize utf8 encoded c1 codes in more cases
...
There were two bugs here:
* \u8D (the utf8 encoded representation of 0x8d, aka: RI) was not
recognized as a C1 code and was instead passed through as printable
text.
* The \u8D is a zero-width sequence which means that a subsequent
set_cell call on the new empty-by-default line wouldn't allocate
any cells in the line array, and the assigment to the line would
panic.
This commit avoids the panic for the second case, and then fixes up
the vtparser to correctly recognize the sequence as a C1 control.
refs: https://github.com/wez/wezterm/issues/768
2021-05-08 00:39:29 -07:00
Wez Furlong
9a1314c5b1
docs: changelog for voidsymbol
2021-05-07 07:59:26 -07:00
Chris
2add312c5c
Allow VoidSymbol keycode to be seen by wezterm ( #759 )
...
* allow voidsymbol for key code
* update docs, cleanup
* cleanup and fmt of files
* remove unnecessary inputs
2021-05-07 07:54:24 -07:00
Wez Furlong
d64b785290
deps: update windows dep to 0.4 -> 0.9
...
dependabot keeps trying and failing because lots of things changed.
Let's try and get ahead of it...
2021-05-03 22:05:35 -07:00
Wez Furlong
e400f2f524
fixup build on windows
...
refs: https://github.com/wez/wezterm/issues/695
2021-05-03 21:40:20 -07:00
Wez Furlong
b2b0b8b011
fixup build on linux
...
refs: https://github.com/wez/wezterm/issues/695
2021-05-03 21:09:08 -07:00
Wez Furlong
0df755b8f0
window: set_inner_size now returns Future<Dimensions>
...
This should help us reason about whether a resize respected
our request.
This may break linux and windows builds, will fixup once
this is pushed.
refs: https://github.com/wez/wezterm/issues/695
2021-05-03 20:49:22 -07:00
Wez Furlong
772991a1f0
window: remove WindowOpsMut trait
...
It doesn't serve any purpose and makes it awkward to make
a change in a later commit.
refs: https://github.com/wez/wezterm/issues/695
2021-05-03 20:26:33 -07:00
Wez Furlong
494fa999bb
fix system ssh config path
2021-05-03 19:54:09 -07:00
Wez Furlong
a594298947
add window
object to debug overlay
...
refs: https://github.com/wez/wezterm/issues/641
2021-05-03 18:36:26 -07:00
Wez Furlong
57ab9e36f5
restore features post wezterm-ssh release
2021-05-03 09:58:27 -07:00
Wez Furlong
4af66ff4b1
wezterm-ssh: prep for release
2021-05-03 09:57:04 -07:00
Wez Furlong
7be475efb7
cargo update
2021-05-03 09:34:29 -07:00
Wez Furlong
0e9d86f9f9
lua: print -> log_info
...
Make print equivalent to log_info.
Improve the various log functions so that all of their arguments
are considered.
refs: https://github.com/wez/wezterm/issues/641
2021-05-03 09:19:52 -07:00
Wez Furlong
09f0421b48
add lua repl to the debug overlay
...
`wezterm` is pre-imported.
The repl prints the result of the expressions to the overlay.
refs: https://github.com/wez/wezterm/issues/641
2021-05-03 09:19:44 -07:00
Wez Furlong
8b71a57513
add debug overlay
...
Adds a `ShowDebugOverlay` key assignment that will create a tab
overlay that shows a limited number of recently logged events.
refs: https://github.com/wez/wezterm/issues/641
2021-05-03 09:19:38 -07:00
Frieder Bluemle
0b84df38db
Fix docs typos
2021-05-02 19:44:29 -07:00