Solved xterm, tabs, new windows

My opinions only (and recognize I'm probably in the minority):
Tabs, on a terminal window, are like tabs on a browser. A couple/few (no more than 4 for me) I get lost in "what's where".
A terminal window that supports tabbing is useful for related things. For me, same source tree, building for different architectures.
My standard workflow, I have 3 maybe 4 terminals, single windows, no tabs. Hover, mouse over hints tell me one thing; multi tab window, what do you see? The tab that is on top? On bottom? The first tab created?

GUI environments are great, help with efficiency, but can lead to information overload. Some people work better with 10 xterms that are on distinct things vs 1 terminal with 10 tabs. I don't know what works for you.
 
xterm is intended to remain quite spartan on interface features so doesn't have tabs.

Two options that I can think of:
  1. Run tmux or screen inside the terminal for multiple shells.
  2. Take advantage of the flexibility of X11 and the xembed protocol with tools like tabbed.
Tabbed has a port. I just tried it, and I think it looks a lot better than the native urxvt support for tabs. Try urxvt -pe tabbed if you want to try the latter.
 
xterm is intended to remain quite spartan on interface features so doesn't have tabs.

Two options that I can think of:
  1. Run tmux or screen inside the terminal for multiple shells.
  2. Take advantage of the flexibility of X11 and the xembed protocol with tools like tabbed.
I had a look at tabbed and it wasn't immediately obvious what it provided.

Is there a guide to what it gives you?
 
I am using urxvt which has shortcuts for tabs, new windows. Doe xterm has the same, please?
Thank you.
I used LXTerminal, part of LXDE, for quite a while because of tabs. I could never get the hang of Xterm.

Then I discovered, very late unfortunately, the existence of tmux. Now I'm very pleased with this combination of Xterm and tmux.
 
I had a look at tabbed and it wasn't immediately obvious what it provided.

Is there a guide to what it gives you?
The suckless community tend to be quite good with their manpages but I suspect this kind of minimalistic tooling hasn't attracted enough interest for a wide selection of guides.

Generally it should be as simple as:

$ tabbed -c xterm -into
  • the -c is for tabbed to run a specific command when a new tab is created (ctrl-shift-return).
  • the -into is part of xterm to allow you to specify a parent X11 window ID for it to embed itself into.
    • tabbed fills in the window ID at the end of the command, so (-into <wid>)
Back in my OpenCDE days we created an xterm wrapper that did similar to embed it into an empty (motif based) tab container. It wasn't perfect but was quite nifty.
 
But is not better tmux that only runs a shells and not terminal emulators?
For other programs has tabbed more sense.

The problem I have with tmux is all the remote logins. I don't want to open tmux on the local host, I have them on the remote one. But then you have sessions in an xterm group that you cannot switch between with tmux. Unless you use nested tmux, which I avoided so far.
 
The problem I have with tmux is all the remote logins. I don't want to open tmux on the local host, I have them on the remote one. But then you have sessions in an xterm group that you cannot switch between with tmux. Unless you use nested tmux, which I avoided so far.
Yep. I moved off tilix and settled on one uxterm/foot per host. Works well and you get distinct windows, so you have to be more deliberate about closing them.
 
No tabs in xterm. But use screen or tmux. I have the following two key bindings in my .screenrc:-
Code:
bindkey ^[[18~ prev
bindkey ^[[19~ next
With these I have single-keypress forward and backward between screens, F8 to go forward and F7 backward. So start screen, hit ctrl-a,ctrl-c a few times to create some screens, then change between them using F7 and F8. The single key bindings are just a bit faster and more convenient than the standard multi-key bindings for next and prev. Of course you can add a status line at the bottom if you like to show which screen you are currently on. Works better than tabs, IMHO.

And I remembered this nice page of xterm tricks and tips here https://lukas.zapletalovi.com/posts/2013/hidden-gems-of-xterm/
 
The problem I have with tmux is all the remote logins. I don't want to open tmux on the local host, I have them on the remote one. But then you have sessions in an xterm group that you cannot switch between with tmux. Unless you use nested tmux, which I avoided so far.
I usually just have one xterm per screen session. If it's a remote session, start an xterm for it, ssh to the remote host and attach the screen session. Nested multi-screen screen or tmux sessions gets too confusing. Well, I guess you could use something like horizontal or vertical splits to separate remote sessions, but I usually just use separate xterms. Where this gets a bit more important is when you're working on a console only with no X.
 
Hi
I ended up using Urxvt as my terminal; it's really great (for me).

Configuration excerpt:

Perl extensions

URxvt.perl-ext-common: default,url-select,tabbed,font-size

URxvt.keysym.M-u: perl:url-select:select_next
URxvt.url-select.launcher: firefox -new-tab
URxvt.url-select.underline: true

URxvt.keysym.M-c: perl:clipboard:copy

All with the tabbed pkg
 
There is also the [a4] (dynamic terminal manager and multiplexer) project :

And a related project : dvtm - dynamic virtual terminal manager

I haven't yet tested them but they all seem to follow the KISS/suckless kind of thinking.
 
Back
Top