Overview of bluetuith
masterblueman.repository·master·Indexed 23 days ago
https://github.com/bluetuith-org/bluetuithbluetuith is a TUI-based Bluetooth connection manager that serves as a terminal-based alternative to GUI managers like blueman. It provides features for adapter management, device interaction, file transfers, and integrated media control with mouse support. The tool includes a CLI for listing adapters and generating configuration files, and supports platform-specific library and daemon path overrides for non-Linux systems.
blueman.bluetuith provides a comprehensive TUI for managing Bluetooth operations, including:
bluetooth-classic repository documentation.The appBinder (internal to the Application lifecycle) provides methods to control how the TUI renders updates. While these are primarily used by the internal view system, they define the drawing contract:
InstantDraw(drawFunc func()): Queues a drawing function and triggers an immediate update.QueueDraw(drawFunc func()): Queues a drawing function and signals that a refresh is needed, but does not force an immediate draw.Refresh(): Forces a screen refresh via the underlying Draw() method.bluetuith application is executed via the main package, which delegates execution to the cmd.Run() function. If the application encounters an error during execution, it will exit with status code 1.NewApplication() to create an instance and Start() to begin the lifecycle. The Start method requires a bluetooth.Session, an appfeatures.FeatureSet, and a config.Config. It initializes the views, sets up input/mouse capture, and starts the TUI event loop using tview.bluetuith CLI provides several flags to configure the application's behavior. Many of these can also be set using environment variables.--list-adapters (or -l) flag to list all available Bluetooth adapters on your system without starting the full application UI.--generate (or -g) flag to generate a new configuration file based on the current CLI flags and environment. This is useful for creating a baseline configuration that you can later customize.Authorizer() method returns the bluetooth.SessionAuthorizer associated with the current application views. This is used to handle authorization requests within the TUI.