129 Commits

Author SHA1 Message Date
Mitchell Hashimoto
9a079bb5b9 background-blur-radius for macOS 2023-07-03 20:43:53 -07:00
Mitchell Hashimoto
d25568ffdb apprt/gtk: honor background opacity 2023-07-03 20:21:16 -07:00
Mitchell Hashimoto
338f89679d apprt: add C API for detecting background transparency per surface 2023-07-03 19:44:06 -07:00
Mitchell Hashimoto
017da411f8 metal: start setting up background transparency 2023-07-03 17:59:50 -07:00
Thorsten Ball
567ba5a25e gtk: handle ctrl+return to toggle fullscreen
This is a follow-up to #172 and adds fullscreen handling to the GTK
apprt.

Works reliably for the current window and mimics exactly what happens
when F11 is pressed, which seems to be the standard keybinding for GTK
apps to toggle fullscreen.
2023-07-03 06:38:14 +02: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
314f9287b1 Update Zig (#164)
* update zig

* pkg/fontconfig: clean up @as

* pkg/freetype,harfbuzz: clean up @as

* pkg/imgui: clean up @as

* pkg/macos: clean up @as

* pkg/pixman,utf8proc: clean up @as

* clean up @as

* lots more @as cleanup

* undo flatpak changes

* clean up @as
2023-06-30 12:15:31 -07:00
Mitchell Hashimoto
68631a1ccd apprt: plumb through scroll mods to core, don't handle them yet 2023-06-29 10:41:42 -07:00
Mitchell Hashimoto
20f46d5c08 define precision scrolling and momentum structs, C API 2023-06-29 10:38:15 -07:00
Mitchell Hashimoto
56f8e39e5b Update zig, mach, fmt 2023-06-25 11:08:20 -07:00
Mitchell Hashimoto
f31d6fb8fe apprt: clean up how apprt initializes surfaces 2023-05-31 21:08:50 -07:00
Mitchell Hashimoto
0fca74c089 apprt/glfw: inherit working dir 2023-05-31 19:18:55 -07:00
Mitchell Hashimoto
553e09eff9 apprt/embedded: new surfaces inherit last focused 2023-05-31 19:12:01 -07:00
Mitchell Hashimoto
5acf7eb8fd apprt/embedded: clipboard value can be null 2023-05-28 10:20:59 -07:00
Mitchell Hashimoto
77dcc10f80 linux: fit gtk/flatpak builds 2023-05-27 10:01:20 -07:00
Mitchell Hashimoto
f5269df68f apprt/glfw: quit cleans up resources properly 2023-03-27 10:47:54 -07:00
Mitchell Hashimoto
69aaab50eb apprt/gtk: quit confirmation window 2023-03-27 10:45:27 -07:00
Mitchell Hashimoto
59f42f50a4 apprt/gtk: window close confirmation 2023-03-27 10:41:30 -07:00
Mitchell Hashimoto
4d29f028c6 apprt/gtk: close tab button will show confirmation properly 2023-03-27 10:35:49 -07:00
Mitchell Hashimoto
16244d0dab apprt/gtk: close keybind doesn't leak memory 2023-03-27 10:24:01 -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
bc9973d37f apprt/gtk: set proper defaults to confirmation dialog 2023-03-25 16:45:17 -07:00
Mitchell Hashimoto
86c4a8ed7d apprt/embedded: support new process alive callback on close 2023-03-25 16:41:18 -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
2c0dbab7ba apprt/gtk: always confirm when surface is closed 2023-03-25 16:26:30 -07:00
Mitchell Hashimoto
1c587759a0 apprt/gtk: fix key callback 2023-03-25 15:45:15 -07:00
Mitchell Hashimoto
decaee61b2 apprt/embedded: support unmapped keys 2023-03-25 15:44:17 -07:00
Mitchell Hashimoto
67d3507f9a apprt/glfw: new keycallback for unmapped 2023-03-25 15:40:49 -07:00
Mitchell Hashimoto
8d3f40fa41 apprt/embedded: reload config support 2023-03-19 09:50:54 -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
f03d765020 Merge pull request #114 from mitchellh/process-exit
Detect command exit and close surface
2023-03-18 19:59:55 -07:00
Mitchell Hashimoto
ddbc0dc586 apprt/embedded: incorrect function call for new close surface 2023-03-18 19:40:42 -07:00
Mitchell Hashimoto
a950adbf17 apprt/gtk: do not use unique app mode (do not set ID for GApplication)
Fixes #101. This prevents single-instance GTK mode from being enabled.
For now, this makes the most sense in my opinion but we can revisit
later.
2023-03-18 19:37:00 -07:00
Mitchell Hashimoto
00c837e0d2 apprt: all implement close surface 2023-03-18 19:25:54 -07:00
Mitchell Hashimoto
d83bf5aeb4 termio: close surface on process exit 2023-03-18 19:21:28 -07:00
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