1
1
mirror of https://github.com/wez/wezterm.git synced 2024-09-11 14:25:57 +03:00
Commit Graph

8086 Commits

Author SHA1 Message Date
Timmy Xiao
21136d2647
Fix delegate dispatch for SurfaceUserData
Without this change, the event dispatch would go on forever and cause a
stack overflow
2024-02-03 14:54:45 -07:00
Timmy Xiao
b01e32b606
Implement most of dispatch pending_event 2024-02-03 14:54:45 -07:00
Timmy Xiao
3496aff490
Need to look into window frames 2024-02-03 14:54:45 -07:00
Timmy Xiao
4ce398bc19
A window renders now 2024-02-03 14:54:45 -07:00
Timmy Xiao
9e14a4c929
Implement do_paint -> renders window and then panics at frame() 2024-02-03 14:54:45 -07:00
Timmy Xiao
92e83b1ac5
Handle panics after handling window configuration 2024-02-03 14:54:45 -07:00
Timmy Xiao
0348a584c7
Implement handling window configuration 2024-02-03 14:54:45 -07:00
Timmy Xiao
d429fe1a7d
Have user data associated with a surface 2024-02-03 14:54:44 -07:00
Timmy Xiao
877e5bdf27
I give up 😭, it's not worth my time 2024-02-03 14:54:44 -07:00
Timmy Xiao
4170f238bd
Save the window: no more segfault + wgpu works too 2024-02-03 14:54:44 -07:00
Timmy Xiao
0071064e79
Trying to debug why WSurface has no good object id 2024-02-03 14:54:44 -07:00
Timmy Xiao
c694176bef
Attempt on Implementing EGL for windows
- wgpu gives segfault so move to EGL
- implement terminating message loop to match prev implementation
- still gives error but no segfault or panic right now
2024-02-03 14:54:44 -07:00
Timmy Xiao
2ff3b665ab
Don't block ReadGuard after getting fd -> segfaulting webgpu 2024-02-03 14:54:44 -07:00
Timmy Xiao
2096bc5439
No more todos! but I don't see a window 2024-02-03 14:54:44 -07:00
Timmy Xiao
d63d8fdecd
WaylandWindowInner 2024-02-03 14:54:44 -07:00
Timmy Xiao
6911ed0943
Window progress: no WindowInner though 2024-02-03 14:54:44 -07:00
Timmy Xiao
d49a27d5a7
Implement the epoll stuff 2024-02-03 14:54:43 -07:00
Timmy Xiao
2705e66121
No termination 2024-02-03 14:54:43 -07:00
Timmy Xiao
a3eee407c7
Wow a message loop, but it does nothing... 2024-02-03 14:54:43 -07:00
Timmy Xiao
618d7beede
Compiles after nuking connection and window 2024-02-03 14:54:40 -07:00
Timmy Xiao
3308cb578b
Connections compile without complaining; time for window 2024-02-03 14:52:45 -07:00
Timmy Xiao
3eaba4e3d6
Nuke Wayland 2024-02-03 14:52:42 -07:00
Wez Furlong
9df250f1d2
docs: refine linux install page
make it a bit easier to navigate, update some of the instructions
to reflect more recent changes.
2024-02-03 12:22:32 -07:00
Wez Furlong
603bd423b1
docs: remove legacy config table from initial config page
config_builder has been in the past several releases so we
don't need to worry so much about older versions now.
2024-02-03 11:47:27 -07:00
Wez Furlong
3129e20fd4
docs: update for release 2024-02-03 11:43:04 -07:00
Wez Furlong
5046fc2259
Revert "text cursor glyph renders at native cell size"
This reverts commit 2c95b98447.

More people were vocally and sometimes toxic about this change
than were in favor of it.

I'm just going to revert it and leave the original issue open.

refs: https://github.com/wez/wezterm/issues/2882
2024-02-03 11:08:09 -07:00
Wez Furlong
91749f7f1f
docs and missing bit of #4535 #4523 2024-02-03 10:52:15 -07:00
Magnus Groß
beb29e8ff7 Mention the -e aliases explicitly in the help
Otherwise it is just hidden forever. We can't use the proper declarative
interface, because we are faking quite some stuff for "-e", so instead
we mention it explicitly in the help output.
2024-02-03 10:36:07 -07:00
Magnus Groß
191d28113e Always start a new process on "wezterm -e $CMD"
This is done for compatibility, as many tools assume that running a
command with "$TERMINAL -e $COMMAND" blocks until the command is
finished.

For example some tools delete a needed file after the command returns.
But since we always return immediately (in case --always-new-process is
not provided and if another wezterm instance is already running), this
would mean that the file is deleted before the command could do
anything.

Fixes #4523
2024-02-03 10:36:07 -07:00
Wez Furlong
767e72a17b
ci: docs: make black run conditional on having it installed 2024-02-03 08:30:31 -07:00
Wez Furlong
7d84bf5b44
ci: switch mkdocs build to docker version
ubuntu's pip stuff is preventing me from doing a basic user
install and I've had trouble in the past with the svg related deps.

Let's just switch to using a docker based version of mkdocs.
2024-02-03 08:06:55 -07:00
Wez Furlong
99c17b166f
add wezterm start --new-tab and wezterm connect --new-tab
refs: https://github.com/wez/wezterm/discussions/4854
refs: https://github.com/wez/wezterm/discussions/4946
2024-02-03 07:51:06 -07:00
Wez Furlong
c3d37f9eda
docs: changelog for #4943 2024-02-02 19:39:42 -07:00
Wez Furlong
424d4fc393
plumb a couple more window title invalidations through to gui 2024-02-02 19:38:39 -07:00
Benjamin Kane
a96de2abab Add lua version to debug overlay 2024-02-02 19:37:30 -07:00
Wez Furlong
5eea7eb17b
don't show default key assignments in palette when they are disabled
refs: https://github.com/wez/wezterm/issues/4724
2024-02-02 19:13:49 -07:00
Wez Furlong
aa81a46d58
mux: allow specifying cache policy for process information
This allows individual call sites to be able to force an immediate
resolution of the process information.

This should help to address https://github.com/wez/wezterm/issues/4811
wherein the problem seems to be that the cwd used for a new spawn
is taken from a stale read.
2024-02-02 18:02:18 -07:00
Wez Furlong
a8223a756c
macos: add space between keycaps on command palette
refs: https://github.com/wez/wezterm/issues/4885
2024-02-02 16:48:51 -07:00
Wez Furlong
b0682e957f
speculative fix for tab title change not invalidating window
refs: https://github.com/wez/wezterm/issues/4941
2024-02-02 14:05:06 -07:00
Wez Furlong
7e9d71847d
fix tmux passthrough escape sequence encoding
Need to double up the ESC characters in the sequence that is
being passed through.

refs: https://github.com/wez/wezterm/issues/4940
2024-02-02 13:40:56 -07:00
Wez Furlong
8536d1313c
Revert "x11: scope the cyrillic ctrl-c workaround to cyrillic"
This reverts commit 15da2e64c2.

Let's back this out; I think I was too hasty and didn't fully
compare behavior with xterm prior to working on this.

refs: https://github.com/wez/wezterm/issues/4933
2024-02-02 10:59:40 -07:00
Wez Furlong
15da2e64c2
x11: scope the cyrillic ctrl-c workaround to cyrillic
The workaround was to allow ctrl-c to behave as expected for users
of cyrillic layouts, but it was scoped too broadly, as it impacted
eg: pressing ctrl-grave; in a spanish layout that is expected to
expand to º

This commit adjusts the scope of the workaround to only activate
when the original expansion is itself cyrillic.

I doubt this is the last we'll hear of this, but let's see
how it goes!

refs: https://github.com/wez/wezterm/issues/4933
2024-02-02 09:38:33 -07:00
Wez Furlong
4ca1941074
docs: changelog for #4910 2024-02-02 08:22:33 -07:00
Wez Furlong
c4113906f9
pty: improve unix path searching
We were unconditionally checking against the cwd for relative paths,
which isn't conformant to posix's path search logic.

This commit revises the search to only do so if the requested executable
starts with either a `.` or `..` path component.

In addition, we now also allow for path components in $PATH to specify
cwd-relative paths.

refs: #4920
2024-02-02 06:41:53 -07:00
Wez Furlong
17dadbeb1e
pty: don't try to spawn a directory from the cwd
When the cwd was set to a directory that contained
an executable directory whose name matched the argv0
of the command to be spawned, we'd incorrectly consider
that to be a valid candidate.

When later trying to spawn this, we'll fail with an EACCESS,
and in the context of wezterm, rust's internal error handling
machinery for this error would fail to write to a descriptor
because our close_random_fds() function has closed that descriptor
during pre_exec.  That in turn would cause rust to print a panic
message to the output stream of this semi-spawned process,
which would show briefly an error message with no useful context.

This commit resolves this issue by explicitly avoiding executable
directories in this case.

refs: https://github.com/wez/wezterm/issues/4920
2024-02-01 17:18:42 -07:00
Wez Furlong
aa94a98314
fix invalidation on palette change
refs: https://github.com/wez/wezterm/issues/4932
and possibly: https://github.com/wez/wezterm/issues/2635
2024-02-01 15:58:14 -07:00
Wez Furlong
b8d93edce6
xkeyboard: maybe workaround next_group weirdness
I'm not sure if this is the right way to go about this, but it doesn't
immediately break some simple tests with non-us layouts for me, so
I'm willing to push it and see what people say.

refs: https://github.com/wez/wezterm/issues/4910
2024-02-01 09:23:28 -07:00
Wez Furlong
eeea92a4d3
x11: improve keyboard trace diagnostics
add selected/fallback label and show how the xkb state overrides
are being applied
2024-02-01 09:23:28 -07:00
Jalil David Salamé Messina
309b7d1d6a ci: regenerate workflows 2024-02-01 08:53:49 -07:00
Jalil David Salamé Messina
bcc54d32be ci: Vendor cargo dependencies
This doesn't improve the build times, but it does reduce the requests we
make to `crates.io`.
2024-02-01 08:53:49 -07:00