A UX Expert Fixes My Tmux
Вставка
- Опубліковано 18 тра 2024
- If you're like me and you tweak every little bit of your setup, or just leave things the way they are, Tmux can be either too much or too little. In this video I'm going through a few concepts to help make Tmux useful yet productive and not over loaded.
LINKS
▶ github.com/catppuccin/catppuccin
▶ github.com/tmux/tmux/wiki
▶ github.com/omerxx/dotfiles
MY FAVOURITE GEAR
* If you enjoy my content, using the links below will help me with a small commission, so thank you!
⌨️ My keyboard is the wonderful HHKB: amzn.to/3HwJG60
🔗 The HHKB is wired with a high quality coiled cable: amzn.to/3DCA87d
⌨️ Backup keyboard (for traveling mainly) - Nuphy Air60: amzn.to/3R3M7jz
🖥️ My ultra wide 49" monitor: amzn.to/3JbVThC
🎙️ Microphone - Shure MV7X: amzn.to/3kA7tZZ
🦾 Boom Arm - amzn.to/3ZmQgln
🎤 Audio Interface (for XLR microphones) - Focusrite Scarlett Solo: amzn.to/3Z3fBkQ
🦾 Heavy Duty Monitor Arm: amzn.to/3kKp7tS
🖱️ Mouse - MX Master 3: amzn.to/3DiZmaj
📷 Camera - ZVE10: amzn.to/3I1jfVS
🎥 Lens - Sigma 1.4 16mm: amzn.to/3BfFN15
CONSIDER SUPPORTING THIS CHANNEL
☕ Buy me a coffee: www.buymeacoffee.com/omerxx
🎷 60 day free Epidemic Music!: share.epidemicsound.com/w6zfxo
MY KEY LINKS
📰 Join my newsletter! newsletter.omerxx.com
🍿 Subscribe: www.youtube.com/@devopstoolbo...
🌍 My website: omerxx.com
🗞️ Dev & Ops tools Telegram channel: t.me/espressops
🎙️ DevOps Topeaks Podcast: topeaks.buzzsprout.com
⏱ Timestamps
00:00 - Intro
01:02 - Layout
02:29 - Colors
03:20 - Symbols
03:54 - Controls
04:31 - Relevancy
#productivity #tmux #UX #neovim #terminal #system #program #dev #devops #software #sysadmin #sysops #linux #terminal #console #cli #keyboard #commandline - Наука та технологія
Sign up to my newsletter! newsletter.omerxx.com
you should do tmux configuration vidoe from 0. It can help everyone and it gives a lot of views
Great idea! Noted :)
Thanks for sharing these great UX improvements!
Thanks for the shoutout! Lots of more features coming to the session manager.
I also recommend putting fzf and telescope at eye level to have more consistent UX and improve ergonomics.
Well deserved mate! Great feature! Will follow your next additions 🫶
Amazing video applied these principles to my config. Crazy how switching how switching your layout and colors can make a big difference.
🤩
Thanks for the dotfiles
Very nice!
It still staggers me how many folks type “clear” to clear a terminal pane. Try using ctrl-l instead, saves so much typing.
True! I have “cl” mapped which is the same amount of keystrokes but for so reason my brain would pick and choose when to use it 😅
@@devopstoolboxit's not the same amount of keystrokes, you have to type cl instead of l
Yeah, and some type "exit" instead of Ctrl-D too
I just started using terminal multiplexers and this is wonderful! I use Zellij myself and I was wondering if it's possible to make a video like this for it. Great stuff man! :)
Amazing! Thanks for sharing.
Thanks for the video!
So much progress in your videos bro, I'm proud. Keep it up
Thank you!
I've been using tmux without a bar for years.
The terminal looks like a normal terminal but you also have all the features of tmux.
I’m actually doing that from time to time for focus (set status off) but when I need to run multiple panes and windows this is kind of impossible without excessive use of the window menu which I’m not a fan of 🤷
I recently got the same obsession you have with catpuccin, but with Rosé Pine, thanks to the Primeagen 😅
Wherever it is available I’m setting it up.
Found a great one for tmux that will probably look nice on the top, never occurred to me that setting tmux bar on top would be an improvement on the ergonomics, but makes sense and would look more pleasing I think, testing it today.
Then rose pine is on my list! I’ll test it out 🙏🏽
hey my guy, I really love your stuff and the explanation. I think you continued to work on your tmux config I needed to go back to commit f4ff57c to see how you did the status left etc. From my part I prefer simpler tmux configs. I understand and respect the usage off package managers, but following the your train of thought would have been amazing. For instance a video how you start from a empty tmux config and get to the point where anybody can go on their own with a basic package manager would be cool. In any case you brought up some great points. I admire your skill and ideas.
Hey! Thanks I appreciate the feedback and sorry for the progression in the dotfiles you’re right.
I actually have a pretty recent video going from scratch to my current setting which is also inline with the current dotfiles state: Tmux From Scratch To BEAST MODE
ua-cam.com/video/GH3kpsbbERo/v-deo.html
Love that hair touch!
I’m mostly a dev with a little ops required on occasion. I’m having a hard time justifying the need to learn/set up tmux for my use case. Seems to me a good tiling window manager and all the vim goodness should suffice. A video explaining when tmux makes a good addition to someone’s workflow would be extremely helpful.
Noted!
I have two things to say -
1. I think every developer can highly benefit from having a welcoming terminal that's easy to manoeuvre, even if it's not proper Ops work!
2. Give Zellij a try! It's self explanatory and more friendly. I have a few videos dedicated to that you may want to check them out
@@devopstoolboxFor me, at least, tmux (or any other wrapper) is the opposite of welcoming, as it prevents simple interactions like scrolling and selecting from working how I expect them to, and adds a bunch of extra (sometimes conflicting) shortcuts that I have to keep in mind.
Kitty supports tabs, and with tiling, that is more than enough for me. It has the added benefit of mouse interactions working as they should, since they are native to the GUI instead of managed by a TUI app.
Unless I am in ssh, there is no need for extra indirection
@@gt3293 I get it, don’t get me wrong. For me, the lack of mouse support is more of a feature that taught me to stay on my kb. That said, I can agree that tmux isn’t welcoming to beginners. This is where Zellij shines, and definitely Kitty and the other multiplexing supporting terminals. The one problem with this approach for me, is that I can’t experience and enjoy other terminals and stay in my comfortable environment. So in that aspect, tmux keeps me at home
I resisted tmux as well since I felt like i3 + vim served the same purpose but the one feature that finally got me to use it was tmux-resurrect. Being able to set up my ideal layout for different projects and pop back into them almost instantly feels amazing. It's possible you could do this i3 or other tiling window managers but I'm not sure how and tmux setup is kind of a breeze as long as you don't care too much about ricing and I do not.
@@sully-kg tmux-resurrect is probably the best justification for me to use tmux. However, I can’t really think of a time when it would have made much of a difference in my workflow given how I work and the types of projects I work on. On the other hand, I’m fully open to the possibility I may be missing something and need to consider alternate ways of working to be more efficient. It’s one of the reasons I like @devopstoolbox videos. Watching someone else work can spotlight areas for improvement in my own setup and workflow.
Nice ! have to add coffee break notifications :D
Do able 😉
I use it everyday honestly I love using tmux + vim together. I can do something like `docker ps -a` to get all of my running containers use tmux vim keybindings to select the entire wall of text, paste that into VIM, remove the lines I don't want then edit all lines at once with docker rm or docker rmi (whatever really, I also use it as a impromptu bash history) then i can do something like %!sh to run each line as a separeate command. I think it's really beneficial for complex command scripting say you have a post request, and you have your json file open you can use tmux to make a new pane in your current window, edit your json and your CURL request. All without ever changing your view!!!!
Power user right there!!
Since you're trying to declutter information, do you have any reason to put date and time inside tmux? Since I assume it is provided by the OS top/bottom bar.
Is it because you use the full screen mode which the top bar is hidden?
Hey! Exactly! But not only in full screen. My Mac OS bar is always hidden by default to save screen real estate. I can’t tell you how the clock in tmux is critical to me. That’s basically service as my computer clock. Plus it’s minimal and sits at the corner that I never checkout unless I need the time. If I want to go full focus mode I just “set status off” altogether
I really want to get in to Terminal multiplexers , and i think it will be good to start with zellij, but it is soo cluttered and opinionated...
I would love a similar video for zellij!
Thanks you so much!
Thank you!
This should get you started I think -
ua-cam.com/video/BjfMWqy1hnw/v-deo.html
And then this one is how I improved it - ua-cam.com/video/Cd8P4hBC8i8/v-deo.html
Probably not AS customizeable as Tmux (part of its charm) but it should take you a long way. Share what you think!
ohhhhh I REALLY like the thumbnail in this video. (and the video is great too!)
Thanks buddy! It took a while 😅
Hey, what's the addon/technology you use to have everything not nested in your current scope colored gray? I noticed it around 5:45. I would LOVE to have that as my current codebase has pretty poor encapsulation.
Sure!
folke/twilight.nvim
Have fun 🤩
What font are you using?
I watched this video, and now my eyes are very soothed.
😆
my fellow catppuccin enjoyer!!! 🔥🔥
😉
Thanks for inspiration. Did I get right what you mentioned in video? Some elements shoudl have muted colours so after the whole day your brain isn't exhausted by everything being shiny into your face? It definitely seems something I could change and would like if true. :D
That’s right! We tend to pick the shiniest new color scheme or the most poppy layout where in tools that we use constantly this can really build fatigue over time. Design should be elegant and pleasing while functional and minimalistic if you really care about not overloading your eyes and brain. It’s basic UX apparently but something I never thought of when it came to tmux or my IDE.
@@devopstoolbox thanks. I will definitely think about it.
I am having a lot of issues installing the icalBuddy that you are using for your meetings notification in tmux, do you have any tips on installing it on a newer MacBook Air M2?
I’d actually recommend against using it, it’s bad as you’ve noticed but that’s the best thing I found to do the job without too much hassle.
I’ve been running it on m1 didn’t try on my new m3 yet but I’ll give it a go. Worse case I think you can build from the source but the better way would be to integrate with something else like google API or the local Mac calendar
@@devopstoolbox okie then I will figure something out
Alright. I am going to try tmux bar on the top. You convinced me to at least try it.
I was skeptical to begin with. But it really feels more natural now
Great video!
🙏🏽
Would be super helpful to update your dotfiles repo to follow along
I keep failing at that. Pushed conf and cal.sh please tell me if you're missing anything else. Sorry bud I hope this helps
thank you!
Is it safe to assume from this video that you are sticking with Tmux for the time being instead of going all in on Zellij?
Caught me there 😅
I’ve been juggling the two for a while. Mainly because I want to see Zellij progress into what I think it can be. But if I’m dead honest, Tmux’s flexibility is second to none. At least for now 😉
@@devopstoolboxHave you considered Kitty?
@@rondYT yep. Tried it in the past, doesn’t come close to tmux IMO plus is locks me to one terminal
I had a slightly unpleasant experience with zellij sadly. Turns out it stores sockets for re-attaching to sessions in XDG_RUNTIME_DIR which it seems must be deleted according to the freedesktop standard, so when I fully log out I can't re-attach to my zellij sessions, for example when using my PC in headless mode over ssh. I talked about this to the dev and in the end he said he's not going to argue with me about standards, that it's probably my system's fault and that he won't fix it because nobody else reported having that issue. For now I'll be sticking with Tmux
@@ikcikor3670 interesting workflow. Any chance the new resurrect feature helps with that ?
I see the config changed considerably and the github version is diferent to the video version. is there a copy of the video version?
I since moved to cattpuccin but the principles are the same. If you still want the specific old config it’s buried in the history probably around the same time frame the video is released.
Wow thanks for sharing
🫡
I've settled with using tmux only when learned about tmux-sessionizer (Primagen). Now I simply can't work differenly.
Btw, why tmux and not Zellij?
I've tried zellij didn't liked it - too much control/keybindings (does anyone need it?), also zellij didn't have session switching before...
I made a few Zellij videos and definitely keeping an eye on it!
More interesting why tmux and not screen...
@@JamesSmith-ix5jd nah you’re not serious 🧐 are you 😅?
Can you share your starship config at 1:22? Looks nice
Sure thing: github.com/omerxx/dotfiles/blob/master/starship/starship.toml
thanks!@@devopstoolbox
How can i add some custom styling to tmux if the current active window is zoomed (there is a zoomed pane) ?
Hmmm what do you mean by that?
@@devopstoolbox by default, when the active window has 2 panes and Prefix Z is pressed on pane is zoomed, the active pane then has a z on it
I'd like to have an icon there
So basically this runs through the #F which is the flags symbol. You can remove it completely or change the style but by using the parameters.
"From tmux 2.0 onward, you can use the #{?window_zoomed_flag,ZOOMTEXT,NON-ZOOM TEXT} replacement conditional in your window-status-current-format string."@@hamzahaddani6240
@@devopstoolboxThanks! It works like a charm
i had configured my local tmux a lot but i went back to stock because it made it hard to switch between all the remote machines and my local one
If you're using a lot of remote machines with terminal session control I agree. Most of my usage is local and sessions I open are only against temporary instnaces.
@@devopstoolbox it probably helps that when im running locally i can just fire up a new terminal window with better control cause I use a tiling wm (sway). I would definitely use a custom tmux config if i was not using a tiling wm
You make fancy so much. I use default with some custom
It's a matter of taste at the end of the day YMMV 😉
Great video ! That was a good idea to ask a UX professional. I just discoverd that I didn't suscribe. So I did
🫶
In your tmux config default-terminal looks like a typo, should probably be screen-256color, instead of screen-254color
the good stuff
What terminal emulator are you using in this video? Went after your dotfiles but there are configs for a lot of different terminals there hahahaah
Great video, by the way, +1
Thanks mate! Been using Wezterm for pretty much everything the last couple of months (day to day work and videos alike)
באיזה תוכנה אתה משתמש כדי שזה יציג לך את הקבצים בצורה יפה ומסודרת? (היה קשה להבין מהסרטון)
Hi! This? github.com/ogham/exa
Typo in the titles at 3:20
Oh man... Thanks!
why did your UX buddy didn’t ask you for what reason you have day/date/time in your header?
It did come up! Tmux is my only time/date on my screen. In fact, when I’m out of the terminal I have no immediate way of knowing the time and date. That’s why it’s there. My Mac bars are auto hidden but it’s a legit question and it was discussed 😃
Man, your content is top notch, but I really feel bad for your wrists after seeing them suffer through the whole video. All while you try to relief your eyes, your wrist should clearly feel jealous. I suggest a split keyboard, you will not regret
It’s like you have a camera in my office.. just way for the next vid 😉😅
just a little fact: dogs are dichromats, they see 2 colours instead of 3 like humans
similarly to people with protanopia
I sort of knew that but it didn’t work well with the message I wanted to convey 😅
There is uncanny resemblance of this video to Devaslife videos feel. Not that it's bad just surprised.
When starting out here I took a lot of inspiration from his videos! I think I’m far from his skills and setting but I’m taking this as a complement:)
The content however is almost entirely different other than using vim and the terminal so I don’t see myself competing him, not that I ever could 😅
@@devopstoolbox I was definitely complimenting on the vibe of your videos. I wish you good luck and lots of success brother. Keep up the Great work.
@@alihussainabid1996 🫶🙏🏽
To be honest, it seems like you're returning to the starting point, with fewer plugins and less extra configuration. I used to be the person with over 100 plugins and extensive customization. However, I realized how cluttered my development environment had become. Now, I've switched to the default tmux settings and no longer use nvimtree, lualine, or any buffer plugins. Surprisingly, my development environment has become much more productive.
It's very personal. Since this video I've done something similar, I have an updated version ("tmux from scratch...")
next is to take that script and integrate it into giving you the ability to send message to the meeting that you will be late or absent due to being busy with something XXX
😂
0:20 here is Max
😂
a UX expert should fix golang.
LOL tru dat brother! I think it's called Rust? 😆
HI man, just letting you know that your dotfile page is down !
Hey! Incase the DNS doesn't resolve it's on github - github.com/omerxx/dotfiles.
Checking the issue though. THanks!
Catppuccin is very bad at Midnight Commander default theme
def stole this setup. made some changes after i figured out how unicode works
btop > htop
7.74GB of SWAP 😳
😳
I use the default tmux for years. There is nothing to fix, it's fine
Kudos for keeping the green layout and ctrl b as prefix. You’re a trooper!
@@devopstoolboxyeah, and no RGB colors, 0-based indexing and non-intuitive split hotkeys too. I actually use it on remote hosts sometimes, it's okay, but far from good UX
i3WM best ux
Hard core linux users would agree :)
@@devopstoolbox i3 is not hardcore. Hardcore is wmutils with scaffolding in any programming language you choose, or maybe your own wm written from scratch.
puppies dont only see in blacck and white, your science is from ali express ?
Mainly, yes. Are there better resources?
tmux is useless in tailing windows manager
What do you mean by that?
@@devopstoolbox
When I use a WM (like i3 or dwm) to do anything, I go to an empty tag, whether to open a browser, paint, etc. Also, when dealing with terminal tasks, reading or writing files, or launching apps, I have a habit of choosing an empty WM tab. I then run commands in a normal terminal. Why should I open tmux, then run a command, and for another task in another tab, connect to tmux? Searching for sessions requires using keybindings that are different from the WM, and it's uncomfortable for me.
To be honest, I use both since I can't send commands between windows in my tiling window manager (i3). With tmux, I can combine vim with other tools (send code to an interactive interpreter, open a specific file from lf, etc.).
But I am interested if you have another alternative
@@fabricehategekimana5350
When I use ctags or LSP, I often open files using shortcuts like d or with :term grep -rn pattern and then gF. I don't send commands through terminals; when I compile PDFs, they rebuild automatically, websites update automatically, and for Flutter, I just need to send a simple signal from Vim. For alternative solutions, Wezterm integrates easily with Vim/Neovim, either natively or through a cool plugin.
Tmux does far more than just tiling, but thanks for sharing your uninformed opinion so confidently
That's all a waste of time at the end. You spend too much time on UX and less on actual work. Just do our job, do not play with customisation which may whisper that it helps you, but no, it doesn't. The more you customize the more you have to customise what you have customised, it never stops
I tend to be less absolute :) some people are more productive when their UX is on point, others can work everywhere. You do you. It’s a beautiful world because we’re all different 😉
Please have you UX expert help us fix zellij. I limit my use of tmuc because I am unwilling to deal with a 3rd way todo scrolling and copy/paste.
WDYM third way? You can use your mouse if you really want but I find the tmux scrolling actually nice to habdle