1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-26 23:04:49 +03:00
Commit Graph

322 Commits

Author SHA1 Message Date
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
Wez Furlong
0261f96341 docs: add show-keys command 2022-06-24 10:42:07 -07:00
Wez Furlong
55e63d867b docs: keyboard encoding
refs: https://github.com/wez/wezterm/issues/2152
2022-06-21 09:36:59 -07:00
Wez Furlong
e35a59132f docs: remove screenshot width/height calc
It seems "off" in the latest round of updates.
2022-06-19 08:00:09 -07:00
Wez Furlong
dbcc0cb22a sync color schemes
closes: https://github.com/wez/wezterm/pull/2137
2022-06-19 07:35:48 -07:00
Wez Furlong
4c03df884b docs: gui-startup, mux-startup and wezterm.mux
refs: #1949
refs: #674
2022-06-17 16:57:52 -07:00
Wez Furlong
21fc8916f6 docs: move some inline text into files 2022-06-17 15:52:24 -07:00
Wez Furlong
479b1384bb Add docs for wezterm cli
refs: #1253
2022-06-16 07:53:34 -07:00
Wez Furlong
84842aaadc fix wezterm bash completion install path in .debs 2022-05-28 21:29:40 -07:00
Wez Furlong
bc95d88227 Install bash and zsh completions in rpm and deb packages 2022-05-28 12:47:18 -07:00
Wez Furlong
46ca0679b1 add pane:get_foreground_process_info()
Returns all known information about the foreground process in the pane.

refs: #1987
2022-05-14 09:14:35 -07:00
Wez Furlong
b2dad7fa32 docs: add Fedora 36 to install page 2022-05-11 21:29:02 -07:00
Wez Furlong
566b58a64b ci: add Fedora 36 2022-05-11 18:25:51 -07:00
Wez Furlong
7e460c3784 ci: restore centos7
It was removed in be1b54ba33 citing
difficulties with GH CLI, but I think I subsequently solved
that by not running it in the container.

refs: https://github.com/wez/wezterm/issues/1947
refs: https://github.com/wez/wezterm/issues/1948
2022-05-10 23:12:11 -07:00
Wez Furlong
156b0ae44c ci: skip full build when updating just the .markdown docs 2022-05-09 21:57:18 -07:00
Wez Furlong
f56345cba4 appimage: exclude libwayland-client.so
It seems to be preventing EGL from working

refs: https://github.com/wez/wezterm/issues/1956
2022-05-06 07:54:05 -07:00
xpufx
b0e91a6bbb adding opensuse packages to docs 2022-04-26 06:25:18 -07:00
Wez Furlong
7dd6de77c6 ci: run black on generate-workflows.py 2022-04-25 21:11:00 -07:00
gimbles
981f1e678d Add 22.04 release info 2022-04-25 20:28:59 -07:00