links for 2007-01-30

Any way to make OS X notice a change in screen size?

When you click the little green plus icon on an OS X window frame, the window expands to fill up the available screen real estate. Well, most of the time. It seems to me that OS X often doesn’t notice when the display changes. For example, I may launch a number of apps while using my big monitor at work and then when I go home, I’m using only the smaller PowerBook display. Now if I click the little green plus icon on these apps, they often expand way too much; enough to fill the previous screen dimensions. Quitting the app and relaunching works of course, but I don’t always want to do that, because I may lose some state like undo history, etc. Is there some other way to force OS X to adapt to the new display settings?

It occurs to me that perhaps I should create a Mac OS X annoyances page. The first two items would be this issue and the fact that you can only resize windows from the bottom right corner (which sometimes ends up off-screen). This post has a few of the annoyances that I might’ve listed and also mentions, in the long and interesting comments, some of the software that I’m already using to get around them – e.g.: Quicksilver and MenuCalendarClock.

Vertical split for GNU screen

Now that I have a 24″ widescreen monitor at work, I have a lot of horizontal space at my disposal. One of the nice things about this is that I can split my Emacs window down the middle with C-x 3 and have one pretty nice-size buffer on the left and another on the right. This is nice when working with two files and it’s also a pretty nice setup if I keep a file on one side and a shell buffer on the other. Normally, I don’t use Emacs shell buffers much, because I never really got accustomed to the paradigm and I end up losing some of the nice key bindings and tab completions that I have set up for bash. But with my recent work, which is Firefox extension development, I am frequently restarting the browser from the shell (thanks, Mozilla!) and so it’s kind of nice to have the shell very handy right there in Emacs.

This all got me to thinking that it would be cool to try using GNU screen with a vertical split, except that it quickly became apparent that classic GNU screen only does horizontal splits. Well, until you patch it at least:

Vertical split for GNU screen

I just applied this patch to screen-4.0.3 and built screen on my PowerBook. If you are using screen to connect to an already running screen process, then you’ll need to restart that screen process. Once you fire up the new version of screen and look at the help screen, you’ll see a new command called “vert_split” assigned to V (capital V).

Vertical split patch for GNU screen

Incidentally, for some strange reason, all the GNU mirrors have screen-4.0.2.tar.gz as the latest version, but it seems that there is a screen-4.0.3.tar.gz but I could only find it at ftp://ftp.uni-erlangen.de/pub/utilities/screen/screen-4.0.3.tar.gz

Incidentally #2, what is called a “vertical split” by this GNU screen patch and by me in this blog post (namely, that the line that splits is a vertical line, resulting in two regions side by side) is actually called a “horizontal split” by Emacs (the command which performs the aforementioned split is called split-window-horizontally). While this is not unreasonable, since “horizontal” was presumably meant to refer to the fact that the resulting regions are horizontally adjacent to each to other, it’s confusing and annoying that the terminology differs from program to program. Sigh.