MCPcopy Index your code
hub / github.com/Henktorius/float

github.com/Henktorius/float @v1.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.1 ↗ · + Follow
75 symbols 134 edges 10 files 18 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Float

Floating window multiplexer for your terminal, written in Rust.

demo


Features

  • Freely positioned, overlapping terminal windows
  • Keyboard-driven window management
  • Mouse support: drag title bars to move, drag edges to resize
  • Configurable colors and key bindings via TOML

Requirements

  • A real terminal emulator (Float uses raw mode and the alternate screen; integrated IDE terminals are not supported yet)
  • Linux (uses Unix PTY APIs and /proc)
  • Rust toolchain

Getting Started

Choose one of the three options

1. Installing via crates.io (recommended)

Float is available as a binary crate on crates.io under the name float-mux (float was already taken, sadly...)

Install it with cargo and run it

cargo install float-mux
float-mux

2. Downloading release from GitHub

You can find the binaries for every version tag in the releases section

3. Building from source

Clone the repository and build with Cargo

git clone https://github.com/henktorius/float
cd float
cargo build --release

The binary will be at target/release/float-mux.

Keyboard shortcuts

Action Default
New window Alt+c
Focus next window Alt+n
Focus previous Alt+p
Focus by number Alt+19
Move window left Alt+h / Alt+←
Move window down Alt+j / Alt+↓
Move window up Alt+k / Alt+↑
Move window right Alt+l / Alt+→
Resize left edge Alt+H / Alt+Shift+←
Resize bottom edge Alt+J / Alt+Shift+↓
Resize top edge Alt+K / Alt+Shift+↑
Resize right edge Alt+L / Alt+Shift+→
Close window Alt+x
Quit Float Alt+q

Mouse

  • Move: drag the title bar of any window
  • Resize: drag the left, right, bottom, or bottom-corner edges
  • Focus: click on any window

Configuration

Float reads ~/.config/float/config.toml. Check out the config.example.toml file in the repository.

Core symbols most depended-on inside this repo

bring_to_front
called by 11
src/wm.rs
move_focused
called by 8
src/wm.rs
resize_focused
called by 8
src/wm.rs
content_w
called by 6
src/window.rs
content_h
called by 6
src/window.rs
resize
called by 5
src/pty.rs
to_crossterm
called by 3
src/config.rs
screen
called by 3
src/pty.rs

Shape

Method 47
Function 18
Class 9
Enum 1

Languages

Rust100%

Modules by API surface

src/wm.rs21 symbols
src/window.rs17 symbols
src/pty.rs10 symbols
src/escape.rs9 symbols
src/config.rs9 symbols
src/cell.rs3 symbols
src/main.rs2 symbols
src/frame.rs2 symbols
src/input.rs1 symbols
src/compositor.rs1 symbols

For agents

$ claude mcp add float \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact