1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-24 07:46:59 +03:00
Commit Graph

2662 Commits

Author SHA1 Message Date
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
Wez Furlong
313690d484 docs: Add note about the bold color fix in openconsole.exe
refs: https://github.com/wez/wezterm/issues/244
2020-07-18 09:05:10 -07:00
Wez Furlong
1209cde2b1 Add bold_brightens_ansi_colors configuration option
refs: https://github.com/wez/wezterm/issues/244
2020-07-18 09:02:56 -07:00
john01dav
f2327de74d Fixed bug where setting the current directory was impossible on UNIX for non-default terminal commands 2020-07-18 08:40:58 -07:00
Wez Furlong
f64b268edd Update openconsole.exe
refs: https://github.com/wez/wezterm/issues/244
refs: https://github.com/wez/wezterm/issues/243
2020-07-17 09:41:42 -07:00
Wez Furlong
8266d40944 maybe fixup build 2020-07-13 23:13:38 -07:00
Wez Furlong
dddf67e07a egl: add explicit drop impl for GlState
This tidies up the valgrind output some more, but seems to highlight
some leaks in the egl implementation around init/shutdown.

I still don't see a smoking gun for a memory leak that grows over time.

refs: https://github.com/wez/wezterm/issues/238
2020-07-13 09:36:37 -07:00
Wez Furlong
888cded0e3 x11: remove Rc cycle between XConnection, Window, bitmaps
refs: https://github.com/wez/wezterm/issues/238

It's not a smoking gun, but helps clean up the valgrind output
2020-07-13 09:00:00 -07:00
Wez Furlong
4cd4ee2eb5 egl: revise how we report egl init errors 2020-07-13 08:02:19 -07:00
Wez Furlong
a9ee544d7c term: use BufWriter for writer
I'm wondering if the non-deterministic portion of
refs: https://github.com/wez/wezterm/issues/241
might be due to splitting of data across multiple write calls.

This commit adopts the use of BufWriter around the writer so that
we can buffer up and explicitly flush the responses to the terminal.
2020-07-12 09:08:39 -07:00
Wez Furlong
30f0e5b2c1 egl: look for exactly 8bpc configurations
When running on a 30bpp display with 2 bit alpha, eglChooseConfig
will match and list the 10bpc configuration first, which don't match
the desired pixel format.

Filter the config list so that it only includes 8bpc configurations.

refs: https://github.com/wez/wezterm/issues/240
2020-07-11 13:29:05 -07:00
kas
44918364c0 Add default action for delete key 2020-07-11 08:53:42 -07:00
kas
cb2447cbad Add "kill and move" action for separate deletion and cursor movements 2020-07-11 08:53:42 -07:00
Wez Furlong
68a91835ee window: egl: speculatively relax min alpha size
In refs: https://github.com/wez/wezterm/issues/240 there are a number
of configurations that report 0 for the alpha size and where we are
unable to otherwise find a working config.

This is a speculative commit to releax the alpha channel size to
basically anything available and see if that helps.
2020-07-09 17:47:38 -07:00
Wez Furlong
fad31fedb8 cargo update 2020-07-08 23:54:56 -07:00
Wez Furlong
d4a01fa538 wezterm: bump lru dep 2020-07-08 23:44:40 -07:00
Wez Furlong
1e50493b84 window: x11: fix minor leak of a display connection
These were two separate one-time losses.

refs: https://github.com/wez/wezterm/issues/238
2020-07-08 09:16:43 -07:00
Wez Furlong
95a52fb661 window: egl: log available, matching configurations
Hopefully this can shed some light on why we're not matching any configs
in refs: https://github.com/wez/wezterm/issues/240
2020-07-07 08:59:44 -07:00
Wez Furlong
793af71592 egl: relax context creation requirements
This commit refactors the wayland EGL init code to call into the
non-wayland init code which is more in the spirit of DRY.

It also highlights that we were requesting PBUFFER and PIXMAP capable
contexts in the non-wayland case.  Since we appear to survive without
those in the wayland renderer, presumably we can survive without them
in all cases.

This may help with activating opengl for this issue:
refs: https://github.com/wez/wezterm/issues/240
2020-07-06 07:49:02 -07:00
Wez Furlong
627a1c6c1b x11: improve support for non-24bpp displays
While looking into what it might take to support 10bpc (30bpp) displays
(https://github.com/wez/wezterm/issues/240) I was experimenting with
Xephyr at a reduced 16bpp depth and noticed that the server still
offered a 32bpp TrueColor depth option.

This commit adjusts the window/bitmap code to allow it to select depths
24bpp or 32bpp, preferring the largest depth.  we restrict ourselves to
24 and 32 bit selections for this, as those appear to be bit for bit
compatible for the r/g/b channels.  I suspect that 10bpc will require
some scaling somewhere.

This change allows running wezterm against the reduced depth Xephyr, but
since Xephyr doesn't support GL it runs with the software renderer; I
don't know quite how opengl is going to play with this.  I can confirm
that running wezterm on my native 24bpp display when it picks a 32bpp
visual does run with opengl enabled, so maybe this is good enough?
2020-07-05 11:10:18 -07:00
Wez Furlong
573f2435c8 Automate updating linuxbrew tap
refs: https://github.com/wez/wezterm/issues/239
2020-07-05 09:40:52 -07:00
Wez Furlong
ab1e83c7eb window: fallback to basic opengl context if extensions fail
8f1f1a65ea added support for probing
for opengl extensions, and I thought that I had the fallback covered
but it turned out that we were only falling back if one of the major
extensions wasn't present.

This commit adds a fallback for the case where things look ok at
first glance, but where they fail at runtime for whatever reason.

refs: https://github.com/wez/wezterm/issues/235
2020-06-29 18:05:43 -07:00
Wez Furlong
2c3f59b0e4 cargo update 2020-06-29 17:52:25 -07:00
Wez Furlong
b936e9685b docs: add some input troubleshooting info the FAQ
closes: https://github.com/wez/wezterm/issues/216
2020-06-25 07:15:57 -07:00
Wez Furlong
5b654710cb wezterm: fix already mutably borrowed: BorrowError when switching tabs
Not sure why this didn't bubble up earlier, but the issue was introduced
by 4e6357b218

And it was not setting focus=true on the new tab either :-/

refs: https://github.com/wez/wezterm/issues/232
2020-06-22 17:08:29 -07:00
Wez Furlong
2b2555c62a wezterm: avoid extraneous work in search overlay
viewport changes could do a little bit more than they needed
to when the search overlay was active.  Guard against that by
checking to see if the viewport is already set to the new position.
2020-06-21 22:44:11 -07:00
Wez Furlong
b307df6add term+termwiz: handle OSC L and OSC l
These are equivalent to OSC 2 and OSC 1 respectively.

We now also respond to requests to fetch the window title
2020-06-21 10:46:03 -07:00
Wez Furlong
e507d4e1e7 termwiz: allow OperatingSystemCommandCode to have non-numeric mappings
The code assumed that OSC parameters were always numeric, but that isn't
the case.

In order to allow adding non-numeric OSC code we need to adjust and
allow for the codes to be any string value, and that's what this
commit does.

It shouldn't change any other behavior.
2020-06-21 10:03:28 -07:00
Wez Furlong
076cf3d177 wezterm: teach renderer about overline
This commit adds an overline glyph which is simply a line drawn at
the top of the cell.

Due to the way that we use a single glyph for the line layer, this
actually adds a handful of combination glyphs for the different
underline, overline and strikethrough possibilities.

It's getting a bit hefty.  Adding another similar attribute in
the future (eg: maybe wiggly underlines?) might prove to be too
much for the simple approach we have right now.

```bash
printf "\x1b[53moverline\x1b[0m\n"
```
2020-06-20 23:18:52 -07:00
Wez Furlong
badc4f9d9c term+termwiz: add Overline support
This commit teaches the terminal model about the overline attribute
and the SGR codes to enable/disable overline.

The render layer in the GUI doesn't yet understand this attribute.
2020-06-20 22:48:36 -07:00
Wez Furlong
4e6357b218 term: enable DECSET 1004 Focus Reporting
This is enabled only for local terminals for now; the multiplexer
protocol will need to be extended to carry this signal.
2020-06-20 22:01:56 -07:00
Wez Furlong
e4fb68bb22 docs: update link to upstream color schemes
I noticed that the website was lagging behind the github page,
so link to the screenshots on github directly.
2020-06-20 19:06:06 -07:00
Wez Furlong
77c5220f59 wezterm: sync with new themes from iterm2colorschemes.com
This is a sync with the themese as of
eeded52088
2020-06-20 18:54:19 -07:00
Wez Furlong
2ab87b29a7 docs: update for latest release tag 2020-06-20 16:07:21 -07:00
Wez Furlong
e00b076c81 docs: faq: add note about tmux and unicode
refs: https://github.com/wez/wezterm/issues/220
2020-06-20 13:53:54 -07:00
Wez Furlong
d35e7ba6e4 docs: discuss Alt/Option key behavior and configuration
refs: https://github.com/wez/wezterm/issues/216
2020-06-20 13:37:59 -07:00
Wez Furlong
625caf2e68 docs: link to the contributing file in the repo 2020-06-20 13:09:04 -07:00