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

441 Commits

Author SHA1 Message Date
Wez Furlong
27fce9eb8c
re-run black ci/generate-workflows.py 2023-03-24 17:55:19 -07:00
Jalil Salamé
66b29c88e0
ci: Use rust-cache instead of the general cache action (#3341)
* feat: Cache Rust artifacts using Swatinem/rust-cache@v2

* chore: Generate workflows

* chore: Modify non generated workflows

* fix: Add caching to workflows that were missing it

* fix: Merge conflicts

* fix(ci): No need to hash files ourselves

* chore: Regenerate workflows

* fix: Only cache workspace (other changes don't invalidate cache)

---------

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2023-03-24 17:54:36 -07:00
Wez Furlong
604ef152be
add wezterm cli activate-pane, wezterm cli activate-tab
refs: #3352
refs: https://github.com/wez/wezterm/issues/886
2023-03-24 17:32:55 -07:00
Wez Furlong
f44d02504c
Add: wezterm cli kill-pane
refs: #3352
2023-03-24 17:31:34 -07:00
Wez Furlong
75cdb2190d
reformat generate-workflows.py with black 2023-03-24 10:16:47 -07:00
Jalil Salamé
1535d88290
Ci toolchain: Do not use actions-rs/toolchain (#3327)
* fix(generate-workflows): Do not use actions-rs

[actions-rs/toolchain](https://github.com/actions-rs/toolchain) is unsupported:

- Has not recieved updates since November 2020 (~2.5 years)
- It uses Node.js 12 and GitHub will stop supporting it Summer this year(?) see
  this [article](https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/).

[dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) is
actively supported and its mostly a 1-1 replacement, the differences are:

- Uses the minimal profile always, so no need to specify it.
- There is no need to override the toolchain.

I also removed some things:

- None of the generated actions use `rustfmt` so I removed the component
- The toolchain is always stable, so I specified it in the action itself
  instead of in the action parameters.

* ci: Regenerate workflows

* fix: Remove ALLOW_UNSECURE_COMMANDS from action

* fix(CentOS7): Manually install rustup as CentOS7 uses a very old curl

* fix: Restart shell so that the rustup command is available

* feat: Add exeption to the CentOS workflow to download rustup

* fix: Remove actions-rs/toolchain from remaining workflows

* fix: Address review comment
2023-03-24 10:16:09 -07:00
Jalil David Salamé Messina
05657e171a fix(ci): Wrong path to tag-name.sh 2023-03-24 07:03:22 -07:00
Wez Furlong
2b9bf36eb6
docs: add --help output from various wezterm cli subcommands 2023-03-22 20:44:15 -07:00
Wez Furlong
00ada33fe2
ci: persuade zypper to install deps in get-deps 2023-03-21 20:01:57 -07:00
Wez Furlong
73a1c3b0d3
docs: add --help output pages to the CLI reference 2023-03-21 18:44:26 -07:00
Wez Furlong
30f09fd1f6
docs: improve color scheme page titles 2023-03-21 17:00:53 -07:00
Wez Furlong
cd4a41dfcb
docs: simplify scheme aliases a bit more 2023-03-21 14:48:06 -07:00
Wez Furlong
d2253e8e09
docs: fix handling of color scheme aliases 2023-03-21 14:44:13 -07:00
Wez Furlong
369c8b01bb
docs: use strict mode to hopefully catch invalid links 2023-03-21 09:34:06 -07:00
Wez Furlong
19c9bc84f2
docs: simplify templating of install pages 2023-03-21 09:31:49 -07:00
Wez Furlong
d983e53e91
linuxbrew: 20 rather than 22
refs: #3308
2023-03-21 08:07:00 -07:00
David Martos
b4f4264b00 Update wezterm-linuxbrew.rb.template
Hello, I encountered some issues when upgrading to latest version with Homebrew. I believe this would be the required change is that correct?
Or should 20.04 be used? 22.04 is LTS as well.
2023-03-21 07:49:43 -07:00
Wez Furlong
40081cb573
docs: update a bunch of since lines to new macro 2023-03-20 22:54:27 -07:00
Wez Furlong
3b8551e03c
docs: update nightly features -> current release 2023-03-20 21:29:43 -07:00
Wez Furlong
559cb7b0a7
schemes: we now allow using any of the alias names, so refine docs 2023-03-20 12:43:40 -07:00
Wez Furlong
a0ec2c18b4
ci: remove some builds
GH actions has been awful slow and bogged down recently,
getting in the way of work that is more important.

This commit removes a variety of alpine builds (which are
not widely used by wezterm users), and the eldest fedora
version to free up some resources.
2023-03-19 22:47:46 -07:00
Wez Furlong
0f8146b212
docs: shift from return {} style to config.something style
Nudge new users towards using this style:

```lua
local config = {}
config.color_scheme = 'Batman'
return config
```

and surface how to write lua modules closer to the main section
on config files. In that lua modules section, nudge towards using
a convention similar to that of the plugin spec described in
this commit: e4ae8a844d
2023-03-19 18:26:21 -07:00
Wez Furlong
a22e6fa1ab
fix trigger paths! 2023-03-16 00:05:00 -07:00
Wez Furlong
914ad42743
revise verify-pages triggers and workflow 2023-03-15 23:43:28 -07:00
Wez Furlong
8489f7fd83
docs: make them build on macos again 2023-03-15 22:56:44 -07:00
Wez Furlong
cd89022164
docs: don't build now-unused mdbook bits 2023-03-15 21:35:27 -07:00
Wez Furlong
7b2330ead2
ci: workflow should run when its file is changed 2023-03-15 21:34:33 -07:00
Wez Furlong
532d9e6e85
ci: adjust path triggers 2023-03-15 21:31:46 -07:00
Wez Furlong
107bcf6a89
docs: some adjustments for mkdocs 2023-03-15 20:54:02 -07:00
Wez Furlong
4770b38737
docs: switch doc build to Material for MkDocs
It's a more mature and actively developed toolset for
technical writing, and looks nicer.
2023-03-15 19:22:51 -07:00
Wez Furlong
fecf3bb60b
docs: add mdbook-admonish 2023-02-25 18:19:47 -07:00
Wez Furlong
0b7d222240
ci: try harder for app image build 2023-02-17 12:13:42 -07:00
Wez Furlong
0bcbdc1baa
ci: maybe fix appimage build 2023-02-17 11:33:35 -07:00
Wez Furlong
a5c2b1f3ad
ci: generate appimage from ubuntu20
We were doing this from 18, but with 18 on its way out on GH actions,
bump it up.
2023-02-12 10:31:06 -07:00
Wez Furlong
fc27defd25
ci: remove ubuntu 18
refs: https://github.com/actions/runner-images/issues/6002
2023-02-07 09:48:33 -07:00
Wez Furlong
81f18acd40
rust 1.67 is the minimum required version
refs: https://github.com/wez/wezterm/issues/3020
2023-02-06 06:18:02 -07:00
Wez Furlong
eee340447f
docs: add a bit explaining what a terminal is 2023-01-25 11:24:34 -07:00
azzamsa
b74cd91789 docs: use new gelatyx file-list option 2023-01-23 17:54:48 -08:00
Wez Furlong
75b3c03d6d
docs: start recipes section
refs: https://github.com/wez/wezterm/issues/1223
2023-01-22 23:35:22 -07:00
Wez Furlong
ca7024aee3
ci: try harder to successfully build the docs on PRs 2023-01-21 06:38:38 -07:00
Wez Furlong
60922b9ea0
docs: add troubleshooting section 2023-01-19 10:44:05 -07:00
Wez Furlong
37055d2fab
expose some mux domain stuff to lua
refs: https://github.com/wez/wezterm/issues/2933
2023-01-09 08:38:05 -07:00
Manpreet Singh
67896f67f5 Add Fedora 37 nightly builds 2023-01-02 15:51:14 -08:00
Wez Furlong
7c88674413
ci: another pass at tumbleweed 2022-12-31 23:44:04 -07:00
Wez Furlong
7b6aad6884
ci: make fix tumbleweed build 2022-12-31 22:38:59 -07:00
Wez Furlong
295e0c444f
ci: potentially fixup flakey pages build
It has been failing sporadically due to GH API rate limiting.
Use the gh CLI if available, to pick up our access token.
2022-12-22 10:54:17 -07:00
Wez Furlong
0da36a40fd
ci: refine error reporting in doc build 2022-12-19 22:11:01 -07:00
Wez Furlong
758a09f55f
ci: add debug output when building docs
This step is flaking out often in CI and I'd like to get a better sense
of why.
2022-12-19 11:45:29 -07:00
cgrigis
fcace3d5e3
Remove Source entry in Debian control file (#2828)
Remove `Source` entry in final Debian control file
2022-12-04 08:53:37 -07:00
Xeysz Matrasx
c55cecaee5 Allow windows installer to run on arm64 emulating x64 2022-11-15 08:41:18 -08:00
Wez Furlong
287a633a98 ci: maybe fix suse CI
looks like lsb-release is no longer a valid package in suse
2022-10-21 21:47:09 -07:00
Wez Furlong
cff0e5f2a3 macos: add camera entitlement
refs: https://github.com/wez/wezterm/issues/2551
2022-09-24 19:14:55 -07:00
Wez Furlong
cf989fb9da docs: update for MuxPane/Pane merger 2022-09-11 07:21:54 -07:00
Orhun Parmaksız
77024fa109 ci: correctly set the tag for release description
While using here-doc, lines are not expanded for parameter expansion if
a part of starting _word_ (_EOT_ in this case) is quoted. This results
in '$name' parameter appearing in auto-generated link without expansion.
This commit removes the single quotes from here-doc thus sets the
correct tag which is retrieved by '$1'.

Signed-off-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2022-09-06 07:13:55 -07:00
Wez Furlong
ee436437b4 ci: expand auto-generated release description 2022-09-04 08:31:57 -07:00
Wez Furlong
9d6b4a3e17 docs: CopyMode assignments now have their own individual pages
refs: https://github.com/wez/wezterm/issues/2346
2022-08-21 11:05:56 -07:00
Wez Furlong
3602a839eb docs: add stable download links for suse and alpine 2022-08-11 08:27:11 -07:00
Wez Furlong
c496f1ce97 fix fedora download links
I think I may have inadvertently changed whether the arch portion
was included in the filename for stable releases.

Allow for that in the regex.

Remove debian 9 which is no longer supported.

closes: https://github.com/wez/wezterm/issues/2382
2022-08-09 09:05:29 -07:00
Wez Furlong
8b8d8f61e6 add content rating and release info to appdata
Required for flathub submission

refs: https://github.com/flathub/flathub/pull/3398
2022-08-08 06:44:22 -07:00
Wez Furlong
c2fee76638 ci: nth time's the charm for winget tag pr thing 2022-08-07 11:31:46 -07:00
Wez Furlong
608750d5e0 ci: format with black 2022-08-07 10:52:16 -07:00
Wez Furlong
306da9d448 ci: tweak winget pr stuff a bit more 2022-08-07 10:51:56 -07:00
Wez Furlong
56aa71331e ci: maybe fixup winget pr submission when tagging a release 2022-08-07 09:38:23 -07:00
Wez Furlong
3f7443f4c1 showkeys/docs: generate copy_mode defaults from the code
Uses `wezterm show-keys --lua --key-table copy_mode` to dump the
actual copy mode key table.  Include that in the docs.

Same for search_mode.
2022-08-04 06:28:32 -07:00
Wez Furlong
c0ebd2d131 flatpak: refine build; install more executables in image 2022-08-03 07:04:31 -07:00
Wez Furlong
404d742c14 Teach wezterm how to spawn programs when running in flatpak
This commit allows wezterm to spawn programs into the host rather
than in the container environment.

It feels weird that it is so trivial to "break out" of the container
sandbox, but I'm not complaining.

There are some unfortunate consequences:

* there is no `wezterm` installed on the host, so no ability to `wezterm
  cli` to control it from other apps
* The unix domain socket is scoped inside the sandbox, so there's "no
  way" for `wezterm cli` to reach inside anyway.

But: with this, it is at least usable to start a flatpak and open a
shell.

refs: https://github.com/wez/wezterm/issues/2229
2022-08-03 07:04:31 -07:00
Wez Furlong
3379a2b285 flatpak builder
Run `ci/flatpak.sh` to build a flatpak of just the gui.
Run it via flatpak run org.wezfurlong.wezterm

refs: https://github.com/wez/wezterm/issues/2229

Thanks to: @Imxset21
2022-08-03 07:04:31 -07:00
Wez Furlong
119c2f1d0b macos: add bluetooth entitlement
refs: https://github.com/wez/wezterm/issues/2330
2022-08-01 21:26:27 -07:00
Wez Furlong
360b3f3479 ci: try uploading sha256 files alongside release assets
refs: #2114
2022-07-25 08:39:24 -07:00
Wez Furlong
397bddbf6b deploy: don't try to strip a shell script 2022-07-21 22:57:55 -07:00
Wez Furlong
60d7d214c1 Add open-wezterm-here script
The .deb package registers that script as the alternative for
a terminal emulator in the hope that various "open terminal here..."
functions in other tools will use that to detect wezterm and run
thing in the cwd.

refs: https://github.com/wez/wezterm/issues/2103
2022-07-21 22:34:54 -07:00
Wez Furlong
50d5f94ab0 color schemes: add alias concept
Various color schemes have been duplicated as they have been added to
different scheme collections.  They don't always have identical names
(eg: some remove spaces) and sometimes they have very different names
(eg: _bash vs. nightfox, or Miu vs. Blazer).

We already detected duplicates from different collections but previously
we would omit those dupes.

This commit allows us to track those duplicates by recording their
aliases.

When we write out our data, we only include "interesting" alias names;
those where the name isn't trivially identical.

Some scheme collections (eg: iterm2 color schemes) have duplicates
(eg: zenbones and zenbones_light are identical) and we have previously
shipped with both of those names, so we special case to emit dupes
for which we have prior version information in order to avoid
breaking backwards compatibility for our users.

In the doc generation we can generate links to the aliases if we
included them, but also note about the other names and how we don't
include them.  That is so that someone searching the docs for say
"_bash" can discover that it is actually a duplicate of "nightfox" and
use nightfox instead.
2022-07-20 07:32:46 -07:00
Wez Furlong
98dd864df1 docs: split MuxPane 2022-07-19 07:20:11 -07:00
Wez Furlong
713450156c docs: only try to format tracked files
Don't format generated docs; their inputs should be formatted instead.

refs: https://github.com/wez/wezterm/pull/2273
refs: https://github.com/wez/wezterm/issues/2253
2022-07-19 06:58:22 -07:00
azzamsa
be929db374 docs: reformat lua code
refs: https://github.com/wez/wezterm/pull/2273
refs: https://github.com/wez/wezterm/issues/2253
2022-07-19 06:27:33 -07:00
Wez Furlong
112feb3374 add MuxTab:set_zoomed and SetPaneZoomState keyassignment
refs: #2284
2022-07-19 05:52:38 -07:00
Wez Furlong
85fb78d788 lua: add wezterm.time and Time object
Includes a method for determining sunrise/sunset.
2022-07-17 11:38:02 -07:00
Wez Furlong
5e60743519 lua: add wezterm.procinfo module 2022-07-16 08:49:58 -07:00
Wez Furlong
73993a60b4 macos: Add com.apple.security.automation.apple-events entitlement
This is necessary for applications spawned via wezterm to be able to
generate apple events.

wezterm already had the text for the authorization prompt in its plist,
but because it was code signed with the default set of entitlements,
macOS didn't bother to prompt.

This commit introduces an explicit set of entitlements and uses those
when signing the executable.

I test this by manually codesigning on my laptop and confirmed that I
could run bbedit from inside wezterm.

I can't directly test the CI version of that flow on my laptop as it may
destroy my keychain if I got something wrong.

We'll have to see if the CI generated build works out!

refs: https://github.com/wez/wezterm/issues/2242

h/t to https://github.com/microsoft/vscode/issues/119787 for
clearly documenting what was needed.
2022-07-15 19:33:30 -07:00
Wez Furlong
f9ab69950a color schemes: add version metadata
Record the version in which we first saw a color scheme.
For schemes from iterm2-color-schemes, we just assume that
we've had them forever as it isn't easy to reverse engineer
that metadata.

Everything else is tagged as 'nightly builds only' and I'll update
that to match the version number in the next release.

Newly discovered items will be added with 'nightly builds only'
from this point onwards.
2022-07-14 08:45:29 -07:00
Wez Furlong
d4d33369f2 color schemes: import all official base16 schemes 2022-07-12 11:51:19 -07:00
Wez Furlong
aa697c72ba color: refactor docs, add a couple more methods
Moved the gradient function into the color module, but kept an alias
under the old name.

Gradients now return color objects.

Converting colors to string now uses rgba format when alpha is not 100%.
2022-07-12 07:45:08 -07:00
Wez Furlong
463ca2fa29 add wezterm.color module for working with colors
wezterm.color.parse() returns a color object that can be assigned in the
wezterm color config, and that can be used to adjust hue, saturation and
lightness, as well as calculate harmonizing colors (complements, triads,
squares) from the RGB/HSL color wheel.
2022-07-10 23:41:18 -07:00
Wez Furlong
5939bacf14 Import terminal.sexy themes 2022-07-10 14:33:31 -07:00
Wez Furlong
e866e9390a colorschemes: expand to include Gogh color schemes
This commit expands the toml file definition to include
metadata for the origin url, author and name.

A new sync utility fills out that metadata when it pulls from the iterm2
color schemes repo.

The utility also pulls down the scheme data json maintained by
the Gogh project: https://gogh-co.github.io/Gogh/ and converts
it to wezterm's format.

About 50% of Gogh overlaps with iterm2; we take the iterm2 versions
of those schemes by default because the iterm2 data has more info
about things like cursor and selection colors.

The sync utility is responsible for compiling the de-duplicated
set of scheme data into a form that is used by wezterm and its
docs.
2022-07-10 13:32:17 -07:00
Wez Furlong
ffe76bae3a docs: make color scheme dirs as needed 2022-07-09 23:07:31 -07:00
Wez Furlong
6cc01251dc docs: even more robust idents for colorschemes 2022-07-09 22:59:15 -07:00
Wez Furlong
85d2cb3cfb docs: more robust ident generation for asciinema player 2022-07-09 22:48:57 -07:00
Wez Furlong
1202d7d594 docs: show the number of color schemes 2022-07-09 22:41:26 -07:00
Wez Furlong
d5060ec3c1 docs: use asciinema's web player for screenshots
I've wanted to avoid checking in all the screenshot pics as the png
files change every time I run the generation script, and it bloats
the repo over time.

This commit changes the doc generation step to use the asciinema
web player with the equivalent contents.

Really, it's only a smallish step to go from this to just emitting
the html directly in the doc pages, but I think I might use
the player for some examples in the future.

I think this is still a fine step for now in any case.

While comparing this with the existing screenshots, I noticed the
the Alabaster screen shot png has the wrong color for its rightmost
column: there's an issue in wezterm in parsing the dynamic color
escapes that causes it to pick up the wrong color.

Loading the scheme by name has the correct color and matches
how it is shown as of this commit.
2022-07-09 18:59:44 -07:00
Wez Furlong
95229d3334 add docs for ExecDomain
refs: https://github.com/wez/wezterm/issues/1776
2022-07-08 23:25:42 -07:00
Wez Furlong
61fb3dffe4 docs: window:gui_window, wezterm.gui.screens() and friends 2022-07-06 16:33:47 -07:00
Wez Furlong
30a2223524 docs: split MuxWindow.md into multiple pages 2022-07-06 16:02:29 -07:00
Wez Furlong
c667224674 ci: drop support for building on debian 9
The toolchain has problems compiling harfbuzz 4.4.1 and I don't feel
like troubleshooting it.
2022-07-04 15:44:44 -07:00
Wez Furlong
241e19babf ci: pre-fill release info, switch away from creating as a draft 2022-06-28 12:43:45 -07:00
Wez Furlong
40d346b58f ci: automate updating winget during release time
A slightly simpler alternative to https://github.com/wez/wezterm/pull/2199
2022-06-28 11:47:11 -07:00
Wez Furlong
ce89e33f01 ci: make deterministic again!
dc728b3895 introduced some non-determinism
by mutating the global TARGETS list.

The result is, depending on iteration order, the generated jobs
may inherit the env from earlier jobs.

Notably, if the tag job inherit the schedule reason from a continuous
job, they'll upload assets with an incorrect filename.

This commit restores the determinism by forcing each iteration
of the generation loop to make a deep copy of the statically
defined information in TARGETS.

While we're at it, ensure that the list of env vars is sorted
to avoid non-determinism there as well.

refs: https://github.com/wez/wezterm/issues/2176
2022-06-25 11:40:47 -07:00
Wez Furlong
c29a513a44 ci: revise release info mapping for adjusted rpm names
Adopt regex to simplify the categorization list a lot,
and teach it about the adjusted names of rpms.
2022-06-24 17:19:39 -07:00
Wez Furlong
ef11060e52 ci: distroid - to _ 2022-06-24 16:40:50 -07:00
Wez Furlong
7a1e087b00 ci: refine distroid 2022-06-24 16:20:06 -07:00