Merge pull request #1270 from mitchellh/select-all

macos: add Edit => Select All menu item
This commit is contained in:
Mitchell Hashimoto
2024-01-09 20:55:07 -08:00
committed by GitHub
3 changed files with 18 additions and 0 deletions

View File

@ -33,6 +33,7 @@ class AppDelegate: NSObject,
@IBOutlet private var menuCopy: NSMenuItem? @IBOutlet private var menuCopy: NSMenuItem?
@IBOutlet private var menuPaste: NSMenuItem? @IBOutlet private var menuPaste: NSMenuItem?
@IBOutlet private var menuSelectAll: NSMenuItem?
@IBOutlet private var menuToggleFullScreen: NSMenuItem? @IBOutlet private var menuToggleFullScreen: NSMenuItem?
@IBOutlet private var menuZoomSplit: NSMenuItem? @IBOutlet private var menuZoomSplit: NSMenuItem?
@ -257,6 +258,7 @@ class AppDelegate: NSObject,
syncMenuShortcut(action: "copy_to_clipboard", menuItem: self.menuCopy) syncMenuShortcut(action: "copy_to_clipboard", menuItem: self.menuCopy)
syncMenuShortcut(action: "paste_from_clipboard", menuItem: self.menuPaste) syncMenuShortcut(action: "paste_from_clipboard", menuItem: self.menuPaste)
syncMenuShortcut(action: "select_all", menuItem: self.menuSelectAll)
syncMenuShortcut(action: "toggle_fullscreen", menuItem: self.menuToggleFullScreen) syncMenuShortcut(action: "toggle_fullscreen", menuItem: self.menuToggleFullScreen)
syncMenuShortcut(action: "toggle_split_zoom", menuItem: self.menuZoomSplit) syncMenuShortcut(action: "toggle_split_zoom", menuItem: self.menuZoomSplit)

View File

@ -1012,6 +1012,7 @@ extension Ghostty {
} }
} }
@IBAction func pasteAsPlainText(_ sender: Any?) { @IBAction func pasteAsPlainText(_ sender: Any?) {
guard let surface = self.surface else { return } guard let surface = self.surface else { return }
let action = "paste_from_clipboard" let action = "paste_from_clipboard"
@ -1020,6 +1021,14 @@ extension Ghostty {
} }
} }
@IBAction override func selectAll(_ sender: Any?) {
guard let surface = self.surface else { return }
let action = "select_all"
if (!ghostty_surface_binding_action(surface, action, UInt(action.count))) {
AppDelegate.logger.warning("action failed action=\(action)")
}
}
// MARK: NSTextInputClient // MARK: NSTextInputClient
func hasMarkedText() -> Bool { func hasMarkedText() -> Bool {

View File

@ -35,6 +35,7 @@
<outlet property="menuQuit" destination="4sb-4s-VLi" id="qYN-S1-6UW"/> <outlet property="menuQuit" destination="4sb-4s-VLi" id="qYN-S1-6UW"/>
<outlet property="menuReloadConfig" destination="KKH-XX-5py" id="Wvp-7J-wqX"/> <outlet property="menuReloadConfig" destination="KKH-XX-5py" id="Wvp-7J-wqX"/>
<outlet property="menuResetFontSize" destination="Jah-MY-aLX" id="ger-qM-wrm"/> <outlet property="menuResetFontSize" destination="Jah-MY-aLX" id="ger-qM-wrm"/>
<outlet property="menuSelectAll" destination="q2h-lq-e4r" id="s98-r1-Jcv"/>
<outlet property="menuSelectSplitAbove" destination="0yU-hC-8xF" id="aPc-lS-own"/> <outlet property="menuSelectSplitAbove" destination="0yU-hC-8xF" id="aPc-lS-own"/>
<outlet property="menuSelectSplitBelow" destination="QDz-d9-CBr" id="FsH-Dq-jij"/> <outlet property="menuSelectSplitBelow" destination="QDz-d9-CBr" id="FsH-Dq-jij"/>
<outlet property="menuSelectSplitLeft" destination="cTK-oy-KuV" id="Jpr-5q-dqz"/> <outlet property="menuSelectSplitLeft" destination="cTK-oy-KuV" id="Jpr-5q-dqz"/>
@ -169,6 +170,12 @@
<action selector="paste:" target="-1" id="ZKe-2B-mel"/> <action selector="paste:" target="-1" id="ZKe-2B-mel"/>
</connections> </connections>
</menuItem> </menuItem>
<menuItem title="Select All" id="q2h-lq-e4r">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="selectAll:" target="-1" id="0CH-Tp-7Ud"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VYS-RG-uZD"/> <menuItem isSeparatorItem="YES" id="VYS-RG-uZD"/>
</items> </items>
</menu> </menu>