1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-28 07:55:03 +03:00
Commit Graph

3189 Commits

Author SHA1 Message Date
Wez Furlong
cc4cdd81b3 window: remove avx code in bitmaps/mod.rs
I don't think it is worth the complexity of keeping this around;
we rarely do direct bitmap stuff any more.
2020-12-29 14:26:57 -08:00
Wez Furlong
c73e1d3924 window: remove PaintContext 2020-12-29 13:53:20 -08:00
Wez Furlong
38a0137660 window: remove now-dead code on Windows 2020-12-29 13:42:18 -08:00
Wez Furlong
1ca2aeaeb4 window: remove now-dead code for x11/wayland 2020-12-29 13:40:50 -08:00
Wez Furlong
1af1c85818 window: fixup build for x11/wayland 2020-12-29 13:35:59 -08:00
Wez Furlong
4f80fd9bcd window: macos: remove dead code 2020-12-29 13:29:59 -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
5a3c6a6b15 window: macos: remove non-opengl back buffer 2020-12-29 12:52:44 -08:00
Wez Furlong
709682079e window: macos: refactor now opengl is always enabled
Hoist opengl out of a submodule.
2020-12-29 12:47:25 -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
cf2dcff362 changelog: note about not leaking fds from gnome, too 2020-12-29 11:37:53 -08:00
Wez Furlong
6578d657b3 add ` to the default selection_word_boundary config 2020-12-29 11:34:55 -08:00
Wez Furlong
dc2efb0b43 fix tests after 80411d7db9 2020-12-29 11:28:43 -08:00
Wez Furlong
7cf68365a5 deps: misc updates 2020-12-29 09:24:34 -08:00
Wez Furlong
80411d7db9 simplify passing the TerminalSize to the terminal
Following on from 8649056ac0,
this commit should make it harder to make a similar mistake
in the future, by introducing a new TerminalSize struct for
that purpose.
2020-12-29 09:06:26 -08:00
Wez Furlong
ba62f4fed0 clarify split docs
I've seen a number of people copy and paste the example that runs
`top` and be confused by it, so try to make it a bit clearer how
to get a regular split with a shell inside it.
2020-12-29 08:40:52 -08:00
Wez Furlong
da55e12b5e Add selection_word_boundary configuration option
refs: https://github.com/wez/wezterm/issues/405
2020-12-28 14:13:25 -08:00
Wez Furlong
94ca16d987 gui: round x-coordinate when selecting text
But don't round the y-coordinate as that one seems OK.

refs: https://github.com/wez/wezterm/issues/350
2020-12-28 13:44:30 -08:00
Wez Furlong
c68bf92bcd window: implement FullScreen for x11
refs: https://github.com/wez/wezterm/issues/177
2020-12-28 10:59:53 -08:00
Wez Furlong
4d8cc1bb26 font: consider "random" glyphs when computing metrics for symbol fonts
If a font doesn't have any latin glyphs then we'd compute 0 as the
average width.  Later, during rendering, we'd compute an `inf` scaling
factor and then subsequently fail to allocate texture space.

This commit takes the average width from a "random" selection of glyphs
(whatever the first few glyphs in the font may be) to avoid that
situation.

refs: https://github.com/wez/wezterm/issues/404
2020-12-28 09:02:30 -08:00
Wez Furlong
7cbbb49ab4 deps: ordered-float -> 2.0 2020-12-28 08:25:43 -08:00
Wez Furlong
f4ba55d078 cargo update 2020-12-28 08:23:20 -08:00
Wez Furlong
f8f8dc7240 remove now-dead code 2020-12-27 22:37:52 -08:00
Wez Furlong
d302f82335 window+gui: macOS: add native_macos_fullscreen_mode option
Defaults to false.  If set to true, the ToggleFullScreen action
prefers native macOS fullscreen mode.

refs: https://github.com/wez/wezterm/issues/177
2020-12-27 22:34:31 -08:00
Wez Furlong
cd997cbe48 window+gui: migrate prefer_egl to WindowConfiguration 2020-12-27 22:06:04 -08:00
Wez Furlong
228356105e window+gui: migrate enable_wayland to WindowConfiguration 2020-12-27 22:00:51 -08:00
Wez Furlong
fb53f98295 window+gui: migrate windows dead keys config to WindowConfiguration
untested as I'm on a mac, but seems like it might compile...
2020-12-27 21:56:16 -08:00
Wez Furlong
44ca61da66 window+gui: introduce WindowConfiguration trait
This adopts a similar technique to that used to pass the wezterm
config to the term crate, but this time it is for passing it to
the window crate.

The use_ime option has been ported over to this new mechanism.
2020-12-27 21:51:56 -08:00
Wez Furlong
7ae52cd2b5 wezterm: plumbing for FullScreen action
Hooks up toggling fullscreen mode on macos, with plumbing for
other systems.

I prefer not to use the "modern fullscreen" mode because I find
the transition animations in macOS are horrendously slow.

I'll make an option to allow selecting whether that is used or not
in a follow-on diff.

refs: https://github.com/wez/wezterm/issues/177
2020-12-27 19:15:47 -08:00
Wez Furlong
b438a9aa6f log::info! when clicking an URL, rather than log::error! 2020-12-26 19:20:23 -08:00
Wez Furlong
e7677aa212 suppress updater window
The new banner is less intrusive; it doesn't steal focus
and for users that have multiple wezterm processes, doesn't show
one per process.

So let's turn off the updater window.  I'm considering moving the
"smart" upgrade links into a helper subcommand, but that's for
another diff.
2020-12-26 19:17:17 -08:00
Wez Furlong
2605d63247 update checker: save latest release info, show banner on startup
This commit keeps the content from the last release check in a local
file and reads from that file on startup to set a two-line release
info banner in each new pane.
2020-12-26 19:07:52 -08:00
Wez Furlong
6b414bebc9 tweak updating checking
* Allow injecting some initial output to new panes
* Have the update checker set this new-pane-banner to a short
  upsell to let the user know there is an update.
* Refactor toast notifications into their own crate
* Have the update checker call a new stub function that triggers
  a toast notification with an URL... but it does nothing because
  the rust ecosystem doesn't support this on macos yet and I'm
  writing this code there
2020-12-26 18:22:44 -08:00
Wez Furlong
3c3ba6a30a icon: add padding to mac icon
Converts the svg font to a path so that rendering doesn't
require the full Operator Mono font locally.

Adjust the update script to add 10% padding around the icon
on macOS as @erf suggests that the increased padding looks
better/more consistent with other macOS apps.
2020-12-26 17:08:38 -08:00
Wez Furlong
586d18c9fd QuitApplication now respects window_close_confirmation
closes: https://github.com/wez/wezterm/issues/398
closes: https://github.com/wez/wezterm/issues/280
2020-12-26 15:37:41 -08:00
Wez Furlong
b3ac77aa92 wezterm: allow adding images to termwiztermtab apps
Tidies up the plumbing around pixel dimensions so that ImageData
can be rendered via the termwiztermtab bits.

I put this together to play with sticking the wezterm logo in
the close confirmation dialogs.  I didn't end up using that though,
but have preserved the commented code for use in future hacking.
2020-12-26 14:01:48 -08:00
Wez Furlong
8649056ac0 term: fix longstanding bug with imagecat
Sometimes, I'd notice that imgcat would have a weird aspect.
I stumbled across the root cause while debugging something else:
the order of the pixel width and height was flipped here.
2020-12-26 13:58:08 -08:00
Wez Furlong
fd533a6944
Add icon to readme page 2020-12-26 11:27:37 -08:00
Wez Furlong
44b76e35df term: fix iterm2 image protocol size when only 1 dimension specified
when running eg: `wezterm imgcat assets/icon/terminal.png --width 3`
we were scaling the height up by the ratio between the physical
width and the specified width, instead of down.
2020-12-26 11:10:28 -08:00
Wez Furlong
1a0627a262 wezterm imgcat: fix name of no-preserve-aspect-ratio option 2020-12-26 11:02:39 -08:00
Wez Furlong
3d9f341e00 docs: tweak mdbook config
* Sets wezterm's icon as the favicon
* enable github link back to the repo
* Default to Ayu color scheme
2020-12-26 10:05:39 -08:00
Wez Furlong
404844522c wezterm: update icon
I was playing around with inkscape and this simple icon is
the result.

Add a script to generate the various bitmap icons for all three
platforms.  It is intended to run on a Linux host.
2020-12-26 01:49:40 -08:00
Wez Furlong
da00e091b6 docs: changelog entry about SHIFT on X11
refs: https://github.com/wez/wezterm/issues/394
2020-12-25 22:53:52 -08:00
Cindy Xiao
4ce0397ddb
docs: update default keybinding info for CloseCurrentTab w/ its boolean param (#396)
CloseCurrentTab now takes a boolean parameter (confirm), but the default
keybinding table in the docs hasn't been updated to reflect that.
2020-12-25 22:43:58 -08:00
Wez Furlong
1aeabba79f Add confirmation to QuitApplication action
refs: https://github.com/wez/wezterm/issues/280
2020-12-25 18:20:58 -08:00
Wez Furlong
cbf29c2e53 window: x11: remove SHIFT state from KeyCode::Char(_)
When we decode a key event from X11 into a `KeyCode::Char(_)` variant,
that result has already factored in the result of the SHIFT modifier
state.

That makes SHIFT largely useless for unicode keys; we do want to
preserve the SHIFT modifier for keys such as the arrow keys.

This commit removes SHIFT from the `KeyEvent::modifiers` for
`KeyCode::Char(_)` variants so that those modifiers don't get
in the way of keymap lookups.

refs: https://github.com/wez/wezterm/issues/394
2020-12-25 10:29:30 -08:00
Wez Furlong
34bb74fa9e remove some stray dbg! 2020-12-25 09:53:54 -08:00