All Projects β†’ tweekmonster β†’ Tmux2html

tweekmonster / Tmux2html

Licence: mit
🐈 Render full tmux windows or individual panes as HTML

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tmux2html

Lookyloo
Lookyloo is a web interface that allows users to capture a website page and then display a tree of domains that call each other.
Stars: ✭ 381 (-38.94%)
Mutual labels:  capture
Httpdump
Capture and parse http traffics
Stars: ✭ 476 (-23.72%)
Mutual labels:  capture
Httpflow
A command line utility helps to capture and dump HTTP stream
Stars: ✭ 574 (-8.01%)
Mutual labels:  capture
1click Webpage Screenshot
Entire page Screenshot extension for Google Chrome. I'm developing open source extension for Google Chrome. All extension are free for use. Let's make Chrome great again!
Stars: ✭ 406 (-34.94%)
Mutual labels:  capture
Nohboard
A Keyboard Visualizer
Stars: ✭ 441 (-29.33%)
Mutual labels:  capture
Dotfiles
πŸ’Ύ Ian's dotfiles, utils, and Zsh/Vim/tmux configs
Stars: ✭ 554 (-11.22%)
Mutual labels:  tmux
Clight
A C daemon that turns your webcam into a light sensor. It will adjust screen backlight based on ambient brightness.
Stars: ✭ 371 (-40.54%)
Mutual labels:  capture
Dotfiles
Dotfiles for unix, managed by GNU stow.
Stars: ✭ 617 (-1.12%)
Mutual labels:  tmux
Tmux Complete.vim
Vim plugin for insert mode completion of words in adjacent tmux panes
Stars: ✭ 447 (-28.37%)
Mutual labels:  tmux
Nord Tmux
An arctic, north-bluish clean and elegant tmux color theme.
Stars: ✭ 567 (-9.13%)
Mutual labels:  tmux
Terminus
πŸ–₯ Enhanced terminal integration for Vim
Stars: ✭ 417 (-33.17%)
Mutual labels:  tmux
Webscrapbook
A browser extension that captures web pages to local device or backend server for future retrieval, organization, annotation, and edit. This project inherits from ScrapBook X.
Stars: ✭ 424 (-32.05%)
Mutual labels:  capture
Tmux Fingers
copy pasting in terminal with vimium/vimperator like hints.
Stars: ✭ 556 (-10.9%)
Mutual labels:  tmux
Multiimagepicker
A library to pick multi images in Android
Stars: ✭ 391 (-37.34%)
Mutual labels:  capture
Hashcatch
Capture handshakes of nearby WiFi networks automatically
Stars: ✭ 591 (-5.29%)
Mutual labels:  capture
Bridgy
cloud inventory + ssh + tmux + sshfs
Stars: ✭ 374 (-40.06%)
Mutual labels:  tmux
Cameraengine
πŸ’πŸ“· Camera engine for iOS, written in Swift, above AVFoundation. πŸ’
Stars: ✭ 554 (-11.22%)
Mutual labels:  capture
Jarvis
Dotfiles for a powerful, web development-focused environment powered by Neovim, iTerm2, tmux, and zsh
Stars: ✭ 617 (-1.12%)
Mutual labels:  tmux
Libtmux
βš™οΈ python api for tmux
Stars: ✭ 599 (-4.01%)
Mutual labels:  tmux
Nzedb
nZEDb - a fork of nnplus(2011) | NNTP / Usenet / Newsgroup indexer.
Stars: ✭ 556 (-10.9%)
Mutual labels:  tmux

tmux2html

tmux2html captures full tmux windows or individual panes then parses their contents into HTML in living color. The output can either be still snapshots, or animated sequences.

With a web server that uses gzip compression, the size over the network is negligible for reasonably sized windows or panes.

Examples

Some of these may be large in dimensions. You'll need to zoom out if you want to see all panes at once. These are not raster graphics!

If you decide to look at the telnet animations yourself and don't know how to exit, use Ctrl-] then type quit. For the Star Wars animation, press Ctrl-]<enter> to get the prompt.

Rationale

This was a weekend project I made for fun and I have no particular use for it beyond annoying my friends about how bad they should feel for not using tmux. I also thought it would be neat to have a render of my sessions that didn't result in an image using some crummy font on a headless server.

I suppose you can use cron to capture screens and display it on your website, or use it to create terminal snippets for your blog. You could also load a pane render in elinks within your coworker's session. The only limit is your imagination, my friend. ✨

What people think of tmux2html

tmux2html δΎΏεˆ©γγ†γ€‚

β€” @nakamuray

aaaaoooooo

β€” @l4utert

9:39:46 PM Jef Myers: what the fuck is tmux?

β€” Jef Myers

Requirements

  • tmux 1.8
  • Python 2.7 or 3.4 (could be wrong since it's not tested in lower versions)

Installation

pip install tmux2html

Usage

tmux2html 4 -o window_5_in_current_session.html
tmux2html .0 -o first_pane_in_current_window.html
tmux2html other:1.2 -o second_window_third_pane_in_other_session.html

Command Line Options

  • target (positional) - Target window or pane. Uses tmux's target syntax, but always 0-indexed. (e.g. sess:1.2 - Session - sess, Window 2, Pane 3. Default target is window.)
  • -o, --output - Output file. Prints to stdout if omitted.
  • -m, --mode - Output file permissions. Default - 644
  • --light - Light background.
  • --interval - Number of seconds between captures.
  • --duration - Number of seconds to capture. 0 for indefinite recording, -1 to disable.
  • --stream - Continuously renders until stopped and adds a script to auto refresh based on --interval. See the notes below for more info.
  • --fg - Foreground color. Can be a color index or R,G,B
  • --bg - Background color. Can be a color index or R,G,B
  • --full - Renders the full history of a single pane
  • --history - Specifies the maximum number of pane history lines to include (implies --full)

Limitations

  • The cursor is not displayed.
  • Basic colors will not match your terminal's configured colors.
  • Animations aren't perfect with a lot of splits and fast resizing.
  • Animations won't capture scrolling the pane's history (selection mode). Scrolling in the pane's history is now recorded in animations.
  • In animations, a pane is updated with the full pane's content. Only the changed lines are updated on a per-pane basis.
  • Zoomed panes will ruin all the fun.
  • Your imagination 🌠

Notes

  • Still captures are plain HTML and CSS.
  • Animations use Javascript.
  • To keep the size reasonable with animations, pako is used to inflate the gzipped frame contents. Combined with decompression of frame content, the animations will use a fair amount of CPU. So, you shouldn't run animations indefinitely on your low performance or battery operated fun machines.
  • --stream doesn't actually "stream", per se. It keeps writing to the same file and adds a script that reloads the contents. This can be used to have a live feed of a window or pane. However, it's not elegant. If you set the interval to too low, your might unintentionally DDoS your own web server. Caveat Emptor.
  • The font stack includes Powerline and Nerd fonts because I'm pedantic and want to see those fancy glyphs. It falls back to monospace if you don't have any of those fonts installed. The caveat: if you have more than one of those fonts installed, the first one in the font stack might not be your favorite and you'll be forced to set your monitor on fire and buy a new one.

To Do

  • If there's practical use for animations in the future, only lines that are different should be updated to keep the size low.
  • Tell people to follow me on Twitter (@cloudsiphon) if they would like to stay up to date on tmux2html, but don't be pushy about it.

Similar Projects

  • gotty - Share your terminal as a web application
  • asciinema - Terminal session recorder

License

  • tmux2html: MIT
  • pako: MIT
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].