Press "Enter" to skip to content

Tag: productivity

A gripe with the default SAS GUI

SAS is a great piece of software. Really, it is. As far as getting statistics done (and done well) it is in a league of its own. However, the user interface leaves a lot to be desired.

The little icon above the green arrow? Run all code (or run selected code).
The little icon above the red arrow? Delete all code and close the active file without saving with no confirmation.

Two small, black, similarly-shaped icons. One I use dozens of times in each session. One which I cannot think of a use for. And they put them right. Next. To. Each. Other.

Admittedly, this UI is not the latest and greatest out of North Carolina. SAS products ship with "Enterprise Guide" - a modern, workflow-oriented IDE for SAS. Enterprise Guide has incredible features and is thoroughly modern... but it is (in my experience) slow and overkill for many things. I just want to write some SAS code, see syntax highlighting, and run my code without worrying that I'll accidentally delete what I've been working on. I learned to use SAS through batch jobs on a UNIX system, so any UI is more friendly than the command line... but there has to be a middle ground somewhere.

Leave a Comment

Microsoft Word trick

It amazes me how many people are amazed when I show them this little trick. Holding the "Alt" key while clicking and dragging allows one to select a rectangular region in word. When using a monospace font (fixed-width fonts like Consolas or Courier New), this can be used to quickly delete columns of text. Best results are achieved using monospace fonts, but this tool has helped me many times in other situations. An example of a rectangular region selected with this technique is below.

Sometimes I will launch Word just to use this tool and go back to editing files in another program. I learned this back in high school in what I thought would be a gimmicky course on Microsoft Office. In that course I learned some pretty useful skills that, while not making me an expert, have served me well. It amazes me how many people have taken courses centered around Microsoft Office and still seem perplexed by it.

1 Comment

Focus Follows Mouse in Windows

While I've used Windows since the DOS era, I've also used Mac OS and Unix-like systems for nearly as long. One of the biggest features from Unix-like systems that I miss in Windows is Focus Follows Mouse (FFM).

Essentially, FFM is this: whichever window the mouse pointer is over is the window that the mouse can interact with, irrespective of whether the window is the active window for the keyboard or not. This is really useful when using two (or more windows), one of which requires scrolling and the other is used for typing. If your system has FFM, then you can type in one window and scroll the other with no need to switch between them. It may seem like a subtle feature (and it is), but it is also a boon for productivity.

Under Windows XP, I had enabled FFM using the TweakUI PowerToy. This same solution is unavailable in Windows 7.

For Windows 7, there seem to be three solutions available: using Windows 7's accessibility options, changing the registry, and a small, open source tool.

Ease of Access Center in the Control Panel

If one goes to the Ease of Access Center in the Control panel and selects "Make the mouse easier to use", there is an option labeled "Activate a window by hovering over it with the mouse." If this option is selected, an FFM-like use is enabled.

Pros: This method requires neither editing the registry nor downloading third-party tools.

Cons: This method is pretty far from true FFM. When the mouse hovers over a window, not only does it become the active window as far as the keyboard is concerned, but it is also brought to the front of all other windows. This is not always desirable, and is not what I want.

Registry Hack

While looking for a solution to enabling FFM on Windows, I came across a blog post detailing the use of a registry hack as a work-around. I won't detail the steps here as they are available through the link, and I think this solution is inferior to the one below. (That page also talks about TweakUI for Windows XP, but I had used that before finding the above blog.)

Pros: Hovering over a window with the mouse makes it the active window (not exactly what we want) but without bringing the window to the front (closer to what we want).

Cons: This still changes the active window with respect to the keyboard in addition to the mouse, so typing in the original window isn't possible while the mouse is in the window we want to scroll. Moreover, editing the registry is somewhat complex and may deter some users from using this approach. Rebooting is also required for the changes to take effect.

X-Mouse Controls

The best solution that I've found is a program called X-Mouse Controls. It is a stand-alone program that allows one to enable hovering the mouse and select a delay (in milliseconds) without having to fiddle with the registry. There is no install necessary, and it gets the job done. Bonus points for the program being open source (GPL version 3).

Pros: Hovering over a window with the mouse makes it the active window (not exactly what we want) but without bringing the window to the front (closer to what we want). The open-source tool is easy to use, and rebooting the system isn't required.

Cons: This still changes the active window with respect to the keyboard in addition to the mouse, so typing in the original window isn't possible while the mouse is in the window we want to scroll. (This is the same con as the Registry Hack.)

 

X-Mouse Controls seems like the best solution thus far, but it is certainly not true Focus Follows Mouse: each of these solutions makes the window the mouse is in active, so the keyboard will type in that window. In Linux, the mouse can scroll a window while the keyboard types in a separate window. The pseudo-FFM solutions here work pretty well with dual monitors, but it bears mentioning that this behavior is sometimes erratic (I've noticed this mostly when using multiple Java windows of different sizes stacked on a single monitor). Fortunately, with X-Mouse Controls enabling/disabling the pseudo-FFM is a breeze.

10 Comments