1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-27 15:37:29 +03:00
Commit Graph

7841 Commits

Author SHA1 Message Date
Wez Furlong
206b73a6da
docs: changelog for #4966 2024-02-08 05:15:13 -07:00
Wez Furlong
2fee694bcc
wayland: avoid panic when closing/destroying window
refs: https://github.com/wez/wezterm/issues/4983
2024-02-08 05:01:55 -07:00
Wez Furlong
4f123a461b
macos (mostly): try harder to get initial dpi
There are a number of open issues that relate to getting the dpi
wrong when spawning a window. In theory it shouldn't matter because
we will immediately realize the difference and synthesize the correct
information, but evidence shows this isn't quite true.

What this commit does is:

* Override Connection::default_dpi() on macOS to return the
  effective_dpi from the active screen instead of the default
  non-retina dpi
* Adjust the Config::initial_size() method to accept an optional
  cell pixel dimension
* Add a helper function to wezterm-gui to compute the cell pixel
  dimensions given the config and the (usually default) dpi, and
  feed that through to Config::initial_size
* in the macos window impl, scale the computed geometry based on
  the ratio of the Connection::default_dpi and the default non-retina
  dpi.

This helps to avoid needing to do a fixup in the
https://github.com/wez/wezterm/issues/4966 case, and may help with
the various other macos quirky issues.

refs: https://github.com/wez/wezterm/issues/2958
refs: https://github.com/wez/wezterm/issues/3575
refs: https://github.com/wez/wezterm/issues/3900
refs: https://github.com/wez/wezterm/issues/4250
refs: https://github.com/wez/wezterm/issues/4285
refs: https://github.com/wez/wezterm/issues/4447
refs: https://github.com/wez/wezterm/issues/4851
refs: https://github.com/wez/wezterm/issues/4966
2024-02-06 22:57:05 -07:00
Wez Furlong
36ff6d5f44
deps: update glium 2024-02-06 16:52:02 -07:00
Wez Furlong
5d190c2b7a
docs: mention arch supplemental fonts
refs: https://github.com/wez/wezterm/issues/4976
2024-02-06 10:44:09 -07:00
Wez Furlong
39d2b6ca85
remove show_update_window functionality
dependabot is trying to update pulldown-cmark, but it won't
work because the API has changed.

The update window is not enabled by default and I don't think
anyone uses it anyway, so let's just remove it and have less
code to compile and maintain.

closes: https://github.com/wez/wezterm/pull/4964
2024-02-05 07:04:37 -07:00
Wez Furlong
11a3133f5d
ci: publish amd64 builds to apt repo when releasing
Currently only arm builds are published for releases
2024-02-05 06:48:49 -07:00
Wez Furlong
22150bfba6
cargo update 2024-02-05 06:34:39 -07:00
Wez Furlong
9064c1c194
ci: bump cache action
closes: https://github.com/wez/wezterm/pull/4958
2024-02-05 06:34:15 -07:00
Wez Furlong
3d893cbbf7
ci: bump sccache
closes: https://github.com/wez/wezterm/pull/4959
2024-02-05 06:33:28 -07:00
Wez Furlong
26921ced86
ci: bump cargo-install
closes: https://github.com/wez/wezterm/pull/4960
2024-02-05 06:32:43 -07:00
Wez Furlong
a9eca94bfa
ci: bump auto-commit workflow
closes: https://github.com/wez/wezterm/pull/4961
2024-02-05 06:31:50 -07:00
Jeffrey Knockel
b03b833a4d windows: account for dpi in window size
On Windows, to set a window's size, in addition to the size of the
client area, the width and height of the window's "frame" must be
included in the dimensions passed to SetWindowPos() which burdens us in
needing to know the exact size of the window frame so that we can
properly account for its dimensions.  Previously, we used
AdjustWindowRect() to account for the frame's dimensions, but the size
of a window's frame can change depending on the DPI of the monitor on
which it is placed, and it appears that neither AdjustWindowRect() nor
AdjustWindowRectEx() account for this automatically.  Instead, we use
AdjustWindowRectExForDpi(), passing in the window's DPI, so that we
properly calculate the window's size.
2024-02-04 21:32:33 -07:00
Wez Furlong
bed5141d6e
docs: changelog for #4876 2024-02-04 09:42:27 -07:00
Jeffrey Knockel
a0974a2537 Implement SetInnerSizeCompleted events
These are used to signal, after a set_inner_size() call, at what point
we can expect any and all of its related Resized events to have already
been dispatched.  SetInnerSizeCompleted events are currently used to fix
a race condition in rescaling the terminal in which the number of cells
of the terminal (e.g., 80x24) can change when quickly rescaling the
terminal.
2024-02-04 09:40:54 -07:00
Benjamin Kane
2c5fa35986 Update Lua Reference with Lua version 2024-02-03 23:26:29 -07:00
Wez Furlong
38dbd8db5e
wayland: hook up some resize handling
refs: https://github.com/wez/wezterm/pull/4906
2024-02-03 23:18:55 -07:00
Wez Furlong
32f5d1ca08
wayland: avoid panic w/ resize of hidden frame, part 2
refs: https://github.com/wez/wezterm/issues/4948
2024-02-03 23:10:26 -07:00
Wez Furlong
2ce302c89c
wayland: don't try to resize a hidden frame
it causes a panic.

refs: https://github.com/wez/wezterm/issues/4948
2024-02-03 20:06:55 -07:00
Wez Furlong
050aa078d7
wayland: improve error check
This avoids a nasty panic, and shows some more context,
but doesn't really fix anything.

refs: https://github.com/wez/wezterm/issues/4948
2024-02-03 20:00:22 -07:00
Wez Furlong
281a0ce4da
docs: add forgotten appearance option for command palette
closes: https://github.com/wez/wezterm/issues/3335
2024-02-03 19:18:07 -07:00
Wez Furlong
a435606975
rebase @tzx's wayland changes onto main
closes: https://github.com/wez/wezterm/pull/4777
closes: https://github.com/wez/wezterm/pull/4905
2024-02-03 15:21:24 -07:00
Timmy Xiao
f8b86cce22
Don't hardcode egl sizes 2024-02-03 14:56:12 -07:00
Timmy Xiao
6b73db40e9
Resize window frame correctly 2024-02-03 14:56:12 -07:00
Timmy Xiao
4b0fba40f7
Implement working frame actions 2024-02-03 14:56:11 -07:00
Timmy Xiao
0c034ccdec
Initial window frame 2024-02-03 14:56:11 -07:00
Timmy Xiao
da5b519340
Make IME support optional since not all compositors support it 2024-02-03 14:56:11 -07:00
Timmy Xiao
daf58199aa
Handle crash when using software/opengl due to active_surface_id 2024-02-03 14:56:11 -07:00
Timmy Xiao
125e89c3ae
Implement primary selection support 2024-02-03 14:56:11 -07:00
Timmy Xiao
561d360e0a
Fix making wlr-output-management-unstable optional 2024-02-03 14:56:11 -07:00
Timmy Xiao
ea149a9686
Implement wlr-output-management-unstable 2024-02-03 14:56:11 -07:00
Timmy Xiao
d6dae4fc90
Implement shutdown for ime 2024-02-03 14:56:11 -07:00
Timmy Xiao
5b2f960438
Implement inputhandler 2024-02-03 14:56:10 -07:00
Timmy Xiao
a3eb8a8bd4
Start IME support 2024-02-03 14:56:10 -07:00
Timmy Xiao
62949df2c8
Ignore drag source handlers (we don't drag from wezterm) 2024-02-03 14:56:10 -07:00
Timmy Xiao
21a6b0636a
Implement dispatch_dropped_files 2024-02-03 14:56:10 -07:00
Timmy Xiao
5d6e7c4f98
Implement paste 2024-02-03 14:56:10 -07:00
Timmy Xiao
41eeddb7a1
Implement copying, pasting does not work 2024-02-03 14:56:10 -07:00
Timmy Xiao
30727e96ac
Theme the pointer 2024-02-03 14:56:10 -07:00
Timmy Xiao
60066034aa
Implement forgotten PointerEventKind::Release, mouse features seem to work now 2024-02-03 14:56:10 -07:00
Timmy Xiao
6807d7c18f
Mouse seems to do something, but it is incorrect 2024-02-03 14:56:10 -07:00
Timmy Xiao
dfa1e35138
Starting pointer implementation 2024-02-03 14:56:09 -07:00
Timmy Xiao
d5f781a2e0
Nuke pointer 2024-02-03 14:56:09 -07:00
Timmy Xiao
fb35683e0a
Don't use xkbcommon feature in smithay so we can use modifiers 2024-02-03 14:56:08 -07:00
Timmy Xiao
cfbc9d716c
Use raw_code for process_wayland_key instead of keysym 2024-02-03 14:55:32 -07:00
Timmy Xiao
d443afa380
Ignore cursor handling for now 2024-02-03 14:55:32 -07:00
Timmy Xiao
25c123af75
Implement adding keymap 2024-02-03 14:55:31 -07:00
Timmy Xiao
136a043008
Implement enter + emit_focus -> need to impl keymap 2024-02-03 14:55:31 -07:00
Timmy Xiao
c66b1855fc
Implement pressing a key 2024-02-03 14:55:29 -07:00
Timmy Xiao
8382c370f1
Refactor windows to WaylandState 2024-02-03 14:54:46 -07:00