News for hackers. Stuff that matters.
Re:Tilix: A tiling terminal emulator by zipperhead on Thursday August 10, 2017 @01:34PM (#14982055)
I've been a long-time user of terminator on linux. I started playing around with tilix a couple of months ago, and really liked it.

Interestingly though, what I finally realized is there is a huge amount of value in ditching both and switching over to tmux. Tmux does everything that tilix does but is completely independent of the underlying terminal. What I finally realized is that tmux is not just about persistent sessions - the screen/pane management along with completely keyboard-based navigation and history/copy/paste commands just blows the tiling terminals away.

Re:Tilix: A tiling terminal emulator by zokier on Thursday August 10, 2017 @02:22PM (#14982584)
Highlights one of the big issues in (Linux) desktop: nested inconsistent ad-hoc window management. Consider that in somewhat typical situation you would have your WM/compositor at top managing windows, then something like tilix managing its own panes/tabs, then tmux/screen also managing windows, and finally maybe vim/emacs which also does its own window management. That is four completely independent layers of window management, each of which does mostly the same basic thing.

It is interesting to imagine alternative universe where we instead would have advanced enough OS level window management that would allow deeper integration to underlying applications. E.g. something like OS level tree style tab -like window-management might be neat, especially if combined with powerful tiling management.

Re:Tilix: A tiling terminal emulator by saulrh on Thursday August 10, 2017 @03:09PM (#14983042)
Counterpoint: different tools and tasks have different requirements for interaction. Each tool provides an interface specialized to its workflow, and the hierarchical nature of the system allows me to split even inside the same tool for different workflows.

My primary window-organization tools are: i3 virtual desktops, web-browser, emacs, and tmux. i3 virtual desktops are named by task/workflow: I have one desktop for project management, one for emacs, one for terminals for one project, one for terminals for another project, one for work-related communication, and one for personal communication. Emacs does its thing and makes great use of it, but its spectacular profusion of buffers and its insane customization never pollutes the rest of my WM because it's contained within emacs. The browser desktops group related tabs, but they go one further and let me put tabs side-by-side without multiple windows of project management polluting my global window list. And so on and so forth.

Allowing each tool to specialize information management for its particular use case gives me much better performance overall. It's definitely specialized and idiosyncractic; I would not want to make everyone deal with it. But for me, doing this 8+ hours a day: every time I'm forced to work without that hierarchy and that specialization, I can tell you that the effort is worth it.

Re:Tilix: A tiling terminal emulator by imiric on Thursday August 10, 2017 @03:25PM (#14983196)
The beauty in Linux is also the freedom to simplify your workflow as much as you want, and not use the tools you don't need.

I've decided to only use a tiling WM for all window/pane management, and stop using anything else, as much as possible.

So I abandoned Gnome3->Terminator->tmux in favor of bspwm->urxvt. I don't lose the functionality that I had before (tiling terminals), and I'm using much lighter-weight tools and less of them. I love it.

Oh, and as for editor tiling... Yeah, I still have to tile buffers in Vim/Emacs, but only because I prefer the editing workflow in that case (all my context / session / environment remains the same). I suppose I could have lightweight clients, but I haven't really looked into it.

Re:Tilix: A tiling terminal emulator by vthriller on Thursday August 10, 2017 @05:50PM (#14984658)
Re: editors, sometimes you simply cannot get away with multiple windows in place of panes, unless someone decides to do insane amount of work just to make editor integrate-able(?) with screen/tmux/whatever WM you happen to use; vimdiff would be a great example, as it is basically impossible to use it without panes.
Re:Tilix: A tiling terminal emulator by nextos on Thursday August 10, 2017 @08:24PM (#14985633)
There's nothing that prevents you from running say XMonad and Emacs (every buffer as a new window), Firefox (every tab as a new window), urxvt (without tabs) thus delegating all window management to XMonad.

I did try this for urxvt and it was quite efficient. No idea whether it will run well with hundreds of e.g. emacs buffers.

At least, with GridSelect [1] the selection mechanism scales well to hundreds of items.

[1] https://hackage.haskell.org/package/xmonad-contrib-0.13/docs...

Re:Tilix: A tiling terminal emulator by vidarh on Thursday August 10, 2017 @07:36PM (#14985371)
As others have mentioned, a tiling wm solves a lot of this. I still use tabs in Chrome, but mostly because it fits my use better when I occasionally want to open other windows next to a bunch of tabs for example (I'll freely admit that getting used to how quickly arranging i3wm tiles hierarchically is hard).

It doesn't solve frames in Emacs, or tmux/screen per se, but for tmux at least iTerm2 on OS X shows that doing a terminal emulator that integrates with it certainly is possible. For my part, my screen usage is very strictly "full screen" (or full terminal, I guess) so it flows relatively smoothly.

Sometimes it is annoying - splitting emacs frame and resizing it the same way as my tiles would be nice. Other times it is nice to be able to treat them on two separate levels. I'm not sure doing entirely away with the two level nature of that would be ideal.

Re:Tilix: A tiling terminal emulator by gcoda on Friday August 11, 2017 @08:05AM (#14988752)
Herbsluft wm is less flexible than i3wm but I use it because of it. You can tile frames and frame can have multiple windows, with only few modes. No frames inside frames like in i3wm, I tried using qutebrowser without decorations and tabs. Each web page is separate window.

Only issue I am having is sorting of opened web pages. If you using only few web pages per virtual desktop it can be useful. With tabs in chrome you can move whole chrome to another tile or desktop. But if you have 20 qutebrowser windows it takes to long.

Re:Tilix: A tiling terminal emulator by jlarocco on Thursday August 10, 2017 @07:21PM (#14985279)
How is that different than using a tiling window manager and opening new windows for every browser tab, terminal or editor buffer?

I personally like the current situation because I can group related work.

Re:Tilix: A tiling terminal emulator by leshow on Thursday August 10, 2017 @07:20PM (#14985271)
You can use one for most of these functions if you switch to a tiling wm. i3 is popular and has very good defaults I find, I don't really need tmux when I can arrange terminal windows however I like with it.

Most tiling WM's are essentially 'tree style tabs' but for all windows. You organize tiles and children of a tree, in i3 you can also set tiles to stack so you get a tab-like appearance to a tree.

Re:Tilix: A tiling terminal emulator by isaacaggrey on Thursday August 10, 2017 @07:22PM (#14985284)
> Highlights one of the big issues in (Linux) desktop

Huh? How is this any different in other operating systems?

Re:Tilix: A tiling terminal emulator by kps on Thursday August 10, 2017 @02:54PM (#14982901)
Too bad the Unix philosophy lost out to the Not Unix philosophy.
Re:Tilix: A tiling terminal emulator by ptrincr on Thursday August 10, 2017 @04:34PM (#14983940)
Thanks for this, just gave tmux a try. Seems fantastic. Tried Version 2.0.

Here are the bindings I went for so that it feels more like screen ( what I am used to ), plus being able to use vi like commands for copy + paste:

  vim ~/.tmux.conf


  setw -g mode-keys vi
  unbind [
  bind Escape copy-mode
  unbind p
  bind p paste-buffer
  bind-key -t vi-copy 'v' begin-selection
  bind-key -t vi-copy 'y' copy-selection
  unbind C-b
  set -g prefix C-a
  bind C-a send-prefix
Split screen vertically

  ctrl+a %
Split screen horizontally

  ctrl+a "
Copy and paste works like...

  ctrl+a escape  - copy mode
  v              - enter visual mode to highlight
  y              - capture text
  ctrl+a p       - paste into terminal
Seems you can use ctrl+a (release) and arrow keys to flip between panes.

Plus ctrl+a left/right to adjust pane size.

Re:Tilix: A tiling terminal emulator by zipperhead on Thursday August 10, 2017 @06:45PM (#14985068)
Yes, getting the key mappings to your liking is key. There are lots of resources available. One good place to start is the online book The Tao of tmux https://leanpub.com/the-tao-of-tmux/read.

Using copy mode to navigate the scroll buffer is also a useful feature - you can really cut down the use of a mouse in the terminal.

Re:Tilix: A tiling terminal emulator by thomasjames on Thursday August 10, 2017 @02:24PM (#14982622)
I've been using Tilix since it's copyright-infringing "Terminix" days as a replacement for Gnome terminal and really like it. While I do most things with it's keyboard shortcuts I sometimes like just mousing between panes and scrolling through history if I'm more reading than actively typing. Per session I use screen for session permanence and it works for me.
Re:Tilix: A tiling terminal emulator by saysjonathan on Thursday August 10, 2017 @01:59PM (#14982340)
I came to the same conclusion. I wound up making a small tmux lib for dwm-style pane management: https://github.com/saysjonathan/dwm.tmux
Re:Tilix: A tiling terminal emulator by bsharitt on Thursday August 10, 2017 @02:49PM (#14982861)
I'm sort of in the same boat. I've tried Terminator and tiling window managers and finally realized that tmux is what I wanted all along(on tiling window managers it turns out I really only want to tile terminals).
Re:Tilix: A tiling terminal emulator by foobarian on Thursday August 10, 2017 @08:50PM (#14985770)
I've been using screen forever but recently I came across the 'eternal bash history' setup and now I don't dread rebooting or restarting the screen daemon any more. I have my shell history dating back 2 years pegged to screen session ID. Next I guess is some way to distribute it across more than one server.
Re:Tilix: A tiling terminal emulator by vowelless on Thursday August 10, 2017 @05:21PM (#14984419)
Tmux with modality is something I use alot.

https://github.com/mtl/tmux-modality

I need to iron my workflow out a little bit though as all the modes (especially when you have vim within tmux modality ) can be a little confusing.

Re:Tilix: A tiling terminal emulator by pkaye on Thursday August 10, 2017 @06:45PM (#14985067)
how do you get cut and paste working with tmux? it seems to intermingle text among the different panes.
Re:Tilix: A tiling terminal emulator by karlding on Saturday August 12, 2017 @05:05AM (#14997154)
A quick and dirty way of doing it, assuming the currently active pane is the one you want to copy text from:

1. Enable pane zoom (<prefix> z)

2. Enter copy mode (<prefix> [)

3. Select and copy text

You can also look into the tmux-yank [0] plugin, which copies to the native system clipboard.

[0] https://github.com/tmux-plugins/tmux-yank

Re:Tilix: A tiling terminal emulator by ronjouch on Friday August 11, 2017 @10:17AM (#14989862)
As other macOS commenter mentioned, total pita, yeah. Under Linux you need this line of command+xsel voodoo: https://wiki.archlinux.org/index.php/Tmux#X_clipboard_integr...
Re:Tilix: A tiling terminal emulator by anonyte on Thursday August 10, 2017 @08:41PM (#14985726)
I've tried vi mode copypasting and the copycat plug-in but finally settled for just shift selecting and ctrl+shift+C/V my way through everything.

Edit: for vertical panes ctrl+shift selection works on gnome-terminal at least.

Re:Tilix: A tiling terminal emulator by keymone on Friday August 11, 2017 @01:41AM (#14986852)
Yeah, it's a pita. I'm sure there must be a plugin that allows thus to work with OS copy buffer but for now I just zoom on a window when I need it and pipe into pbcopy (macOS) for larger things.
Re:Tilix: A tiling terminal emulator by GrinningFool on Thursday August 10, 2017 @06:12PM (#14984813)
Wait'll you get into the extensive API it offers for scripting and various other uses.
Re:Tilix: A tiling terminal emulator by rogerbinns on Thursday August 10, 2017 @03:45PM (#14983404)
I wish someone did a terminal emulator that integrates deeply with tmux. eg forward all pane/window management, scrollback etc to tmux while making it appear as native gui features of the terminal emulator itself.
Re:Tilix: A tiling terminal emulator by edoloughlin on Thursday August 10, 2017 @03:50PM (#14983461)
https://www.iterm2.com/ Mac only, unfortunately.
Re:Tilix: A tiling terminal emulator by rogerbinns on Thursday August 10, 2017 @04:05PM (#14983609)
I'm not on Mac, unfortunately. I couldn't find anything on the web site showing how the integration happens or works. Presumably it is completely transparent.
Re:Tilix: A tiling terminal emulator by joshstrange on Thursday August 10, 2017 @04:52PM (#14984123)
I'm a newbie to tmux but I use it with iTerm and I love it. I use my macbook for work but my dev code/servers are on a linux desktop. When I get into work I ssh to my linux box and type "tmux -CC attach" and my tabs all re-open like normal iTerm tabs and my subdivided terminal windows all restore to right where I left them. It's great for leaving all my watches/running code/tailing logs all open and in panes. It used to take me a couple of minutes to re-setup everything when I got into work but now I just run 1 command and I'm back to where I left off.
Re:Tilix: A tiling terminal emulator by jamesgeck0 on Thursday August 10, 2017 @04:27PM (#14983850)
It's transparent, but doesn't seem to map 100%. Last time I used it a lot of stuff in my tmux config didn't work, like keyboard shortcuts.
Re:Tilix: A tiling terminal emulator by godd2 on Thursday August 10, 2017 @07:32PM (#14985351)
There is a branch of Terminator which supports tmux integration.
Re:Tilix: A tiling terminal emulator by capitalsigma on Thursday August 10, 2017 @11:05PM (#14986295)
Link? Google doesn't turn up too much except an old bug report. I switch haphazardly between terminator (sitting at my desk) and tmux (sshing in); I'd love to unify it.
Re:Tilix: A tiling terminal emulator by godd2 on Friday August 11, 2017 @12:34PM (#14991563)
Here's the branch for it:

https://code.launchpad.net/~andfagiani/terminator/tmux

And here's the discussion of it:

https://bugs.launchpad.net/terminator/+bug/1301605

You can see in comment 18 how to use it.

Re:Tilix: A tiling terminal emulator by doogle88 on Thursday August 10, 2017 @01:54PM (#14982294)
Exactly. I gave up on tiling window managers after I learnt to use tmux. I was really only using tiling for my terminals anyway. I had to rebind some tmux keys though to make it more i3 like.
Re:Tilix: A tiling terminal emulator by placeybordeaux on Thursday August 10, 2017 @01:56PM (#14982314)
I'm largely in the same boat, but I use nvim instead. I already learned how to manage panes and tabs in vim so once the terminal mode came out I went ahead and gave a try switching.
Re:Tilix: A tiling terminal emulator by zipperhead on Thursday August 10, 2017 @06:37PM (#14985011)
I actually went a little bit down the nvim route as well, since it has nice built-in shell support.

What I think you're missing with just nvim is the tmux scripting capabilities and of course the session management.

It's pretty easy to script up a tailored set of tmux sessions/windows/panes. I do this on initial login. Other solutions like tmuxinator/tmux-resurrect exist to automate this setup, if you don't want to script it.

Re:Tilix: A tiling terminal emulator by jshevek on Thursday August 10, 2017 @02:10PM (#14982454)
As a fan of tmux and xmonad, I was hopeful that tilix might combine the best of both worlds into one tool.

After reading your comment, I get the impression that this is not the case.

Re:Tilix: A tiling terminal emulator by antman on Thursday August 10, 2017 @03:15PM (#14983093)
I use tmux but not always because i can not preload my systems' env. That seems to be a design decision and thus it cannot replace my terminal.