pointless shenanigans & quasi-poetic musings

fmux

I used to use Byobu heavily as a friendlier interface for tmux – it adds some useful features, but I found it a bit too heavy and complex for my admittedly-simple needs. I moved on to a customised tmux.conf, but found myself missing the status bar widgets. I tried a few tmux addons, but didn’t want one that was going to run comparatively-heavy Python code every time the status bar refreshes. In the proud tradition of stubborn assholes being unsatisfied with current solutions, I wrote my own: fmux - the Function-key enabled terminal MUltipleXer enhancement.

Functionality

  • Toggleable F-key shortcuts for window creation and management
  • Easy shortcuts for splitting panes
  • Extensible statusbar widgets generated using a bash script

Key bindings

Function keys

These keys work without the tmux prefix (Ctrl-B by default).

  • F2: New window
  • F3: Previous window
  • F4: Next window
  • F6: Detach session
  • Ctrl-F6: Kill pane
  • F7: Copy mode
  • F8: Rename window
  • Ctrl-F8: Rename session
  • Shift-F12: Toggle bindings on/off
  • Alt+arrow keys can be used to switch between panes.

With tmux prefix

  • |: Split window horizontally
  • -: Split window vertically
  • Shift-W/A/S/D: Resize current pane
  • r: Reload config from ~/.tmux.conf
  • Alt-Left or Right arrows: Move window left or right, repsectively

In case any of these bindings interfere with other commands, they can be temporarily toggled on or off with Shfit-F12.

Installation

See the repository on GitHub for source code and installation instructions.