Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS: Quick Terminal ("Quake-style" terminal) #2320

Merged
merged 20 commits into from
Sep 29, 2024
Merged
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
93b2fe6
macos: start work on SlideTerminal, slides in window from top
mitchellh Sep 22, 2024
bdd0070
macos: render a terminal in the slide window
mitchellh Sep 23, 2024
63456d2
macos: make sliding logic a bit more extensible
mitchellh Sep 23, 2024
d18e1c8
macos: restrict resizing based on sliding terminal position
mitchellh Sep 23, 2024
cadb960
core: slide terminal keybinding action
mitchellh Sep 23, 2024
bdc2c02
macos: when sliding out the terminal, cycle focus
mitchellh Sep 23, 2024
7806366
core: fix up toggle_slide_terminal action for rebase
mitchellh Sep 25, 2024
99e5e59
macos: hook up the action for the slide terminal
mitchellh Sep 27, 2024
50fb733
macos: base class for terminal controller
mitchellh Sep 28, 2024
1977e22
macos: slide terminal exit and close window don't kill the window
mitchellh Sep 28, 2024
e3b340c
macos: set initial terminal dimensions
mitchellh Sep 28, 2024
1570ef0
rename slide to quick terminal
mitchellh Sep 28, 2024
13eb8ac
macos: ability to interrupt animation, track it in menu
mitchellh Sep 28, 2024
11d5ec7
config: support quick terminal position
mitchellh Sep 29, 2024
61dd395
macos: show alert if new tab is attempted from quick term
mitchellh Sep 29, 2024
1f3c3dd
input: note fullscreen isn't supported by quick terminal
mitchellh Sep 29, 2024
1d72732
macos: if initializing new surface tree, move focus to it
mitchellh Sep 29, 2024
76a2041
macos: make quick terminal animation 0.2 instead of 0.3
mitchellh Sep 29, 2024
bcdbb58
macos: only define quick terminal configs for AppKit
mitchellh Sep 29, 2024
4f9d49b
macos: handle multiple monitors properly
mitchellh Sep 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
macos: only define quick terminal configs for AppKit
mitchellh committed Sep 29, 2024
commit bcdbb5899b45ecfde351321845a0059da08b2825
2 changes: 2 additions & 0 deletions macos/Sources/Ghostty/Ghostty.Config.swift
Original file line number Diff line number Diff line change
@@ -332,6 +332,7 @@ extension Ghostty {
return Color(newColor)
}

#if canImport(AppKit)
var quickTerminalPosition: QuickTerminalPosition {
guard let config = self.config else { return .top }
var v: UnsafePointer<Int8>? = nil
@@ -341,6 +342,7 @@ extension Ghostty {
let str = String(cString: ptr)
return QuickTerminalPosition(rawValue: str) ?? .top
}
#endif

var resizeOverlay: ResizeOverlay {
guard let config = self.config else { return .after_first }