4478 Commits

Author SHA1 Message Date
Mitchell Hashimoto
48d6c93e09 terminal: select line considers semantic prompt change a boundary
Fixes #1329

Some shells and scripts use spaces and soft-wrapping as a way to move to
the next line instead of using newline (`\n`). Line selection
(triple-click by default) considers a soft-wrapped line as a single
line, so it was selecting the prompt.

This commit makes it so line selection considers semantic prompt state
(prompt vs command output) an additional boundary condition. This
requires shell integration but will make selection behave more
expectedly.
2024-01-19 15:48:53 -08:00
Mitchell Hashimoto
e9fe14c750 terminal: ECH resets line wrap state in any scenario 2024-01-19 14:31:33 -08:00
Mitchell Hashimoto
bab932431f terminal: erase line right should reset soft wrap state 2024-01-19 14:08:09 -08:00
Mitchell Hashimoto
344c2db097 renderer/metal: initialize layer in init, handle iOS layer 2024-01-18 18:51:01 -08:00
Mitchell Hashimoto
95f729a5fc renderer/metal: only set wantsLayer for AppKit 2024-01-18 15:36:06 -08:00
Mitchell Hashimoto
26e6e8cec8 apprt/embedded: add iOS platform with uivew 2024-01-18 15:03:03 -08:00
Mitchell Hashimoto
5fe3900efa core: Apple Emoji should be loaded on any darwin, not just macos
It is available on iOS too.
2024-01-18 15:02:32 -08:00
Krzysztof Wolicki
316cb5314c cimgui metal impl available only when target is Darwin 2024-01-18 21:43:57 +01:00
Mitchell Hashimoto
01afa293c8 apprt/embedded: fix initialization on macOS 2024-01-18 08:55:03 -08:00
Mitchell Hashimoto
df09c21103 apprt/embedded: compile for Linux 2024-01-18 08:44:56 -08:00
Thorsten Ball
551d19205b gtk: respect minimum split size when using resize keys
This is the GTK equivalent of #1304.
2024-01-18 06:38:08 +01:00
Mitchell Hashimoto
93c87f21ff apprt/embedded: set wait-after-command when command is set 2024-01-17 08:43:04 -08:00
Mitchell Hashimoto
33bc424d7e config: introduce wait-after-command 2024-01-17 08:40:21 -08:00
Mitchell Hashimoto
ed3f1df5f0 Merge pull request #1316 from qwerasd205/macos-file-handler
Added macOS file open handler
2024-01-16 18:56:34 -08:00
Qwerasd
51f53aa9bf Added macOS file open handler 2024-01-16 16:26:21 -05:00
Mitchell Hashimoto
90ea950d71 renderer/metal: use a semaphore to protect deinit while waiting for GPU 2024-01-16 12:18:55 -08:00
Mitchell Hashimoto
c28f2e36cc renderer/metal: do not be unhealthy by default :) 2024-01-16 11:28:01 -08:00
Mitchell Hashimoto
376345dcae macos: detect renderer health failures and show error view 2024-01-16 11:27:18 -08:00
Mitchell Hashimoto
0277a0fb4c renderer/metal: detect frame commit failures and notify surface 2024-01-16 10:51:36 -08:00
Mitchell Hashimoto
34d5cbda13 apprt/gtk: xft-dpi can be fractional, do not expect exact division
This was reported on Discord. A Chromebook reported an `Xft.dpi` of
`96.1025390625` which resulted in a `gtk-xft-dpi` of 98409. This caused
`divExact` to crash in runtime safety modes.
2024-01-15 20:49:12 -08:00
Mitchell Hashimoto
b87bbd55c5 termio: handle termio thread failure by showing a message in window
Fixes #1301
2024-01-15 20:22:55 -08:00
Mitchell Hashimoto
62a2fdcf88 renderer/opengl: set texture size for constrained glyphs
This wasn't setting the texture size so the glyphs would show up blank
(zero texture size).
2024-01-15 15:04:05 -08:00
Paul Berg
2b52c5ed88 gtk: update tab title even when the tab is unfocused
This change updates the tab title if the tab is unfocused. Tab title
updates only occur when the update surface is the focused child of the
tab.
2024-01-15 11:53:30 +01:00
Mitchell Hashimoto
470b57f194 os: no mouse interval on ios 2024-01-14 14:48:56 -08:00
Mitchell Hashimoto
8c8838542f use Apple logging subsystem on all Darwin targets 2024-01-14 14:48:39 -08:00
Mitchell Hashimoto
87f5d6f6a8 apprt/embedded: do not depend on macOS APIs on non-macOS 2024-01-14 14:31:14 -08:00
Mitchell Hashimoto
722348f552 build: build iOS lib into XCFramework 2024-01-13 21:39:08 -08:00
Mitchell Hashimoto
3360a008cd build: build produces a broken object file for iOS
This gets `zig build -Dtarget=aarch64-ios` working. By "working" I mean
it produces an object file without compiler errors. However, the object
file certainly isn't useful since it uses a number of features that will
not work in the iOS sandbox.

This is just an experiment more than anything to see how hard it would be to
get libghostty working within iOS to render a terminal. Note iOS doesn't
support ptys so this wouldn't be a true on-device terminal. The
challenge right now is to just get a terminal rendering (not usable).
2024-01-13 21:38:58 -08:00
Mitchell Hashimoto
f61eaea4d0 build: update our macOS checks to check for macOS specifically 2024-01-13 15:29:12 -08:00
Mitchell Hashimoto
bfe3c356f0 build: move our configuration out of globals 2024-01-13 15:18:45 -08:00
Mitchell Hashimoto
d4b53cac06 build: move more options to BuildConfig 2024-01-13 15:11:28 -08:00
Mitchell Hashimoto
dfa55988d6 build: use BuildConfig struct 2024-01-13 15:08:37 -08:00
Mitchell Hashimoto
adb7958f61 remove tracy usage from all files 2024-01-13 15:06:08 -08:00
Mitchell Hashimoto
29717269ca build: remove tracy completely 2024-01-13 14:30:56 -08:00
Atanas Pepechkov
ee1366a0a8 add sudo wrapper as optional shell integration feature 2024-01-13 18:56:21 +02:00
Mitchell Hashimoto
81b9a6b623 config: rename window-append-new-tab to window-new-tab-position 2024-01-12 09:50:47 -08:00
Thorsten Ball
2aa1874f94 gtk: append new tabs at the end if config is set
This adds a new config option: `window-append-new-tabs` (please: if you
have a better name, let me know). If this is set to true, then new GTK
tabs aren't added after the current tab, but after at the end.
2024-01-12 17:35:15 +01:00
Mitchell Hashimoto
50a119d300 Selection: add adjust method, unit test it, swap for adjustments 2024-01-11 22:14:40 -08:00
Qwerasd
3f3703deb6 Fixed accidentally consuming ALL shift+<key> releases 😅 2024-01-11 21:58:19 -05:00
Qwerasd
8cf3b6bef3 Shift+keys selection: Fixed up/down logic, added page up/down, home, & end. 2024-01-11 21:19:41 -05:00
Qwerasd
e0867801a5 Added use of shift+arrow keys to expand current selection 2024-01-11 20:58:12 -05:00
widberg
de71e992ec Use WINDIR instead of hardcoding C:\Windows 2024-01-11 11:57:40 -08:00
Mitchell Hashimoto
411c48af51 cli/list-colors: use unstable sort, sort in-place on arraylist 2024-01-11 07:56:25 -08:00
Jeffrey C. Ollie
5258554135 sort output from +list-colors 2024-01-11 00:30:48 -06:00
Mitchell Hashimoto
02c0ceab11 cli: list-colors uses new generated rgb 2024-01-10 20:43:22 -08:00
Mitchell Hashimoto
5216b4cfe9 build: remove generate_rgb_names 2024-01-10 20:40:21 -08:00
Mitchell Hashimoto
cf8763561d terminal: use comptime generated X11 lookup table from rgb.txt 2024-01-10 20:36:47 -08:00
Jeffrey C. Ollie
bc1544a3f0 add ability to specify RGB colors as names from the X11 rgb name list 2024-01-10 20:26:59 -08:00
Gregory Anders
d059c57440 gtk: use modifier state from GTK key event on X11
On X11 gdk_device_get_modifier_state does not correctly return the
modifier state, while the modifier state passed to the key callback
does. On Wayland, the situation is exactly reversed.

Therefore on X11 we use the mods provided by the key callback and on
Wayland we continue to get the modifier state from the device.

`App.modifier_state_from_xkb` is removed since we can lift the
conditional out of the function call (we would need to make a second,
redundant check for the presence of `x11_xkb` otherwise).
2024-01-10 16:26:53 -06:00
Mitchell Hashimoto
507a55ba3f Merge pull request #1253 from jcollie/enquiry
implement enquiry/answerback
2024-01-10 09:29:10 -08:00