Wednesday, July 8, 2009

If You Have To Run Windows

If you have been spoiled by the developer heaven that is a well running Linux machine and you have to run windoze, this is what I’ve found that begins to almost make it bearable.

  • You must first open file explorer (windows-e) and do Tools->Folder Options->View and then check, “Display the contents of system folders,” and uncheck, “Hide extensions for known file types.” Also, View->Details is recommended.
  • Right-click on the question mark down near the bottom-right of your screen, left of the clock and all the icons (in the Taskbar), and chose “Hide the language bar” (or whatever the annoying thing is).
  • Right-click on the Taskbar itself and check “Show Quick Launch” and uncheck “Hide inactive icons”
  • On any command windows (cmd.exe, cygwin, etc.), fix the font. Click on the icon in the upper-left corner of the window and choose “Properties.” Click on the “Font” tab, and choose “Lucida Console.” You can make the window bigger with the “Layout” tab too, if you need.
  • Get a nice desktop background image
  • swap caps and ctrl. Scroll down a bit to find the registry script. And acutally, if you just make caps a ctrl, and leave ctrl as ctrl, other people that sit down at your machine won’t be so confused.

Now, install the following programs (and don’t allow any of them add an icon to your desktop, a Quick Launch icon is OK if you really use it a lot):

  • Firefox
  • txmouse.exe. Gives you X11-like copy-n-paste (even in cmd.exe windows) and focus-follows-mouse.
  • emacs w32. I went with the patched version this time, but I’ve used unpatched in the past haven’t noticed a big difference.
  • gimp
  • pidgin
  • VirtuaWin
  • cygwin. Select lots of goodies like gcc and openssh and whatever else your fingers type without thinking when you are at a command-line.
  • gnuwin32. Sometimes you end up at a command-line other than cygwin’s and your fingers still type things like ls, which, less, grep, and so forth. That’s what these are for.
  • locate32—fast file finder.
  • git for windows—if you need some solid open source revision control.
  • Console2. This is much nicer than the basic cmd.exe. You can resize it! It does transparency! and tabs! The neat trick is that you can make different types of tabs that each run their own shell, such as c:\cygwin\Cygwin.bat, or the git-bash shell. After you have made your tabs, create multiple shortcuts to start console 2, each specifying a different tab to start with using the -t option. You can give them the cygwin and git-bash icons to really polish things up.

And because I have Linux machines that my windoze machines must talk with:

  • winscp
  • putty. Not just for ssh, but for telnet (handy for embedded development), and works as a serial terminal too.
  • xming

For embedded software development:

  • pumpkin—hilarious looking and sounding, but functional, tftp server
  • Terra Term. For when putty doesn’t quite cut it as a serial terminal, and yes, the latest version is from 1998. That worried me also.

8 comments:

Nick said...

If you dare to install cygwin - then install rxvt console and you don't need the winscp/putty - all of this you can do from bash session with ssh/scp.

Nolan said...

I recently tried andlinux. It is an ubuntu install that runs inside of windoze. It uses xming as a windows manager, and gives you a kde start menu in your system tray. Any window you open (like an xterm) looks like a normal window inside of windows. And the best part about it is that you can use apt to manage and install all your favorite ubuntu packages!

piyo said...

Teraterm is still being developed. It's on sourceforge.jp, but you may find the english based forums more useful. Look for version 4.x.
http://logmett.com/

When using cygwin, use cygpath to switch between the path separator styles. (eg /cygdrive/c/windows <-> c:\windows).

Bryan said...

piyo, thanks for the tip on TerraTerm. I'll give the new version a try!

dnquark said...

A crucial piece of my Windows/Cygwin install is mrxvt (http://code.google.com/p/mrxvt/) -- fast, lightweight, highly configurable terminal. Also, I wrote some scripts that allow me to quickly launch Explorer from terminal and vice versa (starting each in the currently viewed directory) (see here -- http://www.dnquark.com/blog/?p=68)

phpMyID said...

A few other essentials:

WinSplit Revolution gives you some of the benefits of a tiling window manager on Windows.

7-Zip lets you deal with tar.?z* files (etc) without going to cygwin.

NX Client helps you get to your non-local unix machines.

Josh said...

hashtwm is a little better than WinSplit, but it's still an irritating substitute for a real tiling wm like Awesome.

Thanks for the post, I'll have to try these out the next time I actually have to use a windows box... hopefully that'll be never.

david.hilton.p said...

Nice post! Here are a few other things that I've found to be useful:

KatMouse (allows scroll messages to be passed to inactive windows)

EasyWindowDrag (resize and move windows with ALT+{left,right}-click)

FARR (run commands with ALT+F2)