52 Commits

Author SHA1 Message Date
Mitchell Hashimoto
57a527b0c9 macos: detect keyboard layout change and reload the keymap 2023-08-11 12:01:59 -07:00
Mitchell Hashimoto
3d23f26326 input, macos: initial work on keymapper and macos usage of it 2023-08-11 12:01:58 -07:00
Mitchell Hashimoto
688ab84661 apprt/embedded: allow noting that selection clipboard is not supported 2023-08-09 14:52:22 -07:00
Mitchell Hashimoto
afc6a9976f apprt/embedded: support selection clipboard 2023-08-09 14:29:39 -07:00
Mitchell Hashimoto
22296b377a Revert "Merge pull request #244 from mitchellh/alt-as-esc"
This reverts commit c139279d479682c17f63d9b57c2d56608d09d16a, reversing
changes made to 4ed21047a734d7c586debe0026e3b6ea90ed1622.

We do want to do this but this broke bindings.
2023-08-07 17:06:40 -07:00
Mitchell Hashimoto
67cbabd605 make keyboard modifiers left/right-aware throughout core 2023-08-07 14:33:56 -07:00
Mitchell Hashimoto
0bb286eeb2 C API for invoking bindings 2023-08-05 14:46:47 -07:00
Thorsten Ball
b56ffa6285 Add config setting to turn non-native fullscreen on or off 2023-08-04 14:12:33 -07:00
Mitchell Hashimoto
9a079bb5b9 background-blur-radius for macOS 2023-07-03 20:43:53 -07:00
Mitchell Hashimoto
338f89679d apprt: add C API for detecting background transparency per surface 2023-07-03 19:44:06 -07:00
Thorsten Ball
8e464db049 Toggle fullscreen on super/ctrl+return, only macOS for now
This fixes or at least is the first step towards #171:

- it adds `cmd/super + return` as the default keybinding to toggle
  fullscreen for currently focused window.
- it adds a keybinding handler to the embedded apprt and then changes
  the macOS app to handle the keybinding by toggling currently focused
  window.
2023-07-02 20:23:49 +02:00
Thorsten Ball
6ff3f62e3a macOS: implement cmd+[0-9] to goto tab
This is my attempt at fixing #63. It works! But:

1. The `NotificationCenter` subscription is triggered once for every
   open tab. That's obviously wrong. But I'm not sure and could use some
   pointers where else to put the subscription. That leads me to...
2. I'm _not_ knowledgable in Swift/AppKit/SwiftUI, so I might have put
   the wrong/right things in the wrong/right places. For example: wasn't
   sure what's to be handled in Swift and what's to be handled by the
   core in Zig.

Would love some pointers :)
2023-07-01 09:08:02 -07:00
Mitchell Hashimoto
20f46d5c08 define precision scrolling and momentum structs, C API 2023-06-29 10:38:15 -07:00
Mitchell Hashimoto
f36a35ecc9 core: quit flag is reset after tick 2023-03-27 10:10:06 -07:00
Mitchell Hashimoto
4d41b3ff54 Merge pull request #134 from mitchellh/gtk-confirm
gtk, macos: show confirmation dialog on surface close with active child process
2023-03-26 10:59:09 -07:00
Mitchell Hashimoto
86c4a8ed7d apprt/embedded: support new process alive callback on close 2023-03-25 16:41:18 -07:00
Mitchell Hashimoto
decaee61b2 apprt/embedded: support unmapped keys 2023-03-25 15:44:17 -07:00
Mitchell Hashimoto
b26e51d222 macos: implement config reloading callback 2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
a5cfd4b04b ghostty.h: add missing reload callback 2023-03-19 09:50:54 -07:00
Mitchell Hashimoto
04b1625a68 ghostty.h: fix type usage before declaration 2023-03-15 15:55:52 -07:00
Mitchell Hashimoto
04c38ef3b0 macos: change focus callback to use an enum so we can get other dirs 2023-03-11 17:44:00 -08:00
Mitchell Hashimoto
18cf0dc9fc macos: put next/prev split focus into menu 2023-03-11 17:25:39 -08:00
Mitchell Hashimoto
b582691185 macos: hook up all the bindings so we're ready to handle focus event 2023-03-11 16:22:04 -08:00
Mitchell Hashimoto
f85c1c256c macos: menu bar to split 2023-03-10 15:24:45 -08:00
Mitchell Hashimoto
a265e7ce20 macos: take over menu bar, separate close and close window 2023-03-10 14:27:55 -08:00
Mitchell Hashimoto
6c857877e8 apprt/embedded: close surface callback 2023-03-08 15:05:15 -08:00
Mitchell Hashimoto
fa9ee0815f apprt/embedded: newSplit callback 2023-03-08 14:56:50 -08:00
Mitchell Hashimoto
2a40bdabca macos: load config file default file locations 2023-03-03 09:01:13 -08:00
Mitchell Hashimoto
adae05cf04 gtk: mouse input 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
dff45003e1 macos: hook up clipboards 2023-02-19 15:18:01 -08:00
Mitchell Hashimoto
8889dd7de2 macos: emoji keyboard works 2023-02-19 12:28:17 -08:00
Mitchell Hashimoto
7a5e3a4003 macos: stdbool missing so we can use bool in ghostty.h 2023-02-19 11:30:57 -08:00
Mitchell Hashimoto
f1ebc6953e macos: mouse scroll events 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
1659f52175 macos: mouse button and mouse move events 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
7b0ddc8b70 set title callback needs to use surface userdata 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
c709467bee macos: hook up change title events 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
6b450f7c7d macos: track surface focus state 2023-02-19 10:44:57 -08:00
Mitchell Hashimoto
7a368da099 macos: hook up text input 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
4b44b2bc95 c: fix enums for input 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
573b163636 start input, its broken but we're getting there 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
074664398a macos: correct scale factor propagated 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
cd77408efc it draws! 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
ff9af8a07b lots of progress running a surface but still crashes 2023-02-19 10:44:56 -08:00
Mitchell Hashimoto
55b05b22bb c: create/destroy surface API 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
c68f8082df apprt: can pass options through to Windows 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
085d462a68 lots of stubbing so window will kind of compile for embedded 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
eed6979868 apprt: start embedded implement, make App API available to C 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
26182611c6 move allocator to global state 2023-02-19 10:44:55 -08:00
Mitchell Hashimoto
9bd527fe00 macos: config API 2023-02-19 10:44:54 -08:00
Mitchell Hashimoto
8b80e65928 lots of broken stuff 2023-02-19 10:44:54 -08:00