Skip to content

Henktorius/float

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Floating window terminal multiplexer

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages