1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-29 16:42:13 +03:00
Commit Graph

2548 Commits

Author SHA1 Message Date
Wez Furlong
d66ee6a5c6 wezterm: tab navigator: show number of panes in list
refs: https://github.com/wez/wezterm/issues/157
2020-09-24 10:30:05 -07:00
Wez Furlong
7b855fbd05 wezterm: fixup tests 2020-09-23 21:20:48 -07:00
Wez Furlong
77eabed349 docs: add note about splits/panes in master/nightly builds
refs: https://github.com/wez/wezterm/issues/157
2020-09-23 21:19:12 -07:00
Wez Furlong
74b10996dc wezterm: simplify AdjustPaneSize
refs: https://github.com/wez/wezterm/issues/157
2020-09-23 21:10:26 -07:00
Wez Furlong
84753a8261 wezterm: add ActivatePaneDirection key assignment
This allows moving to an adjacent pane in the specified direction.

refs: https://github.com/wez/wezterm/issues/157
2020-09-23 21:01:40 -07:00
Wez Furlong
97ff359a18 wezterm: add AdjustPaneSize keyassignment
This allows resizing a pane directionally.
2020-09-23 20:26:25 -07:00
Wez Furlong
86cc214344 wezterm: allow dragging pane edges to resize them
refs: https://github.com/wez/wezterm/issues/157
2020-09-23 18:01:48 -07:00
Wez Furlong
f9c9510691 wezterm: improve split positioning
The math for computing the position for nested splits was a bit off.
2020-09-23 09:19:23 -07:00
Wez Furlong
c2100d96c3 wezterm: Implement basic splits in the UI.
This commit provides the heart of the split functionality.
It adds a couple of key assignments (that are not finalized)
for splitting the active pane horizontally or vertically.

Clicking in a pane will activate it.
Selection is constrained to the active pane.
Resizing a window will grow/shrink the right/bottom side of a split.
The scrollbar applies to the active split.

There's not yet a way to resize a split at all.
There's not yet a key assignment for changing the active split.

The software renderer doesn't know how to render the splits correctly.

refs: https://github.com/wez/wezterm/issues/157
2020-09-22 22:12:11 -07:00
Wez Furlong
ec468acb40 panes: adopt zipper based bintree for managing panes
This simplifies the logic in the tab.rs module
2020-09-20 10:20:40 -07:00
Wez Furlong
c2c788b41d bintree: introduce a binary tree + zipper impl
The intent is for this to help manage panes, but it is reasonably
general purpose so it is broken out separately.
2020-09-20 08:27:44 -07:00
Wez Furlong
3d54a542bf wezterm: add PaneNode tree to Tab
This expands the data model for Tab so that it can record a binary
tree of panes; this allows for conceptually splitting a Pane either
horizontally or vertically.

None of the other layers know about this concept yet.

refs: https://github.com/wez/wezterm/issues/157
2020-09-20 08:27:44 -07:00
Wez Furlong
a6316315bb wezterm: introduce concept of Pane to the Mux model
This adds an extra level of indirection to the Mux model;
previously we allowed for Windows to contain an ordered
collection of Tabs, where each Tab represented some kind
of pty.

This change effectively renames the existing Tab trait to Pane
and introduces a new Tab container, so the new model is that
a Window contains an ordered collection of Tabs, and each Tab
can have a single optional Pane.

refs: https://github.com/wez/wezterm/issues/157
2020-09-20 08:27:32 -07:00
Wez Furlong
3484478ba2 wezterm: speculative workaround for RDP disconnect panic
Attempt to recover in the case where we cannot re-allocate
our vertex buffers; try to restore the prior dimensions
and resize the OS window to match.

refs: https://github.com/wez/wezterm/issues/265
2020-09-12 22:33:35 -07:00
Wez Furlong
d939211dc5 docs: fix typo in changelog 2020-09-12 09:39:51 -07:00
Wez Furlong
b10a33684e wezterm: fixup rpm build 2020-09-10 22:01:47 -07:00
Wez Furlong
94fb5094a4 wezterm: compile in default color schemes
Rather than scanning directories and reading in ~230 files on startup,
do the scan at build time so that we're parsing from memory rather
than local storage.

This should shave a bit of time off the startup, although I
haven't measured this, and I've only run this on a remote
linux system thus far.

refs: https://github.com/wez/wezterm/issues/264
2020-09-10 21:46:45 -07:00
Wez Furlong
3090c9bb68 fix build for windows 2020-09-10 15:00:43 -07:00
Wez Furlong
aae287c4f2 fix filedescriptor::poll on macos
Need to use the subsecond microsecond value, rather than the total
microsecond value, otherwise `select(2)` will yield EINVAL.

The wezterm changes show where this error was bubbling up
and breaking the tls client code.
2020-09-10 13:58:14 -07:00
Wez Furlong
6430952d74 cargo update 2020-09-09 09:31:37 -07:00
Wez Furlong
710ea44ba0 ci: boost freebsd resources a bit, and also build everything 2020-09-09 09:14:21 -07:00
Wez Furlong
581ef0a448 docs: 20200909-002054-4c9af461 2020-09-09 00:21:42 -07:00
Wez Furlong
4c9af46179 ci: add freebsd CI 2020-09-09 00:18:26 -07:00
Wez Furlong
9925b5b608 termwiz: more freebsd compat
refs: https://github.com/wez/wezterm/pull/258
2020-09-09 00:17:40 -07:00
Wez Furlong
fb890cbaf0 pty: bump version ready for publishing
refs: https://github.com/wez/wezterm/pull/258
refs: https://github.com/TimeToogo/tunshell/issues/8
2020-09-08 21:27:01 -07:00
Wez Furlong
38d18ac6db fix colorscheme install in the release AUR
refs: https://github.com/wez/wezterm/issues/259
2020-09-08 21:07:35 -07:00
Elliot Levin
86d66dae54
portable_pty - fix build on x86_64-unknown-freebsd target (#258)
* portable_pty - support for x86_64-unknown-freebsd target

* Update TIOCGWINSZ type conversion to use cast syntax and apply same logic to TIOCSWINSZ
2020-09-08 08:50:43 -07:00
Wez Furlong
99b8fb2612 wezterm: add tab_max_width config option
This allows setting the maximum width of a tab in the tab tab.
It defaults to 16 glyphs in width.

refs: https://github.com/wez/wezterm/issues/255
2020-08-29 10:45:01 -07:00
Wez Furlong
124fe559cd fixup win32 build
`cargo test --release --all` was broken by a recent update.
Interesting that it only broke when building tests.

Regardless: these deps should probably have always been required,
so this is a legit change.
2020-08-29 10:03:07 -07:00
Wez Furlong
70fc76a040 window: fix segv when using multiple egl windows with linux/X11
This could be reproduced via `wezterm connect localhost`.
This bug was surfaced after the last release added a Drop impl
to cleanup the display.

This commit tracks the display in the connection.

closes: https://github.com/wez/wezterm/issues/252
2020-08-16 10:43:14 -07:00
Wez Furlong
5457c09590 wezterm: enable_wayland = false by default
refs: https://github.com/wez/wezterm/issues/224
2020-08-16 09:50:00 -07:00
Wez Furlong
5de6e88a68 docs: changelog update for nightly builds 2020-08-16 09:44:14 -07:00
Wez Furlong
0c7945792d docs: more SendString
Bleh, forgot to amend this before pushing the last commit.

closes: https://github.com/wez/wezterm/issues/253
2020-08-16 08:28:45 -07:00
Wez Furlong
609c707e91 docs: add example for SendString + escape sequences
closes: https://github.com/wez/wezterm/issues/253
2020-08-16 08:19:00 -07:00
Wez Furlong
11b298d3ed window: add some more application keypad mappings
@petermblair: I didn't test this beyond it compiling because I don't
have any keyboards that have a keypad :-p
2020-08-12 22:53:53 -07:00
Wez Furlong
38277a9592 term: when setting both icon and window title, clear icon title
Clear the icon title and just set the window title processing
that event.

refs: https://github.com/wez/wezterm/issues/247
2020-08-12 22:37:46 -07:00
Wez Furlong
bb1e355b7d term: get_title prefers icon title over window title
When returning the title string we prefer to return the OSC 1 Icon
title (which is interpreted as "tab title" by some emulators and
shell toolkits) on the basis that it will have been setup for
display in a more limited width than the overall window title
and will thus likely be a better choice to show to the user.

If OSC 1 hasn't been set then we'll fall back to the OSC 2 window
title as before.

refs: https://github.com/wez/wezterm/issues/247
2020-08-12 22:34:41 -07:00
Wez Furlong
ea7d28e2f3 Add error reason to X11 connection error
refs: https://github.com/wez/wezterm/issues/249
2020-08-12 22:03:57 -07:00
Wez Furlong
96cdadca48 Terrible workaround for an opengl crash
This isn't a fix by any stretch of the imagination, but it stops
a crash.  Should be good enough until I get a chance to fix this
properly.

refs: https://github.com/wez/wezterm/issues/252
2020-08-12 21:49:01 -07:00
Wez Furlong
dd57f05774 Treat OSC 0 and OSC 1 the same as OSC 2: set the title
OSC 1 is defined as setting the "Icon Title".
OSC 2 is defined as setting the "Window Title".
OSC 0 sets both of those.

Some terminal emulators will display the Icon title as the tab
title.

Wezterm doesn't make a distinction between any of those things; the
title is applied (during escape sequence parsing) to the terminal
instance in isolation from any other terminals; when the GUI layer
renders the titlebar it is composed from the title in the active tab.

refs: https://github.com/wez/wezterm/issues/247
2020-08-02 22:52:04 -07:00
Wez Furlong
4605244af7 egl: prefer some amount of alpha when selecting a config
This fixes a sort of hilarious accidental window transparency for
me when running under XWayland.
2020-08-02 22:45:18 -07:00
Wez Furlong
cc9503120f docs: fix typo 2020-07-18 10:16:51 -07:00
Wez Furlong
f1dc2568f7 docs: add note about linuxbrew tap 2020-07-18 10:16:30 -07:00
Wez Furlong
cbc065cfd9 docs: fix link to color schemes 2020-07-18 10:06:38 -07:00
Wez Furlong
b3fad71768 docs: update for latest release 2020-07-18 10:05:31 -07:00
Wez Furlong
d23156403d Re-sync color schemes 2020-07-18 09:29:50 -07:00
Wez Furlong
bffcf9dbaf docs: add note about WGL fallback fix
closes: https://github.com/wez/wezterm/issues/235
2020-07-18 09:18:31 -07:00
Wez Furlong
b2aff76183 docs: add note about improved non-24bpp support
closes: https://github.com/wez/wezterm/issues/240
2020-07-18 09:14:17 -07:00
Wez Furlong
8f27301820 docs: add note about vim/rgb answerback bug
refs: https://github.com/wez/wezterm/issues/241
2020-07-18 09:10:57 -07:00
Wez Furlong
aff3b7028a docs: add note about pty fix
refs: https://github.com/wez/wezterm/pull/245
2020-07-18 09:08:10 -07:00