Me and windows

No, do not expect me to talk about MS Windows (or at least that it will be the main topic of this document. I will instead talk of windowing environments in an historical (or autobiographical) framework.
This is mainly about FVWM, my early configuration, my recently refurbished new configuration with some related screenshots (some older one are present elsewhere).

Ancient history

First of all I encountered my first window environment back around 1990, 25 years ago, when we got our first, and then unique, Sun workstation (namely a Sun 4/110). It was called Sunview, it was proprietary and ran under the SunOS Unix operating system.
Incidentally, it is also about the time of my first e-mail recorded on the net (should be November 1989 ... google for EXOSAT at IMISIAM)

Note that at such time PCs were rare, there was not yet MS Windows, but MS-DOS (or CP/M). PCs weren't used as work stations (with space between the two words). We did real work on terminals, and mainframes or minis. 3270 terminals with IBM mainframes, or HP terminals with an HP-1000 mini (that was the standard setup at ESO and ESA). Later VT terminals with VAXes, which were becoming popular in astronomical observatories. Terminals were accessed exclusively via the keyboard (while windows went around with mices), besides normal alphanumeric keys there were some kind of functional keys. HP terminals had a special row of programmable keys, IBM 3270 had a keypad with 12 functional keys ... I still use those 12 keys in my preferred THE editor remapping the numeric keypad.
We did image processing on a Ramtek TV set attached to the HP-1000 (that was also standard with ESO IHAP and the ESA Exosat Observatory). Later observatories used ESO MIDAS on VAXes (with Ramteks or Gould DeAnzas).
We did text processing with tools like VS Script on the IBM (other sites used runoff on PDPs, and LaTeX was just starting to be available on VAXes).
Then people started using PCs for text processing, with things like WordPerfect on IBM PCs, or Wordstar on CP/M machines. More or less at this time I got (not the first in my institute) an Apple Mac II with MS Word. Curiously enough this was the only real (and simple) WYSIWYG text processing with nice looking fonts, and ran on Macs ! The other text processing tools were not full WYSIWYG, one could see just the justification of the text and some simple highlighting. Apple printers supported Postscript fonts, while all the other arrangement, even when they used laser printers like tghe earlier HP Laserjet, used typewriter fonts like Courier and Elite, which one had to buy and upload ... Postscript came later and one had to buy and connect hardware attachments !

So the first windowing model on Sun was one where windows were terminal emulators, or image processing or graphics tools. Windows had individual decorations, plotting was done in special graphics windows, or in graphics capable terminal emulators.
We also continued doing graphics on real terminals (HP or VT, even a wonderful Tektronix 4015 with a 4096×4096 display attached to the IBM !).

The windowing model on Mac was rather different, it was essentially a glorified graphical file manager, where one clicked on file icons to start the application attached to the filetype. An approach I never liked much, but which was integrated in a nice and simple way on such early Macs.
Anyhow one of the things I did soon when I got the Mac, was to buy software for terminal emulation and network protocols (IBM3270, VAX with DECnet, generic with CP-IP), or even an X11 emulator. This way I could connect to the other machines, and use the Macs as additional work station (though poorly) and not just as a glorified typewriter.

The workstations (with no space between work and station), i.e. the Unix workstations, multiplied quite soon. We had got our first Sun mainly to run NOAO IRAF, then we got more Suns, and some DECstations with Ultrix (other popular flavours were HP-UX and IBM RISC systems).
We skipped instead the fully proprietary VAXstations and MicroVAXes with VMS and VMS windows.

During this time, ESO MIDAS was ported to Unix under X11, so we had to get acquainted with it. Luckily enough SunOS was supplanted by Solaris, which included a native implementation of X11 called OpenWindows. This first could run in alternative with SunView, and later replaced it. Also the other Unices had native support for X11, Ultrix had DECwindows, and the DEC successor on Alphastations, Tru64 Unix, had OSF Motif.

So we did not have to play with window managers and alike (just for a very brief test stage), but just used the default window manager which came along with the OS-bundled X11, namely olwm under OpenWindows, and mwm on the Alphas.

The change with SunView was marginal, the main thing being that under X11 window decorations are not individual, but handled by the window manager. On the other hand the window managers were not terribly different (and doing only basic useful things), each flavour had its own window-based text editor (textedit on Suns and dxnotepad on DECs), and terminal emulators (but also xterm was available on all and actually recommended for some of our applications). We spent some effort in customizing a standard setup for all users, as similar as possible on the two kind of workstations we had (Suns and DEC's). Only for the HPs we later got from ESO for the VIMOS project (being at the time ESO official choice) we used their standard setup.

One of the things I always liked about X11 (other than its programming API) is the concept of X resources mantained in .Xdefaults and alike files.

More or less at this time the first "desktop environments" came around, and the one common, or anyhow rather similar, to our sytems was CDE. One good thing was the possibility of having more virtual desktops. One bad thing was the fact that to customize the setup one had to use graphical tools ... so it is difficult to remember what one is doing, or to make one change at a time. Also some stuff like the control panel were rather baroque, occupied a fair space on the screen, and were not always nice looking or comfortable.
I cannot remember that well my arrangement on the Alphastations, which were my primary workplace, but I seem to recall that my mwm did not support multiple workspaces, and my exposure to CDE was limited to the VIRMOS HPs.

Move to Linux and fvwm

Around 2004 we abandoned proprietary hardware and "real" Unices, to move to cheaper PCs as workstations, using Linux. Our choice went to SUSE. The default desktop environment for SUSE at the time was KDE. I never liked it, too baroque and heavy, no control on where it stores what, and how to make sure What You Get Is What ou Want.
I tested all window managers available with such early release of SUSE (9.2) and immediately found that
fvwm was what I wanted !

I like/d fvwm (which at the time was possibly not yet feline) because it is configurable via a single, though arbitrarily complex, ASCII file, in which one can enter commands which allow you to obtain and control in a fully reproducible way the desired effects.
So I chose an arrangement resembling the (good) simplicity of Motif, combined with the desired multiple workspaces.

FVWM configurations

The original one

This screen dump corresponds to the original 1280×1024 setup which I used originally on monitors with a native resolution of 1280×1024, the second last of which was a 17" Dell monitor.
The screen dump is displayed here in 64% of your browser window, so it will not be scaled 1:1, clicking on it you should see it alone, and if you retrieve the png file it will have the full resolution (so you should be able to see it at native resolution if you have a screen large enough).
For the curious this is the
.fvwm2rc


The screen dump has however been taken a posteriori on a nested Xephyr window of such size on my current monitor (see further below). However it shall faithfully reproduce the size taken by the various applications, with the original fonts.

One sees from top left ... two xterm's with beige background, my default FvwmPager (with two desktops of 2×2 pages each), one urxvt (with default font as the xterm's) with white background, one xthe editor (with azure background and a custom font), one urxvt with the Alpine e-mail client (the one with black background, which uses a custom font). Window decorations and root menu should have the original fonts.

Because I always had myopia since I was 9 year old, I always wore glasses to correct it. A few years ago I started having also presbyopia, so I need a second pair of glasses to read books and documents, but so far I was able to work at the computer with my standard "faraway" glasses, at the standard distance from the screen.
Recently I started having difficulties to read the screen ... in part is a matter of contrast, the Alpine window with coloured characters on a black background is more legible than the dark-on-light xterm's.
So I provisionally got another Dell 20" monitor with a 4:3 aspect ratio. According to xrandr it had a physical size of 367mm × 275mm and a native resolution of 1600×1200 pixels. I used it in my original preferred resolution of 1280×1024, which gave a marginally acceptable solution. The look was the same of the above screen dump, but it occupied a larger screen. However since the resolution was not native, characters were a bit defocused, and I had to play with brightness and contrast controls.

Getting a larger screen

With the new year (2015) I got a new Samsung 24" monitor (521mm × 293mm), with a native resolution of 1920×1080. It can be forced to emulate the 1280×1024 resolution, but, having a 16:9 aspect ratio, thing were too distorted ... terminals were too wide, but, what is worse, astronomical image displays like ds9 displayed square images as rectangular. So I decided to work at the native 1920×1080 resolution on the wider screen.

The transient 1920×1080 setup looks like this screen dump (it takes 90% of the browser window, so it scales correctly with the previous screen dump)


Namely the fonts (which are the same as in the previous screenshot) are generally too small with too tiny fonts, also the menus and window decorations are hardly legible. There is too much unused space on the screen. The only good thing is that I had to apply no changes to the fvwm configuration of the widgets (clocks and pager) since their position are relative to the corners of the actual size root window !

Overcoming presbyopia

The intermediate 1920×1080 setup looks like this screen dump. Essentially I decided to use larger fonts, also for window decorations I use a different font.
For the curious this is the .fvwm2rc


Changing it over

Since I had to play a little bit with the good old stable fvwm configuration, I thought now was The Right Moment to move to a different configuration, playing with some features I previously considered fancy, like task bar and button box ... so first of all did a thorough read of the man pages in the very nice format provided on the fvwm web site.

The idea was to renounce to the concept of pages as related to different projects or activities, and to desktops as a way to collect families of similar pages. Now I will consider each desktop as I previously considered pages. Potentially I could make each desktop a single page (as I already did on some fvwm configurations on a laptop used for presentations), or use pages just as extra space in the given desktop (specially after I discovered the scrolling feature).

I report here some screenshots (they are reported here half-size of what done above, but if you click you can have access at them full size). The various cases demonstrate different features (I took them from different desktops).
For the curious this is the
.fvwm2rc

 
 

The first (top left) screenshot presents a "working" desktop (labelled B in the low right corner), with the pager and meter subpanels of the control panel (top right) closed. It features a couple of astronomical applications (the image display ds9 and 3 windows of fv), a local terminal behind an editor, a remote terminal (black) almost completely hidden,and an iconized editor
The task bar on top is open and shows the focus window (red) as well as an icon window (blue).

The screenshot below (bottom left) presents the "Mail" desktop (so labelled). Note the different FvwmBacker background. It features the mail client, a terminal, an editor, a fvwm console behind it, the root menu and one submenu, plus two icons for a terminal and an editor.
The control panel shows the procmeter3 panel open. Also my custom network monitor (the fifth item in the control panel) emulates some hosts as being probed (blue) or off (red) ... I just sent via fvwm console the appropriate commands.

The next screenshot (top right) presents the "Web" desktop (so labelled), featuring a browser, a PDF viewer and a word processor, just to show their menu using the same font (satisfactory to view).
The control panel shows both the procmeter3 and the pager panels open. The pager overlaps the meter, and hides most of it, so the most interesting items in the meter were placed at the bottom, in order to be visible.

The last (botttom right) screenshot presents an extreme case of the "Net" desktop. In this case the control panel on the extreme right shows just the pager open, with all 7 desktops used and with colours mapping FvwmBacker colorsets.
The case is extreme because it shows nested displays. The gray-background "Net" desktop with the green xdaliclock is a Xephyr nested X server on display :1. The purple-background "Primary" desktop with the partially hidden red xdaliclock is a VNC viewer connected to display :2, and launched by the session on :1. Both nested X sessions use fvwm as well, with a previous version of the control panel (no procmeter or network indicator). Their .fvwmrc uses only 3 desktop out of 7 (so the unused ones are gray in the pager), with a different background shade, and a different motto :-) Also one has one page per desktop, and the other a 2×2 page arrangement.

About MS Windows (and not only) user interfaces

From the above one can easily guess there are things which I do not like in MS Windows (like the concept an icon is a docked application and not an individual "document", or the fact operations are done via graphics application only where one never remembers the sequence of keystrokes, instead of commands with arguments given on the command line - or editing configuration files), nor in Unix/Linux window managers (and software in general) which try to emulate it ... particularly the behaviour towards the user for what concerns irreversible updates to the user interface, which take place without warning, outside of user's control and with no possibility to revert to the custom interface to which one is accustomed.

One example is truly MS Windows, and is not directly mine. I recently assisted a disabled friend in reconfiguring some stuff on his new PC (which was running Windows ME). The old machine had failed, and somebody gave him a new one with Windows 8.1. Let's forget the tile vs start menu issue. Let's just concentrate on a plain silly thing like inserting a new row in an Excel spreadsheet above the current position. The old interface just required to pull down a menu Insert -> Rows. The new interface has hidden the function in some non-obvious menu, and moreover has made it such that if one accidentally clicks instead of pulling down the new submenu it inserts ... a cell instead of a row, screwing up all relative references in the file, which takes ages to repair. And clicking accidentally is easy even for one which is not motion-impaired.
The solution was to install LibreOffice which has the good old stable interface.

The other example is mine, and a single word is enough: Australis !
I once accidentally clicked OK on the periodic update request of my Firefox 28 (most of the popup window was offscreen, I thought I was clicking Cancel), and I found the Australis interface. I could not stand it for more than 5 minutes before reverting back to version 28. Then, after some time spent comparing alternatives, I decided to junk Firefox and go to Pale Moon !