Mitchell Hashimoto
f32ae27660
terminal: add todo for CUB for left/right margins
2023-10-06 09:27:02 -07:00
Mitchell Hashimoto
d3483a8eed
terminal: extended reverse wrap takes priority over reverse wrap
2023-10-06 08:59:22 -07:00
Mitchell Hashimoto
a1becf73ad
terminal: CUB extended reverse wrap mode
2023-10-06 08:55:09 -07:00
Mitchell Hashimoto
9e506ac7e1
terminal: cursor back handles reverse wrap (mode 45)
2023-10-06 08:35:02 -07:00
Mitchell Hashimoto
7fe1a61ae8
terminal: cursor back should reduce count if pending wrap is one
2023-10-06 07:52:15 -07:00
Mitchell Hashimoto
e74897fa01
config: add option to disable working directory inheritance
...
Fixes #618
2023-10-05 21:55:43 -07:00
Mitchell Hashimoto
224b39b86e
font/coretext: allow setting a non-monospace font explicitly
...
This changes our font discovery to not filter out monospace and updates
our scoring mechanism to prefer monospace.
2023-10-05 08:39:48 -07:00
Mitchell Hashimoto
7a0b8a6781
font: fix failing macos tests
2023-10-05 08:08:04 -07:00
Mitchell Hashimoto
7eb3130faf
config: update some docs
2023-10-04 22:09:20 -07:00
Mitchell Hashimoto
b98cc3d79f
config: add remaining font modifiers
2023-10-04 22:08:19 -07:00
Mitchell Hashimoto
16cfb14200
font: modify font compiles for freetype
2023-10-04 21:48:51 -07:00
Mitchell Hashimoto
2563a195a1
font: wire up all the metric modifiers
2023-10-04 21:42:03 -07:00
Mitchell Hashimoto
54b9b45a7f
font: rework font init to use a struct with modifiersets everywhere
2023-10-04 17:23:57 -07:00
Mitchell Hashimoto
969960a10b
font: Metrics ModifierSet
2023-10-04 15:56:32 -07:00
Mitchell Hashimoto
bac5e20962
font: Metrics.Modifier for applying a percentage/absolute change
2023-10-04 15:28:22 -07:00
Mitchell Hashimoto
ee832aa361
apprt/embedded: ghostty_surface_text function, remove _char
2023-10-04 07:56:56 -07:00
Mitchell Hashimoto
3046fb6dd7
core: textCallback to send text directly to the terminal
2023-10-04 07:50:05 -07:00
Mitchell Hashimoto
bb5246c65d
apprt/embedded: validate directory for wd
2023-10-03 22:13:36 -07:00
Mitchell Hashimoto
140afb395f
apprt/embedded: supporting setting working directory in config
2023-10-03 17:34:44 -07:00
Mitchell Hashimoto
15e6c07bd9
font/fontconfig: adhere to correct function signature
2023-10-03 09:26:14 -07:00
Mitchell Hashimoto
1127330b3a
font/coretext: score discovered fonts
2023-10-03 09:17:41 -07:00
Mitchell Hashimoto
72a80234db
Merge pull request #608 from mitchellh/mode-2027
...
terminal: mode 2027
2023-10-02 09:35:02 -07:00
Mitchell Hashimoto
5f96adb993
terminal: mode 2027
2023-10-02 09:34:43 -07:00
Mitchell Hashimoto
2b28106837
update zig
2023-10-02 08:18:35 -07:00
Mitchell Hashimoto
cec45de842
config: note gtk bug
2023-09-30 21:48:22 -07:00
Mitchell Hashimoto
769e7df675
apprt/gtk: implement default window size
2023-09-30 21:41:17 -07:00
Mitchell Hashimoto
a1a8aeb104
initial window size needs to take into account window chrome
2023-09-30 21:35:50 -07:00
Mitchell Hashimoto
cc8e1cd936
macos: support initial window size
2023-09-30 20:47:31 -07:00
Mitchell Hashimoto
8cb96a28c1
config: increase eval branches for new configs
2023-09-30 20:15:07 -07:00
Mitchell Hashimoto
604eeceb03
apprt/glfw: support window-width, window-height configurations
2023-09-30 20:10:08 -07:00
Mitchell Hashimoto
3c0700c6b0
os: launchFromDesktop works even if the artifact is a lib
...
Fixes #598
2023-09-30 19:09:52 -07:00
Mitchell Hashimoto
abf43ddfcc
apprt/gtk: change default cursor to text
2023-09-30 15:46:03 -07:00
Nathan Fisher
614a9775c6
Set the mouse pointer to "text" (an I-beam) when it is over the gl_area
...
which the terminal embeds into for the Gtk interface. Addresses https://github.com/mitchellh/ghostty/issues/596
2023-09-30 18:26:40 -04:00
Mitchell Hashimoto
6c69f0ef63
apprt/gtk: gtk-single-instance defaults to true only if desktop env
...
Fixes #473
A new config value for `gtk-single-instance = desktop` is now valid.
This value uses GTK single instance mode only if it detects Ghostty was
launched from a desktop environment (i.e. clicking on the icon) through
the `.desktop` Freedesktop file. Otherwise, it disables single instance.
This enables Ghostty to work well with the CLI and accept all the
typical CLI flags. It will make Ghostty launch slower from the CLI but I
think this is an acceptable tradeoff.
2023-09-30 08:46:39 -07:00
Mitchell Hashimoto
8f82f8cad6
apprt/embedded: adapt to new binding API
2023-09-29 22:13:34 -07:00
Mitchell Hashimoto
56b0cb51d5
apprt/gtk: previous_tab/next_tab action do not consume if there are no tabs
2023-09-29 22:12:38 -07:00
Mitchell Hashimoto
a85c508892
apprt/gtk: add ctrl+page-up/down as prev/next tab
2023-09-29 22:04:30 -07:00
Mitchell Hashimoto
659fa2cc66
config: keybinding clone must clone all members
2023-09-29 22:04:17 -07:00
Mitchell Hashimoto
abc3838546
termio: clear screen always sends form feed (0x0C)
...
Fixes #555
2023-09-29 21:42:58 -07:00
Mitchell Hashimoto
3569073ff5
core: handle unconsumed bindings in key callbacks
2023-09-29 21:37:30 -07:00
Mitchell Hashimoto
47ee1e7355
input: Binding string can be unconsumed with "unconsumed:" prefix
2023-09-29 21:34:23 -07:00
Mitchell Hashimoto
9d0e7ab138
input: binding set can track unconsumed triggers
2023-09-29 20:18:41 -07:00
Mitchell Hashimoto
f9962a04ef
recomment line
2023-09-29 20:01:26 -07:00
Mitchell Hashimoto
ecb1d19890
input: fix regression with ascii mapping to a keypad key
2023-09-29 20:00:50 -07:00
Mitchell Hashimoto
d03083c7f5
apprt/gtk: default working-directory to home if launched from desktop
...
Fixes #573
2023-09-29 15:52:45 -07:00
Tim Culverhouse
488e6670c2
selection: only clear when keypress has utf8
...
Currently, the selection on a surface is cleared on any keypress that
generates a control sequence. For applications that enable kitty, this
can mean that every keypress clears the current selection thereby making
it impossible to copy text, since it will be cleared as soon as Control
is pressed. This can be very confusing to terminal users: some
applications I can shift+highlight and copy+paste, some I can't - and
unless I know the implementation of the application I won't know
why...very frustrating.
Only clear the selection when there is printable text, otherwise retain
the selection. From my testing, this makes text selection feel the same
between applications using kitty keyboard and applications that don't.
2023-09-29 16:07:21 -05:00
Mitchell Hashimoto
d878d16779
os: unset lang completely setlocale fails
2023-09-29 13:11:07 -07:00
Mitchell Hashimoto
38a7c2270b
os: we need to copy the old lang pointer before we unsetenv
2023-09-29 12:56:43 -07:00
Mitchell Hashimoto
1f5518cd83
Merge pull request #587 from mitchellh/patrickf/document-font-config
...
Improve docs on font configuration
2023-09-29 11:57:44 -07:00
Mitchell Hashimoto
7bbe669641
Merge pull request #578 from rockorager/dev
...
Kitty keyboard improvements
2023-09-29 11:56:34 -07:00