Show HN: Dwm.tmux – a dwm-inspired window manager for tmux
Posted by saysjonathan 4 days ago
Hey, HN! With all recent agentic workflows being primarily terminal- and tmux-based, I wanted to share a little project I created about decade ago.
I've continued to use this as my primary terminal "window manager" and wanted to share in case others might find it useful.
I would love to hear about other's terminal-based workflows and any other tools you may use with similar functionality.
Comments
Comment by zeech 9 hours ago
Comment by qudat 8 hours ago
Works pretty well if you don’t need a window manager in your terminal
Comment by kloud 3 hours ago
For my agent management scripts I use zellij since it is more ergonomic than tmux. Abduco sounded good in principle, but implementation is too limited. However, zellij is quite huge in the order of tens of thousands LOC and I am using only small part of it. It looks like zmx might implement just the right amount of features for this use case, I am going to try it. It is always nice to achieve same functionality with leaner tools.
Do you also think about dvtm part alternative? I wonder if once libghostty proper gets finished it would open possibility to level up textual multiplexing and unlock some cool features with graphical UIs.
Comment by 0xcb0 9 hours ago
I was just wondering what is the additional value over just using, tmux and pre-stored pane configurations. From the screenshot in the GitHub repository, I don't see any additional value for me. Will this allow, like, floating panes?
I'm just using tmux with some custom key configurations and with what tmux offers out of the box I'm pretty happy.
Comment by saysjonathan 5 hours ago
This is really just a personal project that I wanted to share in case others might like to try it.
I will add that, especially at the time of creation, I was heavily in the 'unix is my IDE' camp. A terminal window manager was a logical next step to that notion. As someone called out below, I even used `ed` as my main editor for a while (which was as bad as it sounds).
Comment by ghshephard 3 hours ago
I'm wondering what the difference is between this and just tmux basic environment - which already has a lot of pane / window management. What's the key distinction between using tmux and dwm.tmux?
<5 minutes later> - Ah - this is just tmux with some custom config. The window manager is tmux - I would suggest changing the title a bit - maybe something like, "DWM.TMUX - dwm inspired tmux configs. "
<Further review - note the "10 years ago" timestamp - ahh.. This has been gestating for a while>
Comment by saysjonathan 3 hours ago
If you already have a robust tmux workflow with a desired layout (or lack of layout) and custom keyboard shortcuts then this may not work for you. It's just one way to manage panes/windows in tmux that I hadn't seen before and different from the usual ad hoc methods.
Like most window managers, I think it's all preference. What're your current preferences for pane layout, window management, etc? Do you always create/layout panes in the same way or is it situationally dependent?
Comment by saysjonathan 2 hours ago
Comment by ghshephard 3 hours ago
Love Floating Panes in Tmux - and best part - all the other plugins - resurrect, continuum, etc..) all support floating panes out of the box.
Comment by saysjonathan 2 hours ago
Comment by qmacro 9 hours ago
Comment by saysjonathan 5 hours ago
Do I regret using `ed` as my primary editor? No.
Do I still use `ed` as my primary editor? Absolutely not.
Comment by kalterdev 7 hours ago
Comment by zhouzhao 7 hours ago
Comment by zhouzhao 7 hours ago
Well, checking out the code, it seems to be tmux functions. Well, some of them are quite intriguing! I never bothered to figure out how to spawn a new pane in the same dir. Consider that fuction stolen ;)
I would have advertised it diffetently though. Something like "DWM inspired tmux config".
As other have mentioned, I don't sse why I should use "dwm.tmux" over just the tmux defaults, or my own home grown (stolen) config.
Non the less, quite interesting code!
Comment by saysjonathan 5 hours ago
Commit with the switch to shell here: https://github.com/saysjonathan/dwm.tmux/commit/c8752b978390...
I think there's a lot of potential to scripting terminal multiplexers in various ways and I would love to see more work exploring what's possible!