PitchHut logo
Add smooth animations to your tmux experience.
Pitch

tmux-animated enhances traditional tmux by introducing seamless animations for window switches, pane splits, and more. This innovative add-on transforms the user interface into a smoother experience, making terminal management visually appealing and intuitive, while maintaining compatibility with existing tmux installations.

Description

tmux-animated is an innovative enhancement of the widely-used terminal multiplexer, tmux, introducing captivating animations for a more fluid user experience. This patch provides smooth transitions during key operations such as window switching, pane splitting, resizing, and closing, elevating the standard tmux functionality.

Key Features

What It Animates

  • Window Switching: Transition between windows with a seamless slide effect for pane contents, including a dynamic highlight for the currently active tab. The in-flight retargeting feature allows users to mash the next-window command, causing a continuous rebase of the slide instead of queuing the commands.
  • Pane Resize: Enjoy a smooth movement of borders as they transition from their old to new positions.
  • Pane Split: Witness a new pane grow from zero size to its final dimensions, offering a visually appealing opening animation.
  • Pane Close: Experience a shrinking effect on the closing pane towards its center, while neighboring panes expand into the newly available space. This works for both kill-pane commands and shell exits (e.g., Ctrl+D).

Configuration Options

Users can customize their animation settings with the following options:

OptionDefaultMeaning
animation-enableonToggle to enable or disable all animations.
animation-window-switchslideDefine animation style for window switches.
animation-pane-layoutonAnimate pane splits, resizes, and closings.
animation-duration120Duration of window slide animations (in milliseconds).
animation-pane-duration80Duration of pane animations (in milliseconds).
animation-easingsmoothdampChoose animation easing function (options: smoothdamp, linear, ease-in-out).
animation-tau40Time constant for smooth dampening (in milliseconds).
animation-frame-interval8Target frame interval (in milliseconds).
animation-status-highlightonAnimate the highlight of the active window tab.

Example Configuration

Here’s a sample configuration for ~/.tmux.conf:

set -g animation-duration 150
set -g animation-pane-duration 150
set -g animation-easing smoothdamp

Tmux users can apply a conditional statement to manage configurations between tmux and tmux-animated effectively.

Important Notes

  • The cost of per-frame rendering increases with the number of painted cells. Although this increase is generally minimal at common terminal sizes, performance considerations may be necessary on slower connections or larger terminals.
  • The Homebrew installation does not replace existing tmux binaries but installs tmux-animated as a separate command.
  • Notably, animations do not trigger for control-mode clients or control sockets and are only active on terminals with a real TTY.

Discover a more animated and visually engaging way to manage terminal sessions with tmux-animated, enhancing both productivity and aesthetics.

0 comments

No comments yet.

Sign in to be the first to comment.