Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
genman
command
Package main is the main entry point for the genman command.
|
Package main is the main entry point for the genman command. |
|
neru
command
Package main is the entry point for the Neru application.
|
Package main is the entry point for the Neru application. |
|
Package configs provides embedded configuration files.
|
Package configs provides embedded configuration files. |
|
internal
|
|
|
adapter/accessibility
Package accessibility implements ports.AccessibilityPort: finding clickable elements, identifying the focused application, and walking element trees.
|
Package accessibility implements ports.AccessibilityPort: finding clickable elements, identifying the focused application, and walking element trees. |
|
adapter/accessibility/atspi
Package atspi is the Linux accessibility backend.
|
Package atspi is the Linux accessibility backend. |
|
adapter/accessibility/ax
Package ax is the contract every accessibility backend implements.
|
Package ax is the contract every accessibility backend implements. |
|
adapter/accessibility/native
Package native is the accessibility client built on each OS's own API.
|
Package native is the accessibility client built on each OS's own API. |
|
adapter/accessibility/native/darwin
Package darwin reads the accessibility tree through AXUIElement.
|
Package darwin reads the accessibility tree through AXUIElement. |
|
adapter/accessibility/native/linux
Package linux supplies the Linux element and geometry layer.
|
Package linux supplies the Linux element and geometry layer. |
|
adapter/accessibility/native/windows
Package windows reads the accessibility tree through UI Automation over COM.
|
Package windows reads the accessibility tree through UI Automation over COM. |
|
adapter/appwatcher
Package appwatcher monitors application lifecycle events (launch, terminate, activate, deactivate, screen change) and dispatches them to registered callbacks.
|
Package appwatcher monitors application lifecycle events (launch, terminate, activate, deactivate, screen change) and dispatches them to registered callbacks. |
|
adapter/eventtap
Package eventtap implements ports.EventTapPort over the platform keyboard capture backends.
|
Package eventtap implements ports.EventTapPort over the platform keyboard capture backends. |
|
adapter/eventtap/darwin
Package darwin captures keys through a Quartz CGEventTap.
|
Package darwin captures keys through a Quartz CGEventTap. |
|
adapter/eventtap/linux
Package linux captures keys on Linux, and owns the Wayland global-hotkey listener and the uinput scroll device that go with it.
|
Package linux captures keys on Linux, and owns the Wayland global-hotkey listener and the uinput scroll device that go with it. |
|
adapter/eventtap/tap
Package tap is the contract every event-tap backend implements.
|
Package tap is the contract every event-tap backend implements. |
|
adapter/eventtap/windows
Package windows captures keys through a low-level WH_KEYBOARD_LL hook.
|
Package windows captures keys through a low-level WH_KEYBOARD_LL hook. |
|
adapter/hotkeys
Package hotkeys registers global keyboard shortcuts.
|
Package hotkeys registers global keyboard shortcuts. |
|
adapter/hotkeys/darwin
Package darwin registers global hotkeys on darwin.
|
Package darwin registers global hotkeys on darwin. |
|
adapter/hotkeys/linux
Package linux registers global hotkeys on linux.
|
Package linux registers global hotkeys on linux. |
|
adapter/hotkeys/windows
Package windows registers global hotkeys on windows.
|
Package windows registers global hotkeys on windows. |
|
adapter/ipc
Package ipc implements the IPC adapter.
|
Package ipc implements the IPC adapter. |
|
adapter/keyfeed
Package keyfeed posts keyboard input directly to the host operating system.
|
Package keyfeed posts keyboard input directly to the host operating system. |
|
adapter/logger
Package logger provides comprehensive structured logging functionality for the Neru application, using the zap logging library with file rotation support to ensure reliable and efficient logging.
|
Package logger provides comprehensive structured logging functionality for the Neru application, using the zap logging library with file rotation support to ensure reliable and efficient logging. |
|
adapter/overlay
Package overlay implements ports.OverlayPort over the platform overlay backends.
|
Package overlay implements ports.OverlayPort over the platform overlay backends. |
|
adapter/overlay/darwin
Package darwin draws the overlay with Cocoa.
|
Package darwin draws the overlay with Cocoa. |
|
adapter/overlay/linux
Package linux draws the overlay on X11 and Wayland.
|
Package linux draws the overlay on X11 and Wayland. |
|
adapter/overlay/manager
Package manager is the overlay window management contract, a leaf both the backends and the backend selector depend on.
|
Package manager is the overlay window management contract, a leaf both the backends and the backend selector depend on. |
|
adapter/overlay/render/badge
Package badge holds the platform-neutral geometry and color math shared by the overlay badge renderers: indicator badges, hint labels and grid text backgrounds all size themselves from the same font-based estimates and read colors from the same hex notation.
|
Package badge holds the platform-neutral geometry and color math shared by the overlay badge renderers: indicator badges, hint labels and grid text backgrounds all size themselves from the same font-based estimates and read colors from the same hex notation. |
|
adapter/overlay/render/grid
Package grid provides grid-based navigation functionality for Neru.
|
Package grid provides grid-based navigation functionality for Neru. |
|
adapter/overlay/render/hints
Package hints provides accessibility tree-based hint generation and navigation.
|
Package hints provides accessibility tree-based hint generation and navigation. |
|
adapter/overlay/render/modeindicator
Package modeindicator renders the small on-screen badge naming the active mode.
|
Package modeindicator renders the small on-screen badge naming the active mode. |
|
adapter/overlay/render/overlayutil
Package overlayutil provides shared utilities for overlay management.
|
Package overlayutil provides shared utilities for overlay management. |
|
adapter/overlay/render/overlayutil/native
Package native provides platform-native memory helpers for overlay operations.
|
Package native provides platform-native memory helpers for overlay operations. |
|
adapter/overlay/render/recursivegrid
Package recursivegrid renders the recursive-grid overlay: the nested cells and their key labels that let a selection be refined one level at a time.
|
Package recursivegrid renders the recursive-grid overlay: the nested cells and their key labels that let a selection be refined one level at a time. |
|
adapter/overlay/render/stickyindicator
Package stickyindicator renders the badge showing which modifiers are currently held sticky.
|
Package stickyindicator renders the badge showing which modifiers are currently held sticky. |
|
adapter/overlay/render/virtualpointer
Package virtualpointer renders a cursor-following virtual pointer overlay.
|
Package virtualpointer renders a cursor-following virtual pointer overlay. |
|
adapter/overlay/windows
Package windows draws the overlay with GDI on a layered window.
|
Package windows draws the overlay with GDI on a layered window. |
|
adapter/platform
Package platform selects and constructs the per-OS implementations of the core ports β the only place that decides which adapter a build gets.
|
Package platform selects and constructs the per-OS implementations of the core ports β the only place that decides which adapter a build gets. |
|
adapter/platform/darwin
Package darwin provides macOS-specific platform implementations.
|
Package darwin provides macOS-specific platform implementations. |
|
adapter/platform/linux
Package linux implements ports.SystemPort for the X11, wlroots-Wayland and KDE-Wayland backends, plus the cgo bridge for the native C sources here.
|
Package linux implements ports.SystemPort for the X11, wlroots-Wayland and KDE-Wayland backends, plus the cgo bridge for the native C sources here. |
|
adapter/platform/linux/wlr_protocol
Package wlr_protocol compiles the wayland-scanner generated .c files exactly once; `just generate-all-protocols` regenerates them from protocol/*.xml.
|
Package wlr_protocol compiles the wayland-scanner generated .c files exactly once; `just generate-all-protocols` regenerates them from protocol/*.xml. |
|
adapter/platform/mousestate
Package mousestate tracks which mouse buttons Neru is currently holding down.
|
Package mousestate tracks which mouse buttons Neru is currently holding down. |
|
adapter/platform/windows
Package windows implements ports.SystemPort over pure-Go Win32 bindings, no cgo: monitor enumeration, SendInput, the WH_KEYBOARD_LL hook, RegisterHotKey, GDI layered-window overlays, dark-mode via the registry.
|
Package windows implements ports.SystemPort over pure-Go Win32 bindings, no cgo: monitor enumeration, SendInput, the WH_KEYBOARD_LL hook, RegisterHotKey, GDI layered-window overlays, dark-mode via the registry. |
|
adapter/systray
Package systray implements ports.SystrayPort over the platform tray backends: darwin (NSStatusItem via cgo), linux (D-Bus StatusNotifierItem with dbusmenu), windows (Shell_NotifyIcon).
|
Package systray implements ports.SystrayPort over the platform tray backends: darwin (NSStatusItem via cgo), linux (D-Bus StatusNotifierItem with dbusmenu), windows (Shell_NotifyIcon). |
|
adapter/systray/darwin
Package darwin drives the darwin system tray.
|
Package darwin drives the darwin system tray. |
|
adapter/systray/icon
Package icon holds the tray icon bytes.
|
Package icon holds the tray icon bytes. |
|
adapter/systray/linux
Package linux drives the linux system tray.
|
Package linux drives the linux system tray. |
|
adapter/systray/windows
Package windows drives the windows system tray.
|
Package windows drives the windows system tray. |
|
adapter/textinput
Package textinput implements ports.TextInputPort, the native text field used by hint search.
|
Package textinput implements ports.TextInputPort, the native text field used by hint search. |
|
adapter/vision
Package vision implements ports.VisionPort, OCR-based element detection for hints, backed by the macOS Vision framework.
|
Package vision implements ports.VisionPort, OCR-based element detection for hints, backed by the macOS Vision framework. |
|
app
Package app contains the main application logic for Neru.
|
Package app contains the main application logic for Neru. |
|
app/components
Package components provides feature-specific implementations.
|
Package components provides feature-specific implementations. |
|
app/components/scroll
Package scroll provides Vim-style scrolling functionality for the Neru application.
|
Package scroll provides Vim-style scrolling functionality for the Neru application. |
|
app/components/systray
Package systray defines Neru's tray menu: which entries exist, what they say, and what each does.
|
Package systray defines Neru's tray menu: which entries exist, what they say, and what each does. |
|
app/heldrepeat
Package heldrepeat drives the repeat-while-held loop shared by both hotkey paths.
|
Package heldrepeat drives the repeat-while-held loop shared by both hotkey paths. |
|
app/ipcctrl
Package ipcctrl routes IPC commands to application behavior β the daemon side of the protocol whose transport lives in internal/adapter/ipc.
|
Package ipcctrl routes IPC commands to application behavior β the daemon side of the protocol whose transport lives in internal/adapter/ipc. |
|
app/keybinding
Package keybinding binds keys to action sequences.
|
Package keybinding binds keys to action sequences. |
|
app/modes
Package modes implements the different operational modes for Neru.
|
Package modes implements the different operational modes for Neru. |
|
app/render
Package render is the app-layer rendering facade: it owns the OverlayRenderer that translates mode state into calls on the overlay manager and the shared render styles.
|
Package render is the app-layer rendering facade: it owns the OverlayRenderer that translates mode state into calls on the overlay manager and the shared render styles. |
|
app/sequence
Package sequence runs action sequences: ordered steps that may be an action, a shell command, a mode name, or a macro expanding to another sequence.
|
Package sequence runs action sequences: ordered steps that may be an action, a shell command, a mode name, or a macro expanding to another sequence. |
|
app/services
Package services implements application use cases and orchestration logic.
|
Package services implements application use cases and orchestration logic. |
|
app/services/modeindicator
Package modeindicator provides the mode indicator service.
|
Package modeindicator provides the mode indicator service. |
|
app/services/stickyindicator
Package stickyindicator provides the sticky modifiers indicator service.
|
Package stickyindicator provides the sticky modifiers indicator service. |
|
architecture
Package architecture holds the guardrail tests that keep the codebase's shape honest.
|
Package architecture holds the guardrail tests that keep the codebase's shape honest. |
|
buildinfo
Package buildinfo holds the build-stamped identity of the binary.
|
Package buildinfo holds the build-stamped identity of the binary. |
|
cli
Package cli provides the command-line interface for the Neru application.
|
Package cli provides the command-line interface for the Neru application. |
|
cli/cliutil
Package cliutil provides shared utilities for CLI command implementations.
|
Package cliutil provides shared utilities for CLI command implementations. |
|
config
Package config provides comprehensive configuration management for the Neru application.
|
Package config provides comprehensive configuration management for the Neru application. |
|
config/loader
Package loader owns the runtime half of configuration: locating and decoding the TOML file, merging user hotkeys over the platform defaults, validating the result, hot-reload watching, persistence of overrides, and the reflection-based field access behind `neru config set`.
|
Package loader owns the runtime half of configuration: locating and decoding the TOML file, merging user hotkeys over the platform defaults, validating the result, hot-reload watching, persistence of overrides, and the reflection-based field access behind `neru config set`. |
|
derrors
Package derrors provides domain-specific error types and utilities.
|
Package derrors provides domain-specific error types and utilities. |
|
domain
Package domain defines the core domain models, constants, and shared types for the Neru application.
|
Package domain defines the core domain models, constants, and shared types for the Neru application. |
|
domain/action
Package action defines domain models for user actions.
|
Package action defines domain models for user actions. |
|
domain/element
Package element provides domain models for UI elements.
|
Package element provides domain models for UI elements. |
|
domain/geometry
Package geometry provides coordinate conversion and transformation utilities for Neru.
|
Package geometry provides coordinate conversion and transformation utilities for Neru. |
|
domain/grid
Package grid provides domain models and logic for grid-based navigation.
|
Package grid provides domain models and logic for grid-based navigation. |
|
domain/hint
Package hint provides hint generation algorithms for UI elements.
|
Package hint provides hint generation algorithms for UI elements. |
|
domain/keyvocab
Package keyvocab owns the key and modifier vocabulary shared between the event-tap backends and the mode handler: canonical key and modifier spellings, and the synthetic "__keyup_"/"__modifier_" wire events the taps emit and the modes consume.
|
Package keyvocab owns the key and modifier vocabulary shared between the event-tap backends and the mode handler: canonical key and modifier spellings, and the synthetic "__keyup_"/"__modifier_" wire events the taps emit and the modes consume. |
|
domain/modeflag
Package modeflag is the flag vocabulary the mode commands are written in.
|
Package modeflag is the flag vocabulary the mode commands are written in. |
|
domain/recursivegrid
Package recursivegrid divides the screen into a grid and narrows the active area with every cell the user selects, until the cell is too small to divide or the depth limit is hit.
|
Package recursivegrid divides the screen into a grid and narrows the active area with every cell the user selects, until the cell is too small to divide or the depth limit is hit. |
|
domain/state
Package state provides centralized state management for the Neru application.
|
Package state provides centralized state management for the Neru application. |
|
ports
Package ports defines interfaces for external dependencies.
|
Package ports defines interfaces for external dependencies. |
|
ports/mocks
Package mocks provides mock implementations of port interfaces for testing.
|
Package mocks provides mock implementations of port interfaces for testing. |
Click to show internal directories.
Click to hide internal directories.
