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.
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-windowcommand, 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-panecommands and shell exits (e.g.,Ctrl+D).
Configuration Options
Users can customize their animation settings with the following options:
| Option | Default | Meaning |
|---|---|---|
animation-enable | on | Toggle to enable or disable all animations. |
animation-window-switch | slide | Define animation style for window switches. |
animation-pane-layout | on | Animate pane splits, resizes, and closings. |
animation-duration | 120 | Duration of window slide animations (in milliseconds). |
animation-pane-duration | 80 | Duration of pane animations (in milliseconds). |
animation-easing | smoothdamp | Choose animation easing function (options: smoothdamp, linear, ease-in-out). |
animation-tau | 40 | Time constant for smooth dampening (in milliseconds). |
animation-frame-interval | 8 | Target frame interval (in milliseconds). |
animation-status-highlight | on | Animate 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.
No comments yet.
Sign in to be the first to comment.