Mitchell Hashimoto
f9e6d6efa6
macos: forward key events to the app when no windows exist
2024-10-05 10:05:06 -10:00
Roland Peelen
24ba1a6100
Add action on Zig side
2024-10-02 10:33:36 -07:00
Mitchell Hashimoto
1570ef01a7
rename slide to quick terminal
2024-09-28 15:20:35 -07:00
Mitchell Hashimoto
7806366eec
core: fix up toggle_slide_terminal action for rebase
2024-09-27 18:36:06 -07:00
Mitchell Hashimoto
7befb5a418
macos: fix previous/next tab bindings, improve action logging
2024-09-27 12:24:11 -07:00
Mitchell Hashimoto
0e043bc0e4
apprt: transition all hasDecls in App.zig to use the new action dispatch
2024-09-25 11:28:10 -07:00
Mitchell Hashimoto
13603c51a9
apprt: begin transition to making actions an enum and not use hasDecl
2024-09-25 11:02:45 -07:00
Mitchell Hashimoto
1b31663865
apprt/embedded: new_window can be called without a parent
2024-09-24 18:33:10 -07:00
Mitchell Hashimoto
1ad904478d
Tap events, core API to handle global keybinds
2024-09-24 16:29:02 -07:00
Mitchell Hashimoto
7f8c1a37ff
core: handle app bindings in the App struct
2024-09-23 19:08:23 -07:00
Mitchell Hashimoto
224f2d0491
apprt/gtk: use tagged union for quit timer
2024-08-03 10:05:31 -07:00
Jeffrey C. Ollie
ec0f90d1b6
Improve quit timers.
...
Instead of "polling" to see if a quit timer has expired, start a single
timer that expires after the confiugred delay when no more surfaces are
open. That timer can be cancelled if necessary.
2024-08-01 14:49:02 -05:00
Jeffrey C. Ollie
7c893881c3
Address review comments
...
1. Switch to using Wyhash instead of a cryptographic hash.
2. Move global variables to App struct.
2024-05-17 17:13:43 -05:00
Mitchell Hashimoto
2a06cf54ba
core: App asserts the font grid set is empty on close
2024-04-05 21:28:50 -07:00
Mitchell Hashimoto
04e0cd29e5
core: begin converting to SharedGridSet, renderers still broken
2024-04-05 15:25:45 -07:00
Mitchell Hashimoto
6d7053a1ad
core: convert surface/app to use GroupCacheSet
2024-04-05 09:29:40 -07:00
Borja Clemente
646e3c365c
Add settings shortcut on MacOS
...
- Settings shortcut opens the config file in the default editor.
Signed-off-by: Borja Clemente <borja.clemente@gmail.com>
2023-12-17 16:19:22 +01:00
Mitchell Hashimoto
b021d76edf
core: quit-after-last-window-closed works properly with "exit"
...
Fixes #1085
This moves the logic of exiting when there are no surfaces left fully to
apprt and away from the core.
2023-12-13 16:35:14 -08:00
Mitchell Hashimoto
45a4be6873
core: move resources dir to main global state
2023-11-22 21:12:01 -08:00
kcbanner
232df8de8f
windows: add support for the glfw backend on Windows
...
Changes:
- Add WindowsPty, which uses the ConPTY API to create a pseudo console
- Pty now selects between PosixPty and WindowsPty
- Windows support in Command, including the ability to launch a process with a pseudo console
- Enable Command tests on windows
- Add some environment variable abstractions to handle the missing libc APIs on Windows
- Windows version of ReadThread
2023-11-05 23:15:49 +00:00
Mitchell Hashimoto
5a299e14e4
all threads are notified of inspector state, trigger render
2023-10-24 15:27:15 -07:00
Mitchell Hashimoto
088ae5c454
fix build with no font discovery
2023-10-19 19:43:04 -07:00
Mitchell Hashimoto
678bd0de0c
core: surface should not use app mailbox
...
The surface runs on the same thread as the app so if we use the app
mailbox then we risk filling the queue before it can drain. The surface
should use the app directly.
This commit just changes all the calls to use the app directly. We may
also want to coalesce certain changes to avoid too much CPU but I defer
that to a future change.
2023-09-13 08:34:09 -07:00
Mitchell Hashimoto
56ccadd7f1
core: app needsConfirmQuit to streamline quitting if no active sessions
2023-09-11 15:44:08 -07:00
Mitchell Hashimoto
6a8d302fa0
core: set focused surface pointer to null if matches on delete
...
We previously never set the focused pointer to null. I thought this
would be fine because a `hasSurface` check would say it doesn't exist.
But I didn't account for the fact that a deleted surface followed very
quickly by a new surface would free the pointer, then the allocation
would reuse the very same pointer, making `hasSurface` return a false
positive.
Well, technically, hasSurface is not wrong, the surface exists, but its
not really the same surface, its just a surface that happens to have the
same pointer as a previously freed surface.
Co-authored-by: Will Pragnell <wpragnell@gmail.com>
2023-08-25 21:01:12 -07:00
Mitchell Hashimoto
0af6edc25b
only the app should own the font discovery instance
2023-08-13 11:51:24 -07:00
Mitchell Hashimoto
619d2ade3e
only initialize font discovery mechanism once, cache on App
...
Fontconfig in particular appears unsafe to initialize multiple times.
Font discovery is a singleton object in an application and only ever
accessed from the main thread so we can work around this by only
initializing and caching the font discovery mechanism exactly once on
the app singleton.
2023-08-13 08:01:33 -07:00
Mitchell Hashimoto
bd7cc4b71d
core: App looks up resources dir on startup
2023-08-08 09:21:52 -07:00
Mitchell Hashimoto
f31d6fb8fe
apprt: clean up how apprt initializes surfaces
2023-05-31 21:08:50 -07:00
Mitchell Hashimoto
553e09eff9
apprt/embedded: new surfaces inherit last focused
2023-05-31 19:12:01 -07:00
Mitchell Hashimoto
a158813a3d
app keeps track of last focused surface
2023-05-31 18:59:40 -07:00
Mitchell Hashimoto
f36a35ecc9
core: quit flag is reset after tick
2023-03-27 10:10:06 -07:00
Mitchell Hashimoto
3689f1fe39
apprt/gtk: only show exit confirmation if process is alive
2023-03-25 16:36:12 -07:00
Mitchell Hashimoto
f5c1dfa374
reload_config keybinding (defaults to ctrl+alt+super+space)
2023-03-19 09:50:53 -07:00
Mitchell Hashimoto
a9928cfb90
implement reload_config app message
2023-03-19 09:50:18 -07:00
Mitchell Hashimoto
3e1f975551
move config loading into apprt to prep for reloading
2023-03-19 09:50:17 -07:00
Mitchell Hashimoto
9b10b5d716
surface doesn't store a pointer to Config anymore
2023-03-19 09:49:44 -07:00
Mitchell Hashimoto
7a0411d65a
apprt: move newTab to a surface callback rather than app
2023-02-25 10:38:19 -08:00
Mitchell Hashimoto
6acf67ec66
gtk: render!
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
fb13838532
apprt newWindow/newTab do not have to return a surface
2023-02-24 07:58:30 -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
Mitchell Hashimoto
ac772c2d2d
inherit font size works again
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
8c18e1ee48
remove memory pool usage for mac
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
053748481a
more crap
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
9e4560043a
fix crashes on close
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
fbe35c226b
Integrating new surface
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
3d8c62c41f
apprt refactor in progress, launches glfw no window
2023-02-24 07:58:29 -08:00
Mitchell Hashimoto
f268f3955e
init gtk app
2023-02-24 07:58:29 -08:00