inputmethodkit

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package inputmethodkit provides purego-based Go bindings for the macOS InputMethodKit framework.

Apple documentation: https://developer.apple.com/documentation/inputmethodkit

Index

Constants

View Source
const (
	KIMKLocateCandidatesAboveHint = 1
	KIMKLocateCandidatesBelowHint = 2
	KIMKLocateCandidatesLeftHint  = 3
	KIMKLocateCandidatesRightHint = 4
)
View Source
const (
	KIMKAnnotation = 1
	KIMKMain       = 0
	KIMKSubList    = 2
)
View Source
const (
	KIMKScrollingGridCandidatePanel         = 2
	KIMKSingleColumnScrollingCandidatePanel = 1
	KIMKSingleRowSteppingCandidatePanel     = 3
)

Variables

This section is empty.

Functions

func IMKCandidatesOpacityAttributeName

func IMKCandidatesOpacityAttributeName() *foundation.NSString

@const IMKCandidatesOpacityAttributeName @abstract The level of opacity. @discussion Value must be a NSNumber with a value from 0 to 1.

func IMKCandidatesSendServerKeyEventFirst

func IMKCandidatesSendServerKeyEventFirst() *foundation.NSString

@const IMKCandidatesSendServerKeyEventFirst @abstract Control when key events are sent to a candidate window. @discussion Value is a NSNumber with a boolean value of NO (key events are sent to the candidate window first) or YES (key events are sent to the IMKInputController first). Note that this is only applicable when a candidate window is displayed. The default behavior is to send the key event to the candidate window first, and if it is not processed there, to send it on to the input controller.

func IMKControllerClass

func IMKControllerClass() *foundation.NSString

@const IMKControllerClass @abstract Key used to find an input method's input controller class name from the input method's bundle.

func IMKDelegateClass

func IMKDelegateClass() *foundation.NSString

@const IMKDelegateClass @abstract Key used to find an input method's delegate class name from the input method's bundle.

func IMKModeDictionary

func IMKModeDictionary() *foundation.NSString

@const IMKModeDictionary @abstract Key used to obtain an input method's mode dictionary from the input method's bundle.

func KIMKCommandClientName

func KIMKCommandClientName() *foundation.NSString

@const kIMKCommandClient @abstract A client object that conforms to the IMKInputText and NSObject protocols. @discussion Use as a key to find the client in the infoDictionary.

func KIMKCommandMenuItemName

func KIMKCommandMenuItemName() *foundation.NSString

@const kIMKCommandMenuItem @abstract An NSMenuItem in the infoDictionary passed to menu item actions. @discussion Use as a key to find the NSMenuItem in the infoDictionary.

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type CGLCPContextPriorityRequest

type CGLCPContextPriorityRequest int64
const (
	KCGLCPContextPriorityRequestHigh   CGLCPContextPriorityRequest = 0
	KCGLCPContextPriorityRequestNormal CGLCPContextPriorityRequest = 1
	KCGLCPContextPriorityRequestLow    CGLCPContextPriorityRequest = 2
)

func (CGLCPContextPriorityRequest) String

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type EvCmd

type EvCmd int64
const (
	EVNOP   EvCmd = 0
	EVHIDE  EvCmd = 1
	EVSHOW  EvCmd = 2
	EVMOVE  EvCmd = 3
	EVLEVEL EvCmd = 4
)

func (EvCmd) String

func (e EvCmd) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type IMKCandidates

type IMKCandidates struct {
	appkit.NSResponder
}

Apple documentation: https://developer.apple.com/documentation/inputmethodkit/imkcandidates

func IMKCandidatesFromID

func IMKCandidatesFromID(id objc.ID) *IMKCandidates

func (*IMKCandidates) AttachChildToCandidateType

func (o *IMKCandidates) AttachChildToCandidateType(child *IMKCandidates, candidateIdentifier int, theType uint)

@method @abstract Attach an IMKCandidates object to the specified selection. @discussion The IMKCandidate can be a sublist or an annotation.

func (*IMKCandidates) Attributes

func (o *IMKCandidates) Attributes() *foundation.NSDictionary[objc.ID, objc.ID]

@method @abstract Returns the attributes dictionary.

func (*IMKCandidates) CandidateFrame

func (o *IMKCandidates) CandidateFrame() corefoundation.CGRect

func (*IMKCandidates) CandidateIdentifierAtLineNumber

func (o *IMKCandidates) CandidateIdentifierAtLineNumber(lineNumber int) int

@method @abstract Returns the candidate identifier for a given line in the candidate window display. @discussion Maps the lineNumber to a candidate identifier. Line number 0 corresponds to the candidate in the cell currently in the first (top for vertical) line of the candidate window. This is convienient for input methods that support selecting a candidate by a number key. Line Number values depend on the column arrangement of your candidate. If you are displaying a single column candidate window, lines that have been scrolled out of view will have negative values. For a single row grid line, numbers will correspond to the cell's position in the row (i.e. the first cell will be 0, the second 1, etc). Finally, for a grid, the line numbers correspond to the grid row. If the line number is invalid, NSNotFound is returned. @param lineNumber a number representing a cells position in the candidate window.

func (*IMKCandidates) CandidateStringIdentifier

func (o *IMKCandidates) CandidateStringIdentifier(candidateString objc.ID) int

@method @abstract Map a candidateString to an identifier. @discussion Beginning with MacOS 10.7, candidate strings are mapped internally to an unique identifier of type NSInteger. Using identifiers to identify a particular candidate is the first stage of enabling data types other than NSString and NSAttributedString for containing the contents of a candidate.

func (*IMKCandidates) ClearSelection

func (o *IMKCandidates) ClearSelection()

func (*IMKCandidates) DetachChild

func (o *IMKCandidates) DetachChild(candidateIdentifier int)

@method @abstract Detach the IMKCandidates object attached to candidate

func (*IMKCandidates) DismissesAutomatically

func (o *IMKCandidates) DismissesAutomatically() bool

@method @abstract Returns the dismissesAutomatically flag.

func (*IMKCandidates) Hide

func (o *IMKCandidates) Hide()

@method @abstract If the candidate window is visible, hide it.

func (*IMKCandidates) HideChild

func (o *IMKCandidates) HideChild()

@method @abstract If the current selection has a child IMKCandidates that is being shown hide it. @discussion Typically a client will not need to call this as IMKCandidates automatically hides and shows children.

func (*IMKCandidates) InitWithServerPanelType

func (o *IMKCandidates) InitWithServerPanelType(server *IMKServer, panelType uint) objc.ID

func (*IMKCandidates) InitWithServerPanelTypeStyleType

func (o *IMKCandidates) InitWithServerPanelTypeStyleType(server *IMKServer, panelType uint, style uint) objc.ID

func (*IMKCandidates) IsVisible

func (o *IMKCandidates) IsVisible() bool

@method @abstract Utility method returns YES if a candidate display is visible.

func (*IMKCandidates) LineNumberForCandidateWithIdentifier

func (o *IMKCandidates) LineNumberForCandidateWithIdentifier(candidateIdentifier int) int

@method @abstract Returns the line number for a given CandidateID. @result The line number. NSNotFound if the candidateID is invalid. @param candidateIdentifier - A valid identifier for a candidate. @discussion If the cell that contains the candidate is at the top line of the candidate window, the return value will be 0.

func (*IMKCandidates) PanelType

func (o *IMKCandidates) PanelType() uint

@method @abstract Return the panel type.

func (*IMKCandidates) SelectCandidate

func (o *IMKCandidates) SelectCandidate(candidateIdentifier int)

func (*IMKCandidates) SelectCandidateWithIdentifier

func (o *IMKCandidates) SelectCandidateWithIdentifier(candidateIdentifier int) bool

@method @abstract Select the candidate whose identifier matches the identifier parameter. @result YES if the candidateIdentifier is valid an the selection was made. NO if canidateIdentifier is invalid or it was not possible make the selection. @param An identifier for a candidate. You can obtain an identifier by mapping a candidate to an identifier via the [IMKCandidates candidateStringIdentifier:].

func (*IMKCandidates) SelectedCandidate

func (o *IMKCandidates) SelectedCandidate() int

@method @abstract Returns the currently selected candidate identifer. @discussion Attempts to determine the identifier for the selected candidate. If there is no selection the return value will be NSNotFound.

func (*IMKCandidates) SelectedCandidateString

func (o *IMKCandidates) SelectedCandidateString() *foundation.NSAttributedString

@method @abstract Returns the currently selected candidate string. @discussion Attempts to determine the string for the selected candidate. If there is no selection the return value can be nil. The attributed string is an autoreleased object.

func (*IMKCandidates) SelectionKeys

func (o *IMKCandidates) SelectionKeys() *foundation.NSArray[objc.ID]

@method @abstract Returns an NSArray of NSNumbers where each NSNumber is a virtual key code. The NSArray is an autoreleased object. Do not release unless it is first retained.

func (*IMKCandidates) SelectionKeysKeylayout

func (o *IMKCandidates) SelectionKeysKeylayout() unsafe.Pointer

@method @abstract Returns the key layout that is used to map virtual key codes for the selection keys. By default this is the key layout whose source id is com.apple.keylayout.US. This is an autoreleased object. Retain it if you need to keep it.

func (*IMKCandidates) SetAttributes

func (o *IMKCandidates) SetAttributes(attributes *foundation.NSDictionary[objc.ID, objc.ID])

@method @abstract Sets the "style" attributes for the candidates window. The keys for the attributes dictionary and the values are: NSFontAttributeName (value = NSFont) Setting the font attribute sets the font that is used to draw Candidates. It does not effect the selection keys which are always drawn in the same font. Note that to set the font size you should use this key/value pair. IMKCandidatesOpacityAttributeName (value = NSNumber with a float value between 0 and 1). Sets the opacity level to transparent (0.0) to completely opaque (1.0). The default opacity is 1.0. This constant is declared above. NSForegroundColorAttributeName (value = NSColor) Sets the text color used for the candidate text. By default it is black. NSBackgroundColorDocumentAttribute (value = NSColor). Set the background color that is drawn behind the candidate text. IMKCandidatesSendServerKeyEventFirst (value = NSNumber). NO (default) gives the candidate window first chance at key events. YES causes events to first be routed to the current IMKInputController. In that case, if the event is not handled, it will then be sent to the candidate window.

func (*IMKCandidates) SetCandidateData

func (o *IMKCandidates) SetCandidateData(candidatesArray *foundation.NSArray[objc.ID])

@method @abstract Set the candidates data directly rather than supplying data via [IMKInputContoller candidates:]. @discussion The elements of the array can be strings or attributed strings.

func (*IMKCandidates) SetCandidateFrameTopLeft

func (o *IMKCandidates) SetCandidateFrameTopLeft(point corefoundation.CGPoint)

@method @abstract Positions the top-left corner of the candidate window’s frame rectangle at a given point in screen coordinates.

func (*IMKCandidates) SetDismissesAutomatically

func (o *IMKCandidates) SetDismissesAutomatically(flag bool)

@method @abstract Setting the dismissesAutomatically flag determines what happens to displayed candidates when the return key or enter key is typed. @discussion By default, if a return or enter key is typed, the candidates are dismissed and a candidateSelected: message is sent to the input controller. However if setDismissesAutomatically is passed a NO flag the candidate display will not be dismissed when a return or enter key is typed. The input controller will still be sent the candidatesSelected: message, but, as stated, the candidates display will not be dismissed. Setting this flag to NO lets an input method process text input while keeping a dynamically changing candidates display in view throughout the text input process. When you set this to NO the candidate display will still be hidden when when a session deactivates.

func (*IMKCandidates) SetPanelType

func (o *IMKCandidates) SetPanelType(panelType uint)

@method @abstract Change the panel type.

func (*IMKCandidates) SetSelectionKeys

func (o *IMKCandidates) SetSelectionKeys(keyCodes *foundation.NSArray[objc.ID])

@method @abstract Set the selection keys for the candidates. @discussion Selection keys are an array of NSNumbers where each NSNumber is a virtual key code that the controller will map to characters that are displayed either across the top of the candidates, if the candidates are laid out horizontally, or along the left edge of the candidates, if they are aligned vertically. The number of selection keys determines how many candidates are displayed per page. For example, if you passed an array of 4 key codes, then 4 candidates are displayed per page. If you passed 11 key codes, then 11 candidates would be displayed. By default the key codes are mapped using the keyboard layout whose source id is com.apple.keylayout.US. The default layout can be replaced by calling setSelectionKeysKeylayout (see below). The default selection keys are the digits 1 through 9, or in terms of key codes: 18-21,23,22, 26, 28, 25.

func (*IMKCandidates) SetSelectionKeysKeylayout

func (o *IMKCandidates) SetSelectionKeysKeylayout(layout unsafe.Pointer)

@method @abstract Sets the key layout that is used to map virtual key codes to characters.

func (*IMKCandidates) Show

func (o *IMKCandidates) Show(locationHint uint)

@method @abstract If a candidate window type has been provided, show the candidate window. The caller provides a location hint that is used to position the window. Input methods call this method when it is appropriate, during text conversion, to display a list of candidates.

func (*IMKCandidates) ShowAnnotation

func (o *IMKCandidates) ShowAnnotation(annotationString *foundation.NSAttributedString)

@method @abstract Displays an annotation window whose contents are the annotationString. @discussion An annotation is additional text that explains or somehow adds to the candidate string in a candidate window. Annotations are displayed in a small borderless window that is aligned with the current candidate panel. An input method calls showAnnotation: when the method [IMKInputController candidateSelectionChanged:] is called, and the candidateString has annotations.

func (*IMKCandidates) ShowCandidates

func (o *IMKCandidates) ShowCandidates()

@method @abstract Show the candidate window. @discussion This simply shows the candidates. No effort is made to position the candidate. The caller should move the candidate window to an appropriate location prior to showing.

func (*IMKCandidates) ShowChild

func (o *IMKCandidates) ShowChild()

@method @abstract If the current selection has a child IMKCandidates object that will be shown. @discussion If there is a failure in showing the child this method will throw an exception.

func (*IMKCandidates) ShowSublistSubListDelegate

func (o *IMKCandidates) ShowSublistSubListDelegate(candidates *foundation.NSArray[objc.ID], delegate objc.ID)

func (*IMKCandidates) UpdateCandidates

func (o *IMKCandidates) UpdateCandidates()

@method @abstract Call this method to update the candidates displayed in the candidate window. @discussion Calling this method will result in a call being made to the IMKInputController's candidates method. Note that the candidate list will be updated, but the window's visible state will not change; that is to say, if the window is hidden it will remain hidden, and vice versa.

type IMKInputController

type IMKInputController struct {
	foundation.NSObject
}

@class IMKInputController @abstract The basic class that controls input on the input method side. @discussion IMKInputController implements fully implements the protocols defined above. Typically a developer does not override this class, but provides a delegate object that implements the methods that developer is interested in. The IMKInputController versions of the protocol methods check if the delegate object implements a method, and call the delegate version if it exists. The IMKServer class which is allocated in an input method's main function creates a controller class for each input session created by a client application. Therefore for every input session there is a corresponding IMKInputController.

Apple documentation: https://developer.apple.com/documentation/inputmethodkit/imkinputcontroller

func IMKInputControllerFromID

func IMKInputControllerFromID(id objc.ID) *IMKInputController

func (*IMKInputController) AnnotationSelectedForCandidate

func (o *IMKInputController) AnnotationSelectedForCandidate(annotationString *foundation.NSAttributedString, candidateString *foundation.NSAttributedString)

@method @abstract Called when a user has selected a annotation in a candidate window. @discussion When a candidate window is displayed and the user selects an annotation the selected annotation is sent to the input controller via this method. The currently selected candidateString is also sent to the input method.

func (*IMKInputController) CancelComposition

func (o *IMKInputController) CancelComposition()

@method @abstract Stops the current composition and replaces marked text with the original text. @discussion Calls the method originalString to obtain the original text and sends that to the client via a call to IMKInputSession protocol method insertText:

func (*IMKInputController) CandidateSelected

func (o *IMKInputController) CandidateSelected(candidateString *foundation.NSAttributedString)

@method @abstract Called when a new candidate has been finally selected. @discussion The candidate parameter is the users final choice from the candidate window. The candidate window will have been closed before this method is called.

func (*IMKInputController) CandidateSelectionChanged

func (o *IMKInputController) CandidateSelectionChanged(candidateString *foundation.NSAttributedString)

@method @abstract Informs an input controller that the current candidate selection in the candidate window has changed. @discussion The candidate parameter is the candidate string that the selection changed to. Note this method is called to indicate that the user is moving around in the candidate window. The candidate object is not a final selection.

func (*IMKInputController) Client

func (o *IMKInputController) Client() objc.ID

@method @abstract Returns this controller's client object. @discussion The client object will conform to the IMKTextInput protocol. The returned object is an autoreleased object.

func (*IMKInputController) CompositionAttributesAtRange

func (o *IMKInputController) CompositionAttributesAtRange(range_ foundation.NSRange) *foundation.NSMutableDictionary[objc.ID, objc.ID]

@method @abstract Called to obtain a dictionary of text attributes. @discussion The default implementation returns an empty dictionary. You should override this method if your input method wants to provide font or glyphInformation. The returned object should be an autoreleased object.

func (*IMKInputController) Delegate

func (o *IMKInputController) Delegate() objc.ID

@method - (id)delegate; @abstract Returns the input controller's delegate object. The returned id is an autoreleased object.

func (*IMKInputController) DoCommandBySelectorCommandDictionary

func (o *IMKInputController) DoCommandBySelectorCommandDictionary(aSelector objc.SEL, infoDictionary *foundation.NSDictionary[objc.ID, objc.ID])

@method @abstract Called to pass commands that are not generated as part of the text input. @discussion The default implementation checks if the controller object (i.e. self) responds to the selector. If that is true the message performSelector:withObject is sent to the controller class. The object parameter in that case is the infoDictionary. This method is called when a user selects a command item from the text input menu. To support this an input method merely needs to provide actions for each menu item that will be placed in the menu. i.e. -(void)menuAction:(id)sender Note that the sender in this instance will be the infoDictionary. The dictionary contains two values: kIMKCommandMenuItemName NSMenuItem -- the NSMenuItem that was selected kIMKCommandClientName id<IMKTextInput, NSObject> - the current client

func (*IMKInputController) HidePalettes

func (o *IMKInputController) HidePalettes()

@method @abstract Called to inform an input method that any visible UI should be closed.

func (*IMKInputController) InitWithServerDelegateClient

func (o *IMKInputController) InitWithServerDelegateClient(server *IMKServer, delegate objc.ID, inputClient objc.ID) objc.ID

@method @abstract Initializes the controller class setting the delegate. The inputClient parameter is the client side object that will be sending messages to the controller via the IMKServer. The client object always conforms to the IMKTextInput protocol. Methods in the protocols that are implemented by the delegate object always include a client parameter. Methods in the IMKInputController class do not take a client. This is because the client is stored as an ivar in the IMKInputController.

func (*IMKInputController) InputControllerWillClose

func (o *IMKInputController) InputControllerWillClose()

@method @abstract Called to notify an input controller that it is about to be closed.

func (*IMKInputController) MarkForStyleAtRange

func (o *IMKInputController) MarkForStyleAtRange(style int, range_ foundation.NSRange) *foundation.NSDictionary[objc.ID, objc.ID]

@method @abstract Returns a dictionary of text attributes that can be used to mark a range of an attributed string that is going to be sent to a client. @discussion This utility function can be called by input methods to mark each range (i.e. clause ) of marked text. The style parameter should be one of the following values: kTSMHiliteSelectedRawText, kTSMHiliteConvertedText or kTSMHiliteSelectedConvertedText. See AERegistry.h for the definition of these values. The default implementation begins by calling compositionAttributesAtRange: to obtain extra attributes that an input method wants to include such as font or glyph information. Then the appropriate underline and underline color information is added to the attributes dictionary for the style parameter. Finally the style value is added as dictionary value. The key for the style value is NSMarkedClauseSegment. The returned object should be an autoreleased object.

func (*IMKInputController) Menu

func (o *IMKInputController) Menu() *appkit.NSMenu

@method @abstract Returns a menu of input method specific commands. @discussion This method is called whenever the menu needs to be drawn so that input methods can update the menu to reflect their current state. The returned NSMenu is an autoreleased object.

func (*IMKInputController) ReplacementRange

func (o *IMKInputController) ReplacementRange() foundation.NSRange

@method @abstract Returns the range in the client document that text should replace. @discussion This method is called by updateComposition to obtain the range in the client's document where markedText should be placed. The default implementation returns an NSRange whose location and length are NSNotFound. That indicates that the marked text should be placed at the current insertion point. Input methods that wish to insert marked text somewhere other than at the current insertion point should override this method. An example of an input method that might override this method would be one replaced words with synonyms. That input method would watch for certain words and when one of those words was seen it would be replaced by marked text that was a synonym of the word.

func (*IMKInputController) SelectionRange

func (o *IMKInputController) SelectionRange() foundation.NSRange

@method @abstract Returns where the selection should be placed inside markedText. @discussion This method is called by updateComposition: to obtain the selection range for markedText. The default implementation sets the selection range at the end of the marked text.

func (*IMKInputController) Server

func (o *IMKInputController) Server() *IMKServer

@method @abstract Return the server object which is managing this input controller. The returned IMKServer is an autoreleased object.

func (*IMKInputController) SetDelegate

func (o *IMKInputController) SetDelegate(newDelegate objc.ID)

@method @abstract Set the input controller's delegate object.

func (*IMKInputController) UpdateComposition

func (o *IMKInputController) UpdateComposition()

@method @abstract Called to inform the controller that the composition has changed. @discussion This method will call the protocol method composedString: to obtain the current composition. The current composition will be sent to the client by a call to the method setMarkedText:

type IMKMouseHandling

type IMKMouseHandling interface {
	MouseDownOnCharacterIndexCoordinateWithModifierContinueTrackingClient(index uint, point corefoundation.CGPoint, flags uint, keepTracking *bool, sender objc.ID) bool
	MouseUpOnCharacterIndexCoordinateWithModifierClient(index uint, point corefoundation.CGPoint, flags uint, sender objc.ID) bool
	MouseMovedOnCharacterIndexCoordinateWithModifierClient(index uint, point corefoundation.CGPoint, flags uint, sender objc.ID) bool
}

IMKMouseHandling wraps the ObjC protocol IMKMouseHandling.

type IMKServer

type IMKServer struct {
	foundation.NSObject
}

@class IMKServer @abstract This class manages input sessions. @discussion An input method should create one and only one of these objects. An IMKServer creates an NSConnection that can be connected to by input clients. After a connection has been made an IMKServer manages communication between the client and the input method. For each communication session the IMKServer will create an IMKInputController class as well as delegate classes for that controller. Each controller object then serves as a proxy for the input session on the client side. This means that input methods do not have to concern themselves with managing client sessions. A given controller will only receive communication from a single session. IMKServer's also will manage a basic candidate window for an input method. See IMKCandidates.h to understand how to create a candidate window and associate the candidate window with the IMKServer object.

Apple documentation: https://developer.apple.com/documentation/inputmethodkit/imkserver

func IMKServerFromID

func IMKServerFromID(id objc.ID) *IMKServer

func (*IMKServer) Bundle

func (o *IMKServer) Bundle() *foundation.NSBundle

@method @abstract Returns an NSBundle for the input method. @discussion If the IMKServer contains a bundle identifier the NSBundle is created from that. Otherwise, the bundle is created for the main bundle. The returned NSBundle is an autoreleased object.

func (*IMKServer) InitWithNameBundleIdentifier

func (o *IMKServer) InitWithNameBundleIdentifier(name *foundation.NSString, bundleIdentifier *foundation.NSString) objc.ID

@method @abstract Create a IMKServer from information in the bundle's Info.plist. @discussion This method will look into the info.plist for a controller class and delegate class. The class names will be loaded, no classes will be instantiated. Additionally, an NSConnection will be allocated and registered with the name parameter.

func (*IMKServer) InitWithNameControllerClassDelegateClass

func (o *IMKServer) InitWithNameControllerClassDelegateClass(name *foundation.NSString, controllerClassID objc.Class, delegateClassID objc.Class) objc.ID

@method @abstract Creates an IMKServer using the parameters. @discussion This method creates an IMKServer object without attempting to examine the bundle instead the class names provided as parameters are used to create input controller objects and delegate objects.

func (*IMKServer) LastKeyEventWasDeadKey

func (o *IMKServer) LastKeyEventWasDeadKey() bool

@method @abstract Returns a BOOL indicating whether or not the last key press was a dead key.

func (*IMKServer) PaletteWillTerminate

func (o *IMKServer) PaletteWillTerminate() bool

@method @abstract Call this before terminating a palette IM. @discussion Palettes need to be able to terminate. When this method is called the IMKServer will notify each client of the palette that the palette is about to terminate. The palette can terminate safely if a value of YES is returned. If the caller of this method is not an input method of type palette an exception will be thrown. If the method returns NO the palette should not terminate.

type IMKServerProxy

type IMKServerProxy interface {
}

IMKServerProxy wraps the ObjC protocol IMKServerProxy.

type IMKStateSetting

type IMKStateSetting interface {
	ActivateServer(sender objc.ID)
	DeactivateServer(sender objc.ID)
	ValueForTagClient(tag int, sender objc.ID) objc.ID
	SetValueForTagClient(value objc.ID, tag int, sender objc.ID)
	Modes(sender objc.ID) *foundation.NSDictionary[objc.ID, objc.ID]
	RecognizedEvents(sender objc.ID) uint
	ShowPreferences(sender objc.ID)
}

IMKStateSetting wraps the ObjC protocol IMKStateSetting.

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type Ipc_info_object_type_t

type Ipc_info_object_type_t int64
const (
	IPC_OTYPE_NONE                 Ipc_info_object_type_t = 0
	IPC_OTYPE_THREAD_CONTROL       Ipc_info_object_type_t = 1
	IPC_OTYPE_TASK_CONTROL         Ipc_info_object_type_t = 2
	IPC_OTYPE_HOST                 Ipc_info_object_type_t = 3
	IPC_OTYPE_HOST_PRIV            Ipc_info_object_type_t = 4
	IPC_OTYPE_PROCESSOR            Ipc_info_object_type_t = 5
	IPC_OTYPE_PROCESSOR_SET        Ipc_info_object_type_t = 6
	IPC_OTYPE_PROCESSOR_SET_NAME   Ipc_info_object_type_t = 7
	IPC_OTYPE_TIMER                Ipc_info_object_type_t = 8
	IPC_OTYPE_PORT_SUBST_ONCE      Ipc_info_object_type_t = 9
	IPC_OTYPE_MIG                  Ipc_info_object_type_t = 10
	IPC_OTYPE_MEMORY_OBJECT        Ipc_info_object_type_t = 11
	IPC_OTYPE_XMM_PAGER            Ipc_info_object_type_t = 12
	IPC_OTYPE_XMM_KERNEL           Ipc_info_object_type_t = 13
	IPC_OTYPE_XMM_REPLY            Ipc_info_object_type_t = 14
	IPC_OTYPE_UND_REPLY            Ipc_info_object_type_t = 15
	IPC_OTYPE_HOST_NOTIFY          Ipc_info_object_type_t = 16
	IPC_OTYPE_HOST_SECURITY        Ipc_info_object_type_t = 17
	IPC_OTYPE_LEDGER               Ipc_info_object_type_t = 18
	IPC_OTYPE_MAIN_DEVICE          Ipc_info_object_type_t = 19
	IPC_OTYPE_TASK_NAME            Ipc_info_object_type_t = 20
	IPC_OTYPE_SUBSYSTEM            Ipc_info_object_type_t = 21
	IPC_OTYPE_IO_DONE_QUEUE        Ipc_info_object_type_t = 22
	IPC_OTYPE_SEMAPHORE            Ipc_info_object_type_t = 23
	IPC_OTYPE_LOCK_SET             Ipc_info_object_type_t = 24
	IPC_OTYPE_CLOCK                Ipc_info_object_type_t = 25
	IPC_OTYPE_CLOCK_CTRL           Ipc_info_object_type_t = 26
	IPC_OTYPE_IOKIT_IDENT          Ipc_info_object_type_t = 27
	IPC_OTYPE_NAMED_ENTRY          Ipc_info_object_type_t = 28
	IPC_OTYPE_IOKIT_CONNECT        Ipc_info_object_type_t = 29
	IPC_OTYPE_IOKIT_OBJECT         Ipc_info_object_type_t = 30
	IPC_OTYPE_UPL                  Ipc_info_object_type_t = 31
	IPC_OTYPE_MEM_OBJ_CONTROL      Ipc_info_object_type_t = 32
	IPC_OTYPE_AU_SESSIONPORT       Ipc_info_object_type_t = 33
	IPC_OTYPE_FILEPORT             Ipc_info_object_type_t = 34
	IPC_OTYPE_LABELH               Ipc_info_object_type_t = 35
	IPC_OTYPE_TASK_RESUME          Ipc_info_object_type_t = 36
	IPC_OTYPE_VOUCHER              Ipc_info_object_type_t = 37
	IPC_OTYPE_VOUCHER_ATTR_CONTROL Ipc_info_object_type_t = 38
	IPC_OTYPE_WORK_INTERVAL        Ipc_info_object_type_t = 39
	IPC_OTYPE_UX_HANDLER           Ipc_info_object_type_t = 40
	IPC_OTYPE_UEXT_OBJECT          Ipc_info_object_type_t = 41
	IPC_OTYPE_ARCADE_REG           Ipc_info_object_type_t = 42
	IPC_OTYPE_EVENTLINK            Ipc_info_object_type_t = 43
	IPC_OTYPE_TASK_INSPECT         Ipc_info_object_type_t = 44
	IPC_OTYPE_TASK_READ            Ipc_info_object_type_t = 45
	IPC_OTYPE_THREAD_INSPECT       Ipc_info_object_type_t = 46
	IPC_OTYPE_THREAD_READ          Ipc_info_object_type_t = 47
	IPC_OTYPE_SUID_CRED            Ipc_info_object_type_t = 48
	IPC_OTYPE_HYPERVISOR           Ipc_info_object_type_t = 49
	IPC_OTYPE_TASK_ID_TOKEN        Ipc_info_object_type_t = 50
	IPC_OTYPE_TASK_FATAL           Ipc_info_object_type_t = 51
	IPC_OTYPE_KCDATA               Ipc_info_object_type_t = 52
	IPC_OTYPE_EXCLAVES_RESOURCE    Ipc_info_object_type_t = 53
	IPC_OTYPE_THREAD_RESUME        Ipc_info_object_type_t = 54
	IPC_OTYPE_UNKNOWN              Ipc_info_object_type_t = 4294967295
)

func (Ipc_info_object_type_t) String

func (e Ipc_info_object_type_t) String() string

type Launch_data_type_t

type Launch_data_type_t int64
const (
	LAUNCH_DATA_DICTIONARY Launch_data_type_t = 1
	LAUNCH_DATA_ARRAY      Launch_data_type_t = 2
	LAUNCH_DATA_FD         Launch_data_type_t = 3
	LAUNCH_DATA_INTEGER    Launch_data_type_t = 4
	LAUNCH_DATA_REAL       Launch_data_type_t = 5
	LAUNCH_DATA_BOOL       Launch_data_type_t = 6
	LAUNCH_DATA_STRING     Launch_data_type_t = 7
	LAUNCH_DATA_OPAQUE     Launch_data_type_t = 8
	LAUNCH_DATA_ERRNO      Launch_data_type_t = 9
	LAUNCH_DATA_MACHPORT   Launch_data_type_t = 10
)

func (Launch_data_type_t) String

func (e Launch_data_type_t) String() string

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type Mach_vm_range_flags_t

type Mach_vm_range_flags_t int64
const (
	MACH_VM_RANGE_NONE Mach_vm_range_flags_t = 0
)

func (Mach_vm_range_flags_t) String

func (e Mach_vm_range_flags_t) String() string

type Mach_vm_range_flavor_t

type Mach_vm_range_flavor_t int64
const (
	MACH_VM_RANGE_FLAVOR_INVALID Mach_vm_range_flavor_t = 0
	MACH_VM_RANGE_FLAVOR_V1      Mach_vm_range_flavor_t = 1
)

func (Mach_vm_range_flavor_t) String

func (e Mach_vm_range_flavor_t) String() string

type Mach_vm_range_tag_t

type Mach_vm_range_tag_t int64
const (
	MACH_VM_RANGE_DEFAULT Mach_vm_range_tag_t = 0
	MACH_VM_RANGE_DATA    Mach_vm_range_tag_t = 1
	MACH_VM_RANGE_FIXED   Mach_vm_range_tag_t = 2
)

func (Mach_vm_range_tag_t) String

func (e Mach_vm_range_tag_t) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type NXMouseButton

type NXMouseButton int64
const (
	NX_OneButton   NXMouseButton = 0
	NX_LeftButton  NXMouseButton = 1
	NX_RightButton NXMouseButton = 2
)

func (NXMouseButton) String

func (e NXMouseButton) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Os_unfair_lock_flags_t

type Os_unfair_lock_flags_t int64
const (
	OS_UNFAIR_LOCK_FLAG_NONE          Os_unfair_lock_flags_t = 0
	OS_UNFAIR_LOCK_FLAG_ADAPTIVE_SPIN Os_unfair_lock_flags_t = 262144
)

func (Os_unfair_lock_flags_t) String

func (e Os_unfair_lock_flags_t) String() string

type PMPageToPaperMappingType

type PMPageToPaperMappingType int64
const (
	KPMPageToPaperMappingNone       PMPageToPaperMappingType = 1
	KPMPageToPaperMappingScaleToFit PMPageToPaperMappingType = 2
)

func (PMPageToPaperMappingType) String

func (e PMPageToPaperMappingType) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

type Virtual_memory_guard_exception_code_t

type Virtual_memory_guard_exception_code_t int64
const (
	KGUARD_EXC_DEALLOC_GAP                   Virtual_memory_guard_exception_code_t = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        Virtual_memory_guard_exception_code_t = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         Virtual_memory_guard_exception_code_t = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    Virtual_memory_guard_exception_code_t = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    Virtual_memory_guard_exception_code_t = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         Virtual_memory_guard_exception_code_t = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         Virtual_memory_guard_exception_code_t = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  Virtual_memory_guard_exception_code_t = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    Virtual_memory_guard_exception_code_t = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              Virtual_memory_guard_exception_code_t = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        Virtual_memory_guard_exception_code_t = 99
	KGUARD_EXC_SEC_COPY_DENIED               Virtual_memory_guard_exception_code_t = 100
	KGUARD_EXC_SEC_SHARING_DENIED            Virtual_memory_guard_exception_code_t = 101
	KGUARD_EXC_MTE_SYNC_FAULT                Virtual_memory_guard_exception_code_t = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          Virtual_memory_guard_exception_code_t = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          Virtual_memory_guard_exception_code_t = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT Virtual_memory_guard_exception_code_t = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT Virtual_memory_guard_exception_code_t = 204
)

func (Virtual_memory_guard_exception_code_t) String

type Xpc_listener_create_flags_t

type Xpc_listener_create_flags_t int64
const (
	XPC_LISTENER_CREATE_NONE             Xpc_listener_create_flags_t = 0
	XPC_LISTENER_CREATE_INACTIVE         Xpc_listener_create_flags_t = 1
	XPC_LISTENER_CREATE_FORCE_MACH       Xpc_listener_create_flags_t = 2
	XPC_LISTENER_CREATE_FORCE_XPCSERVICE Xpc_listener_create_flags_t = 4
)

func (Xpc_listener_create_flags_t) String

type Xpc_session_create_flags_t

type Xpc_session_create_flags_t int64
const (
	XPC_SESSION_CREATE_NONE            Xpc_session_create_flags_t = 0
	XPC_SESSION_CREATE_INACTIVE        Xpc_session_create_flags_t = 1
	XPC_SESSION_CREATE_MACH_PRIVILEGED Xpc_session_create_flags_t = 2
)

func (Xpc_session_create_flags_t) String

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL