1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-27 12:23:46 +03:00
Commit Graph

104 Commits

Author SHA1 Message Date
Wez Furlong
89257c73bb wezterm: a few more wezterm-gui fixups
These parts of packaging are likely sensitive to the change also
2020-10-24 17:17:45 -07:00
Wez Furlong
2ec12b5426 wezterm: fixup packaging for wezterm-gui split
refs: #301
2020-10-24 16:54:36 -07:00
Wez Furlong
7e8c5a06bb split gui into wezterm-gui executable
This commit moves a bunch of stuff around such that `wezterm` is now a
lighter-weight executable that knows how to spawn the gui, talk to
the mux or emit some escape sequences for imgcat.

The gui portion has been moved into `wezterm-gui`, a separate executable
that doesn't know about the CLI or imgcat functionality.

Importantly, `wezterm.exe` is no longer a window subsystem executable
on windows, which makes interactions such as `wezterm -h` feel more
natural when spawned from `cmd`, and should allow
`type foo.png | wezterm imgcat` to work as expected.

That said, I've only tested this on linux so far, and there's a good
chance that something mac or windows specific is broken by this
change and will need fixing up.

refs: #301
2020-10-24 16:40:15 -07:00
Wez Furlong
9e53462348 docs: adjust screenshots to include cursor color
Make sure the window is active when capturing all the screenshots.
2020-10-20 09:55:32 -07:00
Wez Furlong
83c52ef27a docs: format and wording tweak for color schemes 2020-10-20 00:55:35 -07:00
Wez Furlong
2c5275142a docs: another tweak for color schemes linkage 2020-10-20 00:52:42 -07:00
Wez Furlong
df1206fc37 docs: fixup case of title 2020-10-20 00:46:12 -07:00
Wez Furlong
30fc374ad8 docs: add colorschemes + screenshots
This includes a script to generate a screenshot from a wezterm
running the default config under X11.

It expects the iTerm2-Color-Schemes to be checked out alongside
the wezterm repo as it uses the dynamic color schemes scripts
to activate the schemes one by one and capture the display.
2020-10-20 00:40:25 -07:00
Wez Furlong
b7e303f39c Windows: prefer to use Direct3D11 via ANGLE
This is similar in spirit to the work in 4d71a7913a
but for Windows.

This commit adds ANGLE binaries built from
07ea804e62
to the repo.  The build and packaging will copy those into the same
directory as wezterm.exe so that they can be resolved at runtime.

By default, `prefer_egl = true`, which will cause the window
crate to first try to load an EGL implementation.  If that fails,
or if `prefer_egl = false`, then the window crate will perform
the usual WGL initialization.

The practical effect of this change is that Direct3D11 is used for the
underlying render, which avoids problematic OpenGL drivers and means
that the process can survive graphics drivers being updated.

It may also increase the chances that the GPU will really be used
in an RDP session rather than the pessimised use of the software
renderer.

The one downside that I've noticed is that the resize behavior feels a
little janky in comparison to WGL (frames can render with mismatched
surface/window sizes which makes the window contents feel like they're
zooming/rippling slightly as the window is live resized). I think this
is specific to the ANGLE D3D implementation as EGL on other platforms
feels more solid.

I'm a little on the fence about making this the default; I think
it makes sense to prefer something that won't quit unexpectedly
while a software update is in progress, so that's a strong plus
in favor of EGL as the default, but I'm not sure how much the
resize wobble is going to set people off.

If you prefer WGL and are fine with the risk of a drive update
killing wezterm, then you can set this in your config:

```lua
return {
  prefer_egl = false,
}
```

refs: https://github.com/wez/wezterm/issues/265
closes: https://github.com/wez/wezterm/issues/156
2020-10-17 19:08:16 -07:00
Wez Furlong
d33647dd97 ci: move source archive to run only for appimage build
The nightly builds seem to often trip over each other when
uploading the source tarball from ubuntu20.

Restrict it to being built only on the appimage build (ubuntu16).
2020-10-10 17:14:06 -07:00
Wez Furlong
46651caaf8 ci: disable cache on macos 2020-10-10 12:00:18 -07:00
Wez Furlong
6c12e2e981 docs: more pane related docs 2020-10-10 10:49:36 -07:00
Wez Furlong
bfe87b6bec ci: more messing around with cache on macos
Something seems to poison the cargo cache between the PR
and continuous builds.  Turn off caches for continuous builds.
2020-10-10 09:25:11 -07:00
Wez Furlong
ba9b98cd28 docs: fixup generated index page links 2020-10-10 09:07:56 -07:00
Wez Furlong
809bb53387 docs: split out the KeyAssignment enum variants
This makes the individual functions a bit easier to discover,
and a lot easier to link to.
2020-10-10 08:45:13 -07:00
Wez Furlong
7af4152275 docs: add a bit of exposition for the module/object sections 2020-10-10 08:00:08 -07:00
Wez Furlong
2463510a88 ci: more adjustments for actions/cache@v2 2020-10-10 07:36:34 -07:00
Wez Furlong
4c639c1d54 ci: invalid github caches
The mac builds started to fail with a crate resolution issue that I
can't reproduce locally shortly after I updated the cache action.  Let's
tweak the cache key to see if that clears things up.
2020-10-09 23:53:58 -07:00
Wez Furlong
b009e8c0d4 docs: add docs for the window object
refs: #225
2020-10-09 23:34:35 -07:00
Wez Furlong
850fdf40de docs: add docs for the Pane object
refs: #225
2020-10-09 23:22:52 -07:00
Wez Furlong
6e0836d11a docs: Make it easier to split out docs into multiple pages 2020-10-09 22:03:59 -07:00
Wez Furlong
22b6123624 ci: update to actions/cache@v2 2020-10-09 21:02:00 -07:00
Wez Furlong
8ce2d2ba04 ci: remove deprecated and unused azure setenv 2020-10-09 21:01:17 -07:00
Wez Furlong
ecdc321ab8 ci: update PKGBUILD.template for license file addition
refs: #290
2020-10-06 13:24:35 -07:00
Wez Furlong
d40e502fab adjust packaging to include wezterm-mux-server 2020-10-03 11:15:57 -07:00
Wez Furlong
e6a858664f windows: Software frontend is now mesa llvmpipe
This is a bit of a switch-up, see this comment for more background:
refs: https://github.com/wez/wezterm/issues/265#issuecomment-701882933

This commit:

* Adds a pre-compiled mesa3d opengl32.dll replacement
* The mesa dll is deployed to `<appdir>/mesa/opengl32.dll` which by
  default is ignored.
* When the frontend is set to `Software` then the `mesa` directory
  is added to the dll search path, causing the llvmpipe renderer
  to be enabled.
* The old software renderer implementation is available using the
  `OldSoftware` frontend name

I'm not a huge fan of the subdirectory for the opengl32.dll, but
I couldn't get it to work under a different dll name; the code
thought that everything was initialized, but the window just rendered
a white rectangle.
2020-10-01 18:31:57 -07:00
Wez Furlong
b10a33684e wezterm: fixup rpm build 2020-09-10 22:01:47 -07:00
Wez Furlong
94fb5094a4 wezterm: compile in default color schemes
Rather than scanning directories and reading in ~230 files on startup,
do the scan at build time so that we're parsing from memory rather
than local storage.

This should shave a bit of time off the startup, although I
haven't measured this, and I've only run this on a remote
linux system thus far.

refs: https://github.com/wez/wezterm/issues/264
2020-09-10 21:46:45 -07:00
Wez Furlong
38d18ac6db fix colorscheme install in the release AUR
refs: https://github.com/wez/wezterm/issues/259
2020-09-08 21:07:35 -07:00
Wez Furlong
573f2435c8 Automate updating linuxbrew tap
refs: https://github.com/wez/wezterm/issues/239
2020-07-05 09:40:52 -07:00
Wez Furlong
28eda7663e ci: take another pass at updating apt 2020-06-19 21:46:33 -07:00
Wez Furlong
99e736605e ci: run apt update on all apt based systems
GitHub actions ubuntu runs have been broken for the last day and
a half, so insert this to see if it will help.
2020-06-19 21:28:05 -07:00
Wez Furlong
3fb3a61a99 ci: fix sed usage when updating homebrew 2020-06-08 11:09:16 -07:00
Wez Furlong
d979a63e1a ci: hopefully last tweak for pushing macos homebrew tap 2020-06-08 10:16:43 -07:00
Wez Furlong
c5a6862b48 ci: maybe fix tagging -> homebrew tap 2020-06-08 09:18:03 -07:00
Wez Furlong
9d6594869d ci: whoops, fixup path for homebrew tap update 2020-06-07 14:26:06 -07:00
Wez Furlong
a909047ee0 ci: include escape sequence stripper in macos homebrew tap 2020-06-07 13:05:23 -07:00
Wez Furlong
cb5aed126c ci: maybe automate updating homebrew tap
refs: https://github.com/wez/wezterm/issues/208
2020-06-07 12:48:41 -07:00
Wez Furlong
52aa395bea ci: apply black to generate-workflows.py 2020-06-07 12:20:56 -07:00
Wez Furlong
d755c270e4 ci: add automation to update the wezterm-bin AUR at tag time
This is untested beyond eyeballing the locally generated file.
Will need to make a couple of tags to test this for sure.

refs: https://github.com/wez/wezterm/issues/209
2020-06-07 12:19:41 -07:00
Wez Furlong
1049e92ce6 wezterm: fixup open wezterm here for drive letters
Drives need a single extra trailing \ to work, whereas other paths
seem to need two!
2020-06-03 21:40:36 -07:00
Wez Furlong
845a196b04 ci: change git download URL
looks like the SSL cert for kernel.org expired today, breaking some
of our CI flows.

Let's try switching to github's mirror for git.
2020-05-30 10:31:35 -07:00
Wez Furlong
d6a5d1c835 docs: split install page into pages by platform 2020-05-30 10:30:32 -07:00
Wez Furlong
71d98d84ca wezterm: windows installer: add Open WezTerm here context menu to explorer
When installed by the installer, we add registry entries to configure
directory context entries in explorer.exe that enable "Open WezTerm
here" to function.

This works by running your default program with the current working
directory set to the one specified.

I plan to only enable this when installed by the installer so that
these can be deleted/updated by the installer later on.

If you want wezterm to run a different program by default, then
you can change the default_prog config in the wezterm configuration;
I don't plan on adding lot of context menu entries for this.

Note that attempting to open in the `C:\` root doesn't always seem
to work for me.  I haven't had a chance to understand what's going
on there.

refs: https://github.com/wez/wezterm/issues/155
2020-05-28 09:13:52 -07:00
Wez Furlong
f57338edc7 docs: update for setup.exe installer 2020-05-25 12:52:06 -07:00
Wez Furlong
07386e446b Windows: Add Inno Setup based installer
closes: https://github.com/wez/wezterm/pull/193
2020-05-25 11:48:58 -07:00
Wez Furlong
845d990304 add strip-ansi-escape utility to wezterm package
I've been meaning to do this for a while: the intended purpose
is to use this to filter ansi escape sequences out of the prompt
in the shell pre-command hook.
2020-05-17 21:51:07 -07:00
Wez Furlong
3d7fc38bb6 Embed update info into appimage 2020-05-04 23:38:50 -07:00
Wez Furlong
90de55f807 include appstream data in AppImage 2020-05-04 22:55:33 -07:00
Wez Furlong
21f3591aed CI: add centos 8 builds 2020-05-04 21:55:23 -07:00