libtmux
Tmuxinator
libtmux | Tmuxinator | |
---|---|---|
6 | 44 | |
968 | 12,455 | |
1.5% | 0.8% | |
9.7 | 7.4 | |
3 days ago | 19 days ago | |
Python | Ruby | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libtmux
-
Using Mypy in Production
I am moving all my open source projects to `mypy --strict`. Here's the diff of adding basic / --strict mypy types:
libvcs: https://github.com/vcs-python/libvcs/pull/362/files, https://github.com/vcs-python/libvcs/pull/390/files
libtmux: https://github.com/tmux-python/libtmux/pull/382/files, https://github.com/tmux-python/libtmux/pull/383/files
unihan-etl: https://github.com/cihai/unihan-etl/pull/255/files, https://github.com/cihai/unihan-etl/pull/257/files
As for return on investment - not sure yet. What I like about it is:
- completions (through annotating)
- typings can be used downstream (since the above are all now typed python libraries)
- maintainability and bug finding. Easy to wire into CI and run locally.
There's a thread on mypy, "--strict is too strict to be useful", https://github.com/python/mypy/issues/7767. I'm not sure if I walked away with that impression. If I have a function that could potentially return `None` (`Optional[str]` or `str | None`) - it makes sense for the user to handle such a case. They could:
assert response is not None
-
This Week in Python
libtmux – Python API / wrapper for tmux
- libtmux: Python API / Wrapper for tmux
-
tmuxp 1.12.0 and libtmux 0.12.0 released - Revamped documentation
libtmux v0.12.0, GitHub, Release notes, Docs
-
zoom only one side of the window?
Script-out the creation of new windows from the current window… so with the desired panes create a new window with the desired layout using the panes from the current/old window (then another script to rebuild the previous window). https://github.com/tmux-python/libtmux could make this scripting easier; I don't think tmuxinator would give you the versatile zooming effect you're looking for.
Tmuxinator
-
Automating the startup of a dev workflow
Well, I now use tmux and tmuxinator. I have had many failed tmux attempts over the years, but I'm firmly bedded in now.
-
Kera Desktop: open-source, cross-platform, web-based desktop environment
I once bought a 32 core ThreadRipper and tried to get along with using a cheap £200 Windows 10 laptop to remote into the threadripper while in coffee shops and use the ThreadRipper to do my work.
The £200 Windows 10 laptop wasn't powerful enough, it was too laggy. Even on Wifi.
I love the idea of the X11 protocol. And I still love the idea of a web desktop. Something that is supremely well integrated and allows me to move workloads between client and server seamlessly. This idea I really like. The ability to outsource computation and storage seamlessly. A process can be moved between machines seamlessly.
This could be modelled in Javascript and promises that can be sent around. Microservices in the desktop environment.
I looked at tools that would bring up tmux sessions with everything preloaded. (https://github.com/tmuxinator/tmuxinator)
ScrapScript has very good ideas in this area of distributing dependencies and storage. (https://scrapscript.org/) There is also val town.
I never use KDE Plasma widgets or the sidebar widgets that Mac provided.
There is so many exciting ideas that could be tried out but I worry they're all too big ideas to be implemented.
- Tmuxinator – manage tmux sessions easily
-
How to save workspaces?
tmuxinator
-
Getting Started with Tmux
I use https://github.com/tmuxinator/tmuxinator for my workspaces. Doesn't save ad-hoc layouts, but usually I find one layout that works per project, then create a tmuxinator config for it, so after reboot, it's a short "tmuxinator start $my-project" away to get back to how I want it to be.
-
Is tmux appropriate for automation in a script?
you might be interested in: https://github.com/tmuxinator/tmuxinator
-
A Quick and Easy Guide to Tmux
I’ve become a huge fan of tmuxinator. Incredible tool for defining templates for tmux.
https://github.com/tmuxinator/tmuxinator
- Decision to Vim - #2. vim repo and vimtutor, hammerspoon
-
zoom only one side of the window?
I doubt that would be possible with tmux's built-in zoom functionality (if it is, I'm not aware). You can use tools such as tmuxinator to create cusotm layouts, but I think "zoom" in tmux means "cover the whole window"
-
Been there, done that
mprocs looks pretty cool. In the past I've used Tmuxinator or Tmuxp configs for stuff like that.
What are some alternatives?
flakeheaven - flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.
tmuxp - 🖥️ Session manager for tmux, build on libtmux.
uwsgi-nginx-flask-docker - Docker image with uWSGI and Nginx for Flask applications in Python running in a single container.
awesome-tmux - A list of awesome resources for tmux
erg - A statically typed language compatible with Python
teamocil - There's no I in Teamocil. At least not where you think. Teamocil is a simple tool used to automatically create windows and panes in tmux with YAML files.
dg - A programming language for the CPython VM.
edex-ui - A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.
unihan-etl - Export UNIHAN's database to csv, json or yaml
Terjira - Terjira is a very interactive and easy to use CLI tool for Jira.
pyxel - A retro game engine for Python
zellij - A terminal workspace with batteries included