91 Commits

Author SHA1 Message Date
Mitchell Hashimoto
f5e49e2989 apprt/gtk: copy the app id because we need to own it according to docs 2023-03-17 12:03:58 -07:00
Mitchell Hashimoto
afc1ac5321 apprt/gtk: add more debug logs about scale factors 2023-03-17 11:25:23 -07:00
Mitchell Hashimoto
53d82d71a4 apprt/gtk: make compatible with GTK < 2.74 2023-03-16 16:38:00 -07:00
Mitchell Hashimoto
58d89b6bb3 apprt/glfw: add logging with error information when glfw init fails 2023-03-12 17:27:33 -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
b4d8419feb screen: trim trailing no-character cells when rows is changing
This matches Terminal.app, and makes it so the `ESC [ J` doesn't
generate scrollback on rows change.
2023-03-01 17:07:07 -08:00
Mitchell Hashimoto
ce86c64b42 update zig, src for loops 2023-02-27 21:46:42 -08:00
Mitchell Hashimoto
1c3d775d90 apprt/embedded: ignore size callbacks that change nothing 2023-02-26 17:44:45 -08:00
Mitchell Hashimoto
227f6eb4f1 gtk: handle <tab> so it doesn't move focus 2023-02-25 14:57:34 -08:00
Mitchell Hashimoto
35af0ef362 gtk: previous/next tab wraps 2023-02-25 10:53:15 -08:00
Mitchell Hashimoto
6c6a3d6a5d "goto_tab" key binding to jump to a specific tab, defaults to Super+N
The apprt surface must implement `gotoTab` to make this work. This is
only implemented in GTK for now.
2023-02-25 10:48:38 -08:00
Mitchell Hashimoto
7a0411d65a apprt: move newTab to a surface callback rather than app 2023-02-25 10:38:19 -08:00
Mitchell Hashimoto
aa2d3720b6 gtk: previous/next tab bindings 2023-02-25 10:29:58 -08:00
Mitchell Hashimoto
65b3c7ca86 gtk: convert keyvals back into unmodified keyvals for shifted ops 2023-02-25 10:11:57 -08:00
Mitchell Hashimoto
cbebbd78b3 gtk: re-enable closing on no windows 2023-02-24 17:51:10 -08:00
Mitchell Hashimoto
c80270ff50 gtk: close surface works 2023-02-24 17:50:20 -08:00
Mitchell Hashimoto
a1a754530f gtk: tab reordering, hide tab bar with one tab, etc. 2023-02-24 16:13:15 -08:00
Mitchell Hashimoto
ad11ec145c gtk: new tab keyboard shortcut works 2023-02-24 16:08:02 -08:00
Mitchell Hashimoto
ac1c961c4e gtk: close tab button 2023-02-24 15:54:36 -08:00
Mitchell Hashimoto
fface4a6b3 gtk: add tab works 2023-02-24 15:19:57 -08:00
Mitchell Hashimoto
7e3ad24d89 gtk: put gl area in notebook 2023-02-24 14:04:07 -08:00
Mitchell Hashimoto
f9457e76ab gtk: set title stub 2023-02-24 12:17:02 -08:00
Mitchell Hashimoto
382a32be6c gtk: clipboard 2023-02-24 12:13:31 -08:00
Mitchell Hashimoto
c4393ece4c gtk: make clear opengl requirements 2023-02-24 07:58:31 -08:00
Mitchell Hashimoto
da64fff110 gtk: receive key press for all keys 2023-02-24 07:58:31 -08:00
Mitchell Hashimoto
cb412425b2 embedded: fix build 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
e4b76b5974 gtk: set cursor to ibeam over terminal surface 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
916f07d9d3 gtk: mouse cursor pos and scroll 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
adae05cf04 gtk: mouse input 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
3ab51f5643 gtk: key press/release 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
4fe7b9b3f2 gtk: char input 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
358ce5a24e gtk: start hooking up event callbacks 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
8fbafda3d3 gtk: listen to should quit from app 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
793c19e187 gtk: proper surface cleanup 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
90bea1b742 gtk: get proper content scaling 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
6acf67ec66 gtk: render! 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
b19f9b2aff opengl: enable single-threaded draw 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
7eb7cae9e0 opengl: move screen size GL context changes into draw path 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
7f34afa395 gtk: hook up GL area and render a color 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
7991e6e495 apprt/glfw: fix macos build 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
fb13838532 apprt newWindow/newTab do not have to return a surface 2023-02-24 07:58:30 -08:00
Mitchell Hashimoto
153004eb6f apprt/gtk: compiles again -- does nothing 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
2adb0c9234 apprt: C API for embedded updated to new style 2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
705d56d18e surface no longer has reference to app 2023-02-24 07:58:29 -08:00