There are many reasons one might want to see output from shell commands in another terminal emulator but it definitely has its uses. The other day it just so happended that I needed such a functionality. Without going into details I’m going to show you how to achieve such behaviour – and more – easily, by leveraging the fact that under the hood std(in|out|err) are just *nix file descriptors.
Recently I got a bit fed up with my XMonad configuration and decided to add some of the missing bits. After all I made the switch with productivity in mind so it would be silly to endure even the slightest tradeoffs. If you don’t know what XMonad is – it’s an extremely customizable tiling window manager – the default configuration is, however, pretty crude, so it doesn’t really make sense to switch if you’re not going to tweak it, even if just slightly.
To the point – one of the things I was missing was the ability to open a new terminal emulator window in the same working directory as the one I had focused. I felt that existing solutions such as the WorkspaceDir extension were lacking and not exactly what I was looking for. And so I had to write one myself. Since I figured I couldn’t be the only one in need I decided I’d share my snippet.