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

6835 Commits

Author SHA1 Message Date
Wez Furlong
2b298f5f96
mux: pass gui window position through from new mux window
Threads through a GuiPosition from mux window creation to allow it to be
used when the corresponding gui window is created.

SpawnCommand now has an optional position field to use for that purpose.

```lua
wezterm.mux.spawn_window {
  position = {
    x = 10,
    y = 300,
    -- Optional origin to use for x and y.
    -- Possible values:
    -- * "ScreenCoordinateSystem" (this is the default)
    -- * "MainScreen" (the primary or main screen)
    -- * "ActiveScreen" (whichever screen hosts the active/focused window)
    -- * {Named="HDMI-1"} - uses a screen by name. See wezterm.gui.screens()
    -- origin = "ScreenCoordinateSystem"
  },
}
```

refs: https://github.com/wez/wezterm/issues/2976
2023-02-05 21:43:37 -07:00
Wez Furlong
d2fd2c6b1a
remove some debug prints
These are no longer needed
2023-02-05 18:00:22 -07:00
Wez Furlong
2271c3ae59
macos: spawn new window when clicking on dock icon
If there are no windows, clicking on the dock icon will spawn a new
window.

Requires that `quit_when_all_windows_are_closed=false`

refs:  https://github.com/wez/wezterm/issues/3057
2023-02-05 17:56:01 -07:00
Wez Furlong
6968ad5c3c
Add quit_when_all_windows_are_closed config option
refs: https://github.com/wez/wezterm/issues/3057
2023-02-05 16:55:56 -07:00
Wez Furlong
0b2345a46f
docs: expand wezterm.format examples
refs: https://github.com/wez/wezterm/issues/3056
2023-02-05 13:45:35 -07:00
Wez Furlong
98c90215da
docs: changelog for https://github.com/wez/wezterm/pull/2887 2023-02-05 10:56:44 -07:00
Val Packett
6a47bbaf32 wayland: set scale factor without wegl_surface (for WebGpu)
This fixes wrong scale with the WebGpu backend.
2023-02-05 09:53:18 -08:00
Wez Furlong
71ec5ac0a8
docs: changelog for https://github.com/wez/wezterm/pull/3054 2023-02-05 09:28:27 -07:00
Hong Minhee
7bc15b668f macos: Add "New Window" to the dock menu 2023-02-05 08:26:24 -08:00
Wez Furlong
6590fa5b7e
docs: changelog for https://github.com/wez/wezterm/pull/2762 2023-02-05 09:24:32 -07:00
Wez Furlong
d810c9968d
update derived files 2023-02-05 09:22:33 -07:00
Italo Cunha
09e82b353a
Add bindings for Home and End in copy_mode (#2762)
* Add bindings for Home and End in copy_mode

* Add Home/End bindings to copymode.md

---------

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2023-02-05 09:20:01 -07:00
Wez Furlong
1609fd386b
add wezterm cli get-text command
closes: https://github.com/wez/wezterm/pull/2729
2023-02-05 09:05:48 -07:00
Wez Furlong
9e3a5ba8fa
cargo fmt 2023-02-05 07:58:31 -07:00
Wez Furlong
d336c8a61e
deps: http_req -> 0.9 2023-02-05 07:38:55 -07:00
Wez Furlong
7274636559
docs: changelog for #2955 2023-02-05 07:35:31 -07:00
gzliew
20c8135fc5 fix(wezterm-gui): Move word able to jump next line 2023-02-05 06:33:57 -08:00
Thomas Linford
aadc8224e9 finish test 2023-02-05 06:32:03 -08:00
Thomas Linford
ad8c393fbb fix: correctly set WHEEL_POSITIVE 2023-02-05 06:32:03 -08:00
Thomas Linford
96ed17aaca wip: horizontal scroll support 2023-02-05 06:32:03 -08:00
Wez Furlong
fcd7c305bb
ci: reduce frequency of thread locking
now the backlog is done, just run this once per day
2023-02-05 07:10:40 -07:00
Wez Furlong
1fad5b5249
deps: sctk -> 0.16 2023-02-04 07:49:30 -07:00
Wez Furlong
8ffcf546cf
wayland: improve error when no seats have pointers
I don't know why that might be the case, but this error is better
than the unwrap.

refs: https://github.com/wez/wezterm/issues/3050
2023-02-04 07:44:47 -07:00
Wez Furlong
b9739a24d1
docs: changelog for https://github.com/wez/wezterm/pull/3053 2023-02-04 07:38:21 -07:00
Michael Bikovitsky
397f1d0dc9 Detect ALT key for mouse events on Windows 2023-02-04 06:37:13 -08:00
Wez Furlong
1415c5607e
docs: link (In|De)creaseFontSize <-> adjust_window_size_when_changing_font_size 2023-02-03 17:09:22 -07:00
Wez Furlong
5532ae245a
workflows: add auto-locking of inactive closed issues
Encourage people to file new issues so that we can track and
communicate more effectively on their current issues.
2023-02-03 08:45:17 -07:00
Wez Furlong
ed444faf91
docs: changelog for #2959 2023-02-02 08:27:31 -07:00
Wez Furlong
8cff8fc918
x11: simplify focus event matching
refs: #2959
2023-02-02 08:25:53 -07:00
NBonaparte
3bee573bf8 x11: ignore pointer focus events 2023-02-02 07:24:28 -08:00
Wez Furlong
69d117f91b
docs: clarify that you want window_decorations=RESIZE
Increase from mentioning it one time in a subtle way to 4 times
in 4 different ways.
2023-02-01 15:01:28 -07:00
Wez Furlong
b4dae6c2a3
allow window_decorations to work with config_builder
We need to manually convert to string, as the default ToDynamic
impl encodes the underlying bits value from the bitfield and
that doesn't round trip with the try_from String impl
2023-02-01 15:01:28 -07:00
Wez Furlong
44f31c9667
ci: use freebsd 13
The freebsd 12 builds are failing due to some SSL verification
issue. Let's try a newer release.
2023-02-01 08:05:08 -07:00
Wez Furlong
f4096803e3
window_decorations: add MACOS_FORCE_(EN|DIS)ABLE_SHADOW
Evidence:
* https://github.com/wez/wezterm/issues/310#issuecomment-718288028
* https://github.com/wez/wezterm/issues/2669#issuecomment-1379829866
* https://github.com/wez/wezterm/issues/2669#issuecomment-1408144931

seems to suggest that window shadows hurt performance,
so add a way to disable them independently from window opacity.

You may use:

```
config.window_decorations = "TITLE|RESIZE|MACOS_FORCE_DISABLE_SHADOW"
```

for this.

refs: https://github.com/wez/wezterm/issues/2669
2023-01-31 22:47:59 -07:00
Wez Furlong
e4ae8a844d
Add wezterm.plugin module, allows loading modules from git
Brief usage notes here:

```lua
local wezterm = require 'wezterm'
local a_plugin = wezterm.plugin.require "https://github.com/owner/repo"

local config = wezterm.config_builder()

a_plugin.apply_to_config(config)

return config
```

The referenced repo is expected to have a `plugin/init.lua` file,
and by convention, return a module that exports an `apply_to_config`
function that accepts at least a config builder parameter, but may
pass other parameters, or a lua table with a `config` field that maps
to a config build parameter.

`wezterm.plugin.require` will clone the repo if it doesn't already
exist and store it in the runtime dir under `plugins/NAME` where
`NAME` is derived from the repo URL.  Once cloned, the repo is
NOT automatically updated.

Only HTTP (or local filesystem) repos are allowed for the git URL;
we cannot currently use ssh for this due to conflicting version
requirements that I'll take a look at later.

`wezterm.plugin.require` will then perform `require "NAME"`,
and since the default `package.path` now includes the appropriate
location from the runtime dir, the module should load.

Two other functions are available:

`wezterm.plugin.list()` will list the plugin repos.

`wezterm.plugin.update_all()` will attempt to fast-forward or `pull
--rebase` each of the repos it finds. It doesn't currently do anything
proactive to reload the configuration afterwards; the user will need to
do that themselves.
2023-01-31 20:07:42 -07:00
Wez Furlong
df12dd9d00
deps: update toml -> 0.7, cargo update 2023-01-29 21:08:25 -07:00
Wez Furlong
691ec187ba
macos: don't include LEADER based key assignments in menubar
refs: https://github.com/wez/wezterm/issues/3021
2023-01-27 15:52:54 -07:00
Wez Furlong
36519f0d90
fix crash bug uncovered by rust 1.67
Rust 1.67, released today, is a bit more particular about the layout
of the memory used in TeenyString and segfaults in the test suite.

On closer inspection, our Drop impl was casting to Vec<u8> instead of
TeenyStringHeap and the fault was freeing bogus memory within that
region.

Fixing the cast to the correct type resolves the issue.
2023-01-26 17:00:21 -07:00
Wez Furlong
9ae6a561a0
fix command output not being displayed for short lived commands
repro with:

```
wezterm --config 'exit_behavior="Hold"' start ls
```
2023-01-26 16:10:19 -07:00
Wez Furlong
d7145561c2
Add wezterm start --domain DOMAIN --attach + gui-attached event
The motivation here was to remove some similar but not quite the same
logic that existed for starting up when using `wezterm connect`.

Now `wezterm connect DOMAIN` is implemented as `wezterm start --domain
DOMAIN --attach --always-new-process` and a little extra hand-wave to
ensure that the default domain is set correctly.

The startup events have been refactored a bit; a new gui-attached
event is emitted after attaching and starting any default programs
in the selected domain at startup.

That event can be used to maximize windows and so on, if desired.

The gui-attached event is independent of the startup command and fires
for `wezterm connect`, which `gui-startup` did not (and could not) do.
2023-01-26 15:56:11 -07:00
Wez Furlong
f15bb186f4
macos: maybe fix window positioning for multi-monitor systems
refs: https://github.com/wez/wezterm/issues/2958
2023-01-25 18:06:46 -07:00
Wez Furlong
eee340447f
docs: add a bit explaining what a terminal is 2023-01-25 11:24:34 -07:00
Wez Furlong
56dad40f7c
docs: add version info to newer copy mode shortcuts
https://github.com/wez/wezterm/discussions/2998
2023-01-25 07:47:02 -07:00
Wez Furlong
9d7e613cfa
wezterm.GLOBAL now returns references to stored data
This smoothes out a rough edge and makes things work
more naturally.

refs: https://github.com/wez/wezterm/discussions/2983
2023-01-24 18:26:14 -07:00
Wez Furlong
6f62a0f2b1
config: capture warnings and show them in config error window
This allows deprecated and invalid fields to be surfaced more visibly
in the config error window.
2023-01-24 14:18:15 -07:00
Saurabh Charde
1d3427dc77 shell integration: check existence of hostname command before calling
base arch linux installation doesn't include `hostname` binary as it's part of
a separate `inetutils` package, use systemd `hostnamectl` which is available in
all systemd-based distributions
2023-01-24 12:21:41 -08:00
Wez Furlong
3578211282
cargo fmt 2023-01-24 12:01:14 -07:00
Wez Furlong
252817b0b8
config: add wezterm.config_builder
config_builder helps to make issues more visible/useful in the case
where you may have typod a config option, or otherwise assigned
an incorrect value.
2023-01-24 11:57:07 -07:00
Wez Furlong
dd28dbae0a
ci: unpin rust and mdbook versions in pages workflow 2023-01-23 19:06:35 -07:00
azzamsa
b74cd91789 docs: use new gelatyx file-list option 2023-01-23 17:54:48 -08:00