1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-01 17:35:50 +03:00
Commit Graph

1420 Commits

Author SHA1 Message Date
Wez Furlong
265b85be1d
update image to 0.25
This improves how non-conforming jpegs are decoded and displayed.

refs: https://github.com/wez/wezterm/issues/5365
2024-05-05 16:14:46 -07:00
Wez Furlong
25257c6b38
rustfmt 2024-05-05 13:30:42 -07:00
stribor14
1dd5d6deac
Refactoring custom glyph drawing 2024-05-05 13:26:57 -07:00
stribor14
5f55624468
Cell diagonals 2024-05-05 13:26:57 -07:00
stribor14
4b04752ee5
Fill characters 2024-05-05 13:26:57 -07:00
stribor14
536767dc23
Shade characters 2024-05-05 13:26:57 -07:00
stribor14
26ec91d4e6
Rename Edge to Block, add 'Block Elements' 2024-05-05 13:26:57 -07:00
stribor14
314cb75a77
Smooth mosaic terminal graphic characters (quarter triangles) 2024-05-05 13:26:57 -07:00
stribor14
a38793110c
Smooth mosaic terminal graphic characters 2024-05-05 13:26:57 -07:00
Stefan Siegel
3d511bbd67
Accept drag and drop of URLs from browsers and plain text on X11
For filenames and urls an additional space is inserted after the last
item to enable adding more files and urls with another drag-and-drop
operation without the need to manually enter the space in between.
2024-05-05 12:48:09 -07:00
Jeffrey Knockel
753b6e77ea gui: don't repaint during resize
Wait until set_inner_size() has finished before repainting.  If we
repaint while our request to resize is in progress, our understanding of
the current size of the window may be inconsistent with the actual size,
causing the rendered contents of the window to bounce around.
2024-02-18 13:09:37 -07:00
Jeffrey Knockel
cd5d1f5ea1 gui: pass window to set_inner_size()
This fixes a regression from a0974a25 where TermWindow::set_inner_size()
can be called before the TermWindow's window has been set.
2024-02-18 07:22:20 -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
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
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
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
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
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
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
e7111a2bfa
fix laggy tab bar update after closing a tab
refs: https://github.com/wez/wezterm/issues/4880
2024-01-28 07:38:10 -07:00
Wez Furlong
2a8bdfa603
launcher: allow ctrl-[ to close launcher menu
refs: https://github.com/wez/wezterm/issues/4722
2024-01-27 09:01:33 -07:00
hyperpuncher
0839745aaf fix: disproportionate cursor 2024-01-26 05:29:32 -07:00
Wez Furlong
7f3a835548
fix excessive calls to format-tab-title
* Removed title update from main render loop
* Add to PaneFocused event
* term: only emit Alert::OutputSinceFocusLost for the first
  seqno bump after losing focus, rather than on every bump.
  That event indirectly causes the title to update

refs: https://github.com/wez/wezterm/issues/4788
2024-01-25 23:14:38 -07:00
Wez Furlong
1f9f3f2a5d
docs: changelog for https://github.com/wez/wezterm/pull/4850
and rustfmt on my little tweak
2024-01-25 08:23:17 -07:00
Ryan
27259cb857
fix: render bar cursors on topmost layer (#4850)
* fix: render bar cursors on topmost layer

* avoid cost of building error string unless layer allocation fails

---------

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2024-01-25 08:22:04 -07:00
Jeffrey Knockel
0462f318d7 Set base_width/height in set_resize_increments
On X11, this information is set as part of the hints given to the window
manager. When resizing the terminal, many X11 window managers will now
correctly report the current cell size of the terminal (e.g., 80x24) as
an overlay when resizing the window.
2024-01-24 22:04:16 -07:00
Jeffrey Knockel
c70e2fea28 Move set_resize_increments() to apply_dimensions() 2024-01-24 22:04:16 -07:00
Jeffrey Knockel
f204f0f1a9 Refactor set_resize_increment() args into struct 2024-01-24 22:04:16 -07:00
Wez Furlong
eb3a78b0cb
x11: synthesize clearing dead key state when forgotten by system
It's not clear exactly how this triggers, but in setups where
a compose key has been configured (against the default for the
configured keyboard layout), it seems as though certain events
that indicate when composition is complete are not delivered,
leaving the compose cursor in an inconsistent state.

This commit attempts to detect that composing->!composing
state transition and bubble it up; when we return Nothing
and had previously had a composition string we're return
a bool to cause the caller to emit an event that clears
the composition state.

I'm not totally sure this is 100% right, but I think
it may help with the case we're discussing in
https://github.com/wez/wezterm/issues/4841
2024-01-23 15:02:50 -07:00
Wez Furlong
463c457528
thread pane through to other scroll actions as well
This should allow mouse bindings that control scrolling
to also work with the hovered pane.

refs: https://github.com/wez/wezterm/issues/4835
2024-01-23 09:30:22 -07:00
Ye Sijun
e3ccf2eacc Remove reserved space in full screen
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2024-01-23 06:33:16 -07:00
Wez Furlong
a471618397
shlex: update usage to avoid warnings about NUL bytes 2024-01-23 06:07:27 -07:00
Wez Furlong
74e2c79d9c
docs for #4839 and apply to other areas with similar issue
refs: https://github.com/wez/wezterm/pull/4839
2024-01-23 05:55:18 -07:00
metiftikci
ff4e648834 fix: fixed palette selected row position on move down 2024-01-23 05:49:09 -07:00
Travis Collins
bc4244bd65 Fix mouse scroll on hovered but unfocused pane 2024-01-21 17:59:07 -07:00
Ye Sijun
300109ccc1 support double-click on the tab bar for maximize
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2024-01-21 14:36:19 -07:00
0xdead10cd
e54de84c14 Fixes tabbar identation when placed at the bottom of the window 2024-01-21 14:12:54 -07:00
rawnly
6dbea8ff5e chore: run fmt 2024-01-21 14:06:01 -07:00
rawnly
163606afec fix: moved window level state update 2024-01-21 14:06:01 -07:00
rawnly
209d039c5d fix: refactor window level + Toggle options 2024-01-21 14:06:01 -07:00
rawnly
9901866962 macos: floating window logic cleanup 2024-01-21 14:06:01 -07:00
rawnly
2e66a4b0df macos: save window level on window_state 2024-01-21 14:06:01 -07:00