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

871 Commits

Author SHA1 Message Date
Wez Furlong
b47cd72853 Windows: show toast notification if config reload encounters error
This gives us a way to show notifs on windows, which is a feature
that isn't supported by the notify-rust crate.
2019-12-08 11:14:02 -08:00
Wez Furlong
500b880b97 load config from executable dir first on Windows
This is to support the portable-tools use case for roaming admins.

Refs: https://github.com/wez/wezterm/issues/73
2019-12-07 20:51:30 -08:00
Jeremy Fitzhardinge
0558662813 Convert chit-chat into info
I assume it was being printed as error from a mass conversion to the logging framework.
2019-12-06 15:11:42 -08:00
Jeremy Fitzhardinge
0ba11a8bbd Clean up FontAttributes bold and italic
There doesn't seem to be a need for a tristate Option<bool>, since we always treat unset as false.
2019-12-06 15:11:42 -08:00
Jeremy Fitzhardinge
b751c6590b Small cleanup in fontconfigandfreetype 2019-12-06 15:11:42 -08:00
Jeremy Fitzhardinge
6420a47ad2 font: add Debug implementation for Pattern and FontSet 2019-12-06 15:11:42 -08:00
Wez Furlong
5b6bad2c51 downrev notify-rust dependency
SOmething on the CI doesn't like it and it looks like a problem
with that alpha version, so let's go back to their stable rev.
2019-12-04 20:40:32 -08:00
Wez Furlong
66861ff8f7 improve handling of deleted config files in the reloader
The NoticeXXX variants are emitted at the trigger point, but
we should wait for the debounced XXX variants instead.  We
were doing this for write but not for delete.  This should
improve the chances that we'll pick up a new version of a
config file.
2019-12-04 20:38:29 -08:00
Wez Furlong
598c2d8c26 notifications: set the resident hint
Even with setting this, I'm 0 for 4 different systems in having the
notifications actually stay on the screen until dismissed.

This was successful at displaying a notification on the pixelbook
desktop though, so that's 1/3 linux systems that have had success.
2019-12-04 19:55:43 -08:00
Wez Furlong
09840dd011 notifications: fixup formatting and add to get-deps script 2019-12-04 18:33:36 -08:00
Wez Furlong
c547b03b8b add basic notifications if the config is broken during reload 2019-12-04 18:26:47 -08:00
Wez Furlong
b3f23bbf4a fixup some build and test warnings 2019-12-01 13:35:34 -08:00
Wez Furlong
901dc9c395 re-structure clipboard handling for mux
The wayland changes rendered clipboard handling for remote multiplexers
broken, and this commit makes it work again.

It removes the clipboard concept from the the TerminalHost and
keeps it separated as the term::Clipboard concept.

The muxer now has plumbing for passing the Clipboard to its idea
of Windows and Tabs and this is hooked up at window creation and
domain attach time.
2019-12-01 13:31:12 -08:00
Wez Furlong
7d510f4f7e reduce log verbosity for compute vertices 2019-12-01 11:43:22 -08:00
Wez Furlong
420903662d reduce verbosity for config reload messages 2019-12-01 11:40:55 -08:00
Wez Furlong
dfe98f46f9 ssh: disable nagle 2019-12-01 11:25:04 -08:00
Wez Furlong
0edceea972 fix compilation on macos 2019-12-01 10:16:14 -08:00
Wez Furlong
f15f556054 wayland: add config option to avoid using it
Just in case!
2019-12-01 07:56:41 -08:00
Wez Furlong
58cb696593 make pty size consistent with tab bar dimensions
This fixes up a series of "we're confused about the screen size"
messages that showed up on startup.
2019-11-30 23:22:37 -08:00
Wez Furlong
68f819e737 avoid resizing terminal tab when scaling changes 2019-11-30 22:03:57 -08:00
Wez Furlong
70f09ef1b4 fix window size calculation when scaling changes
I noticed that we were relatively undersized for newly created
windows; there were two problems:

1. We weren't propagating the old rows and cols counts through
   to the speculative resize.
2. The speculative resize wasn't implemented on wayland, and
   needs a surprising amout of work to actually make the resize
   take effect.
2019-11-30 21:27:03 -08:00
Wez Furlong
ea61e8c57d wayland: don't allow clicks in titlebar to go to tabbar 2019-11-30 13:21:37 -08:00
Wez Furlong
4ef20480c5 wayland: implement clipboard
This was honestly a PITA because of its complexity.  The `clipboard`
crate (now dropped as a dep) didn't support wayland, so I looked at
the `smithay-clipboard` crate, which caused all of my input to become
laggy just by enabling it--even without actually copying or pasting!

Both of those crates try to hide a number of details of working with
the clipboard from the embedding application, but that works against
our window crate implementation, so I decided to integrate it into
the window crate using Futures so that the underlying IPC timing and
potential for the peer to flake out are not completely hidden.

This first commit removes the SystemClipboard type from wezterm
and instead bridges the window crate clipboard to the term crate
Clipboard concept.

The clipboard must be associated with a window in order to function
at all on Wayland, to we place the get/set operations in WindowOps.

This commit effectively breaks the keyboard on the other window
environments; will fix those up in follow on commits.
2019-11-29 12:17:52 -08:00
Wez Furlong
7b461c1580 software: don't fill the bottom two lines in bg color
Fix the math so that we correctly calculate the size of the the
marginal fill area at the bottom when in software rendering mode.
2019-11-28 07:16:46 -08:00
Wez Furlong
cb9fd7db5b respect enable_tab_bar on config reload 2019-11-24 20:33:14 -08:00
Wez Furlong
80719f419d changes to ratelimits now take effect on config reload 2019-11-24 20:24:58 -08:00
Wez Furlong
1ba720b28c automatically reload config when the file changes 2019-11-24 19:20:14 -08:00
Wez Furlong
95c957564a reload keymap when config is reloaded 2019-11-24 17:25:28 -08:00
Wez Furlong
fd78a0b3ce Allow reloading hyperlink rules from the config at runtime 2019-11-24 13:12:54 -08:00
Wez Furlong
7c7825c070 term: extract configuration to a trait
This isn't complete but begins the process of extracting
the embedding application configuration into a trait provided
by the application rather than passing the values in at
construction.

This allows the application to change configuration at
runtime.

The first option to handle this is the scrollback size.
2019-11-24 12:43:41 -08:00
Wez Furlong
e56dfa9875 config reloading now also applies to fonts
This change also causes any/all windows to pick up the reloaded config
2019-11-24 10:24:33 -08:00
Wez Furlong
88cd29213f Add hotkey (defaults: SUPER-R, and CTRL+SHIFT-R) to reload config
The effects are most noticeable when spawning a new tab;
try changing the background color in the config file,
reloading it and spawning a tab!
2019-11-24 09:27:31 -08:00
Wez Furlong
d06c08e0f3 config: expose configuration generation number 2019-11-24 09:19:14 -08:00
Wez Furlong
8996f897b9 remove Mux::config in favor of config::configuration()
The idea is to centralize accessing the config to that
function so that we can implement config reloading.
2019-11-24 09:07:46 -08:00
Wez Furlong
72b55d3982 config: lay foundation for config reloading 2019-11-24 08:28:30 -08:00
Wez Furlong
07c6ca94da move some code around in config/mod.rs 2019-11-24 07:56:38 -08:00
Wez Furlong
eed6049902 tidy up config imports a little 2019-11-24 07:55:13 -08:00
Wez Furlong
0f64357203 change default font size to 10pts
I realized that I had set this to 10pts in my configs, and after running
with the default for a bit today, I agree with @chadaustin that we
should be smaller by default!
2019-11-24 07:51:10 -08:00
Wez Furlong
1d5e36a97c split more config into separate modules 2019-11-24 07:50:13 -08:00
Wez Furlong
955361433d split daemon options out of config/mod.rs 2019-11-24 07:37:42 -08:00
Wez Furlong
2960b9186c config.rs -> config/mod.rs + config/keys.rs 2019-11-24 07:35:12 -08:00
Wez Furlong
517084ff2f clippy 2019-11-24 07:20:41 -08:00
Wez Furlong
385b3bedbd move some config defaults into the config module 2019-11-24 06:56:41 -08:00
Wez Furlong
e904e11e58 tab bar: default to enabled 2019-11-23 16:58:37 -08:00
Wez Furlong
f3f61b47dc tab bar: add new tab button to tab bar 2019-11-23 14:57:17 -08:00
Wez Furlong
349a24ccd9 allow dragging by tab bar on linux
This works with X11 on fedora, but the window movement is ignored
by the xwayland machinery on chromeos.
2019-11-23 11:46:03 -08:00
Wez Furlong
01eaa7db08 window: adopt Point for mouse coordinates
and allow them to be signed again
2019-11-23 08:48:09 -08:00
Wez Furlong
14fbf43485 promise: more properly implement Future::poll
The future won't ever complete if you don't connect the waker
from the context!

Prove this out by making the windowops functions async and
verifying them in the async example
2019-11-23 08:16:12 -08:00
Wez Furlong
9d8e664ec0 tidy up the error output in the case that we fail with an error 2019-11-22 20:32:03 -08:00
Wez Furlong
185e72b1fe simplify error logging in main 2019-11-22 10:55:48 -08:00