1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-22 21:01:36 +03:00
Commit Graph

340 Commits

Author SHA1 Message Date
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
Wez Furlong
256afbecfd ci: revise rpm filenames
I noticed that the opensuse rpms didn't show up in the latest release,
and traced it to the spec file not setting anything in the filename
to distinguish the rpm files.

This commit replaces the redhat-ish short suffix with one of our
own derived from the os info.

subst-release-info.py will need to be updated to reflect this
change, but I want to see what names are produced for the various
platforms first.
2022-06-24 15:47:10 -07:00