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