Life in Text Mode
aperiodic.net
aperiodic.net
I only use three graphical apps: Firefox, pidgin (grudgingly), and the Qt interface for VirtualBox. The rest are text apps and custom shell scripts for accomplishing tasks in tandem with those apps (such a "find | random | mpg123" for shuffling music directories).
I highly recommend "evilwm" for managing such a setup. Its single-pixel window borders with no window decorations is desktop minimalism as its finest. It's also got the lightest memory footprint of all the minimal WMs out there. Windows can be moved, re-sized, and snapped to locations with keystrokes. For fine-tuned placement of regularly-used apps, a simple shell script can be crafted to launch them with the precise geometry you require (or ALT+MOUSE_LEFT to lift the window). I have hot-keys defined (using "xbindkeys") that will populate virtual desktops to exact specifications.
My only gripe with this setup is the competition for key chords amongst emacs, screen, and evilwm itself. That, and every once in a while, some web page will throw a Firefox window that I simply cannot close without the "x" screen decoration (at least not without closing Firefox itself -- grrr...).
You can do meta-Esc to close those Firefox windows.
> finch's sudo-graphical ncurses interface is a little awkward.
It tries to replicate all of the windows that the GUI interface creates, but in a text environment where you can only view one window at a time. It's almost like someone didn't want to figure out a way to redesign the interface to work better in a text environment (and maybe just take some cues from the text-based irc clients out there).[ This may be somewhat inaccurate, I've had little experience with it, but this was my impression. It left a bad taste in my mouth.]
On a related note, I recently switched from Pidgin to Finch, and it boosted my productivity at work. I'm a bit OCD, and every time my Pidgin window would blink, I would feel compelled to read the new message immediately. The end result was that I was allowing myself to get interrupted a lot, all day, every day.
Now that I've switched to PuTTY/ssh+screen+Finch (the original goal was privacy-at-work, the boost in productivity was just icing on the cake!), I find that I only check for new instant messages on MY schedule; e.g., when I'm doing a big compile, or need a break anyway.
I would highly recommend it to anyone looking for a productivity boost.
The only reason I use IM at all is for a long-standing client who insists on using it for 99% of real-time communications.
I've been on the 'net since 1990, and I've never even used IRC (I know, I know -- I should hand in my geek card...). I've always been a store-and-forward kind of person, and have always preferred email and (in its heyday) USENET.
I've tried awesome, wmii, dwm and a couple other tiling window managers and XMonad is by far my favorite.
Bit of a learning curve if you aren't into Haskell already, but it's very sensible and intuitive syntax that you can easily grasp from the many examples in the XMonad config archive.
Highly recommended. Active community, easy to extend. Lot's of reference configs. Changed my entire computing life...
It's tiles, all the way down.
For tiling window managers, I find Ratpoison to be the best, but I also like Dwm.
I ended up writing my own (overengineered) program, but I'd be interested in knowing what you use.
VBoxManage startvm "Your Machine Name"
I actually use stumpwm now, which seems to fit all the things you like about evilwm. (Plus you can connect to the Common Lisp instance running it and poke around in the environment any way you want.)
* Each tmux 'server' (the equivalent of a screen 'session') can exchange windows with another server.
* Better support for vertical splitting.
* BSD License (this is important to some)
* Better support for panes and splits. Besides vertical splits (which you can get in screen if you're willing to patch), with tmux you can for instance quickly join two existing windows together with a split, break a pane out of a split and into its own window, or arrange panes into a predefined layout.
* You also have the ability to name windows, reorder them, swap them, and generally move them around with tmux.
* With tmux, activity notifications are persistent and per-window. While screen can monitor windows for activity -- I always monitor one window that runs mutt, and another that runs irssi -- screen notifies you by flashing the caption once, briefly or until a keystroke, and doesn't mark the active window until the caption gets redrawn. This doesn't work so well if you're typing away in your editor window. ;) I got really tired of missing notifications, especially chats. Not an issue anymore with tmux, which immediately marks the active window.
* Session sharing works without having to setuid the tmux binary.
* Copy mode is mostly the same, but tmux maintains a stack of paste buffers, and keeps a viewable history of everything you've copied. One thing screen has though that tmux still doesn't (afaik) is the ability to copy rectangular blocks of text, not just complete lines.
* The scripting / programmatic interface for tmux is much nicer.
I like vifm (vi-like file manager), although i can't say i fire it up too often.
microemacs (jasspa's) has a nice inbuilt file manager (F10).
Midnight Commander is great!
I use it for file management on my wife's iMac (I'm usually ssh'd in, while she uses the console). I also use it to keep her small business web site updated (it supports ftp, which is what my wife's web host uses).
Ouch!
By all means, please switch to a protocol of the 21th century!
Midnight commander supports secure protocols like SCP or SFTP as well.
Also, there's sshfs which allows you to handle the remote directory like a local one without any special features of mc (or KDE or Gnome). However, I don't know whether sshfs is available on the Mac.
Anyway, there's hardly any reason to use FTP, unless your hosting provider doesn't care a lot about security.
I use links (i/o lynx). And vim.
ion really was a great and influential window manager, but now, it'd probably be better to pick XMonad, awesome, or i3.
vimperator has been a lifesaver for me, but I'm switching to luakit because it doesn't seem to allow flash to steal the keyboard focus.
If you can get around in Linux, I would test drive the software on Linux to make sure it is as useful to you as you imagine it to be before doing the work of figuring out how to install it on OSX.
I will add that the difficulty of installing relatively unpopular Linux packages on OSX is one of the biggest disadvantages of OSX for me. (The unavailability of laptops in which everything Just Works is of the biggest disadvantages of Linux for me.).
I've tentatively given up on relying on software that requires X while I am using OSX: I plan to keep on test-driving such software (on Linux), and if I decide I have got to have access to it, I will switch back to Linux.
[1] https://github.com/mason-larobina/luakit/blob/develop/config...
elinks (http://elinks.or.cz/) is far more featureful than links, w3m or lynx, to the point where it even supports CSS and a little JS.
libcaca (http://caca.zoy.org/) comes with an image-viewing tool, "cacaview", which is handy when somebody sends you a picture and you don't have a graphical framebuffer handy.
That said, I've never used maildrop, being quite smitten with procmail myself. But since the size of maildrop's source distribution is ten times that of procmail, I'll stick with the latter out of principle.
Though I come from the design world, I realized how much speed and power advantage there is in the command line, and spent the time – over several years – learning how to use it. The speed advantage is so apparent in comparison to GUIs, and now Web Apps, but I guess that's the geek appeal;)
- emacs-jabber: the best IM client in the world and you can use various "jabber2any" gateways to stay in touch with your "legacy" contacts. emacs-jabber allowed me to get off using pidgin grudgingly :)
- ratpoison for managing shell windows under X (and I've heard stumpwm is great, for all you lisp lovers :))
- conkeror (or vimperator) for keyboard-driven web browsing: not character mode, but surely helps a lot when most of your software is.
- urxvt (rxvt-unicode).
- gnus for mailer: probably. I've heard it's even better than mutt, but I don't use email often enough to warrant the switch yet.
> and I've heard stumpwm is great, for all you lisp lovers :)
IIRC, the creator of ratpoison is also the creator of stumpwm (though I could be mis-informed). > gnus for mailer: probably. I've heard it's even better than
> mutt, but I don't use email often enough to warrant the
> switch yet.
A couple of years back I tried to get Gnus working, but I ran into: (i) confusing documentation, (ii) not much help through blogs/Google, and (iii) Gnus users on IRC telling me "not to bother" trying to learn Gnus because there were better solutions out there. I've also heard complaints on a number of occasions that Gnus is a dog when trying to load up large mailboxes (and that mutt is better at this).and for all vim users out there, I would highly recommend http://code.google.com/p/vimwiki/ which is a portable wiki right inside vim.
If anyone is interested, the October issue of Linux Journal has a pretty good roundup of command-line tools. It should be online soon (first of December?)
I can understand using only the keyboard, because it's faster and easier to automate and whatnot, but giving up on a normal browser just to be "in text mode"? Why not Firefox + Vimperator, for example?
My setup on Linux is pretty similar, and I use w3m a fair bit, especially for reading documentation--it's fast, and for text-heavy sites suits me better than a graphical browser.
That said, doing without a 'normal' browser entirely seems a bit masochistic/text-obsessive to me too.
Sometimes you just want to browse through something that is text, online documentation for example. In a tiling window manager, your browser might be in a window that is, say, only a quarter of the screen's real estate, so you definitely don't want the browser to be filled with cruft like scroll bars or menus. Since the viewport is so small, you want all of it to be "content" and none of it to be "browser". So a text browser makes a lot of sense.
I do this all the time, usually with elinks. Mind you, I still have chrome open in a different group (or tab).
I did 30 gnome-terminals, and then 30 xterms, and then 30 urxvts
I start out at 150 mb of ram, and then with 30 gnome-terminals I go up to 250. With 30 xterms, I end up at 230. With 30 urxvts, I ended up at around 210
I used htop to measure memory.
I've always wondered how much lighter the lighter terminals are, they aren't enough to make me switch, but there you go, there's definitely a difference, since I'm usually at least running 1 graphical we browser(like chrome) that always dominates my memory usage
I'm pretty sure that "pdksh" is the smallest (or very close), but I think it's static, so in the context of opening up 30 instances of that shell at once, one of the others (most of which are dynamically linked) might beat it.