libtmux
awesomewm-vim-tmux-navigator
libtmux | awesomewm-vim-tmux-navigator | |
---|---|---|
6 | 5 | |
962 | 62 | |
0.9% | - | |
9.7 | 7.0 | |
5 days ago | 6 months ago | |
Python | Lua | |
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.
awesomewm-vim-tmux-navigator
-
Do you use a window manager?
I've been excited about making the leap into AwesomeWM with https://github.com/intrntbrn/awesomewm-vim-tmux-navigator as currently w/o I often mistakenly use my vim/tmux bindings when trying to switch windows to say firefox.
-
Navigate panes and windows with the same keys?
It can be done with awesomewm with https://github.com/intrntbrn/awesomewm-vim-tmux-navigator
-
Plugin for traversing from a pane off the edge to another session?
https://github.com/intrntbrn/awesomewm-vim-tmux-navigator does this with the Awesome Window Manager.
-
zoom only one side of the window?
Use a customizable window manager (awesomewm, for example) so you can seamlessly tile and move between operating system windows, and put your work into multiple tmux sessions in separate terminal windows… so have tall+narrow pane in a tmux terminal on left, and the horizontal panes in a separate tmux session & terminal window on the right. https://github.com/intrntbrn/awesomewm-vim-tmux-navigator is made for this.
- navigate in vim and tmux with awesomewm keybinds (update)
What are some alternatives?
flakeheaven - flakeheaven is a python linter built around flake8 to enable inheritable and complex toml configuration.
awesome-dotfiles - Dotfiles for awesome people using the awesomewm linux environment
uwsgi-nginx-flask-docker - Docker image with uWSGI and Nginx for Flask applications in Python running in a single container.
tmuxcator - A script to manage tmux.
erg - A statically typed language compatible with Python
M.I.B._More-Incredible-Bash - M.I.B. - More Incredible Bash - The Army knife for Harman MIB 2.x aka MHI2(Q) units
dg - A programming language for the CPython VM.
Color-Scripts - User contributed color scripts
unihan-etl - Export UNIHAN's database to csv, json or yaml
dotfiles - Custom dotfile configurations and settings
pyxel - A retro game engine for Python
icon_customizer - set custom icons for gui and terminal applications in awesomewm