The main keys you need to know are:

  • ⌘+space = change screen layout type
  • ⌘+shift + space = change screen layout type, cycling backwards
  • ⌘+j = go to the next window on this desktop (focus on, as if you had hovered your mouse over it … but without needing to reach over to the mouse)
  • ⌘+k = go to the previous window on this desktop
  • ⌘+J = swap this window and the next one
  • ⌘+K = swap this window and the previous one
  • ⌘+h = → the center partition   squashing the right pane(s)
  • ⌘+l = ← the center partition   expanding the right pane(s)
  • ⌘+← = desktop to the left
  • ⌘+→ = desktop to the right
  • ⌘+9 = desktop number nine

Notice that h,j,k,l are the right-handed home row keys on a QWERTY|AZERTY.

a screenshot of awesome window manager
another scrot of awm in lubuntu
scrot awesome ubuntu
Three screenshots showing the results of doing ⌘+J three times in desktop 8. (And yes, I do know what a basis vector is. I had just seen a new application of it in homology chains of simplicial complexes and wanted to back-check myself.)

If you can’t understand those instructions, they are explained in the final section.

It’s called awesome window manager. What is a window manager?

There are many layers to an operating system. Think about how long your computer takes to boot up. It is booting up programs at a very low level, through a medium level, to “high level” (something like Firefox) when you finally run your OS.

The various layers are more visible when you run Linux than running Windows or Mac OS X. Particularly with “advanced” (read: non-Ubuntu) distros, which is where I first learnt the difference between

  • "thing that draws the windows that my graphical program spits its output to" (metacity, openbox, icewm, ratpoison, dwm, stumpwm, awesomewm)
  • "thing that makes the panel at the top of the screen" (fbpanel, gnome-panel)
  • "thing that provides a low level interface for the programmers who make graphical elements in their programs" (gtk, tcl/tk, Cocoa on the mac, SDK’s for phone or iPad, ncurses in a console-only program)
  • the X window system — like if you SSH into ssh or ssh or if you are in the virtual terminal then you would lack this functionality, you would be in “Headless” mode as if you had no monitor. Which might sound like a stupid thing to do, but
    • the ENIAC had no monitor (it had a printout)
    • a VCR has no monitor (it outs to a VGA cable)
    • Mac Mini’s have no monitor
    • what if your output was something like starting a car, or the robots that put on your pants?

      A GUI output is something you need if your goal is to type various things into an R REPL and then generate a report which will influence the corporate strategy based on the computational knowledge. But if your goal is to automatically adjust the flaps of the plane then the output is not a GUI.
  • So, yeah. A lot of levels of “stuff” way below even what I thought was a skeletal view of the operating system that I get from running top or ps aux or watching the pulseaudio stderr messages or looking at apache logs.

To introduce some jargon words:

  • kernel ≺ GRUB | LILO bootloader ≺ console ≺ Xorg | X windowing system | startx ≺ desktop stuff like lxde, fbpanel, start button, right-click results ≺ … ≺ … ≺ … ≺ firefox | chromium-browse | safari
  • ssh -X if you want to run R from an EC2 instance using not headless mode. (the X is the same as X window system)
  • You could run R from a pure console (in Ubuntu or Arch: type Ctrl+Alt+F6 for a pure console, then sign in, then type R. Ctrl+Alt+F7 will return you to the normal world of graphical looks) and it wouldn’t sense a screen to “print” the plots to. That is headless mode.
  • NB: You can still do png("look-at-this-later-after-i-copy-it-to-a-computer-with-a-screen1.png"); plot( thing ); And now you know a little more what “device off” refers to.

If it helps to think of it this way: remember that computer programmers can program for more kinds of devices than just laptops. They can program for phones (different hardware), iPads/ Tablets, cars, planes, factory robots, childrens’ toys, microwaves, anything that has even a wimpy microchip in it.

What is the point of Awesome?

In a regular window manager I used to spend time resizing windows so I could look at two things side-by-side. Either that or switch back and forth between two desktops when I needed to compare two things visually.

With awesome however many windows I have open on the screen (two, three, or more) they are automatically maximised and organised to take up the full real estate without overlapping and covering each other.


That means a little bit of time and wrist-stress savings (which add up over weeks & months … and sometimes add up a lot if you spend a lot of time resizing a lot of windows on one particular day and are getting ANNOYED AT THIS FRIKKING COMPUTER)

It also means worrying about fewer things, you can use keyboard or mouse to switch things around on your computer, and something that really should be automatic, is now automatic. I don’t need to look at a weird rectangle of Corona Beach while I’m trying to parse this report, thanks. I’ll just take the full real estate.

Finally, I missed the “Exposeacute;e” feature of the Mac (my Mac was stolen and I never bought another. Would you buy another Porsche after your first one was stolen?) and I feel like I get this back with awesome. Just a few keystrokes to clear the screen so you can think … “What the F am I supposed to be doing here? Oh, yeah. Phew.”

If you didn’t understand ⌘+K, read this.

could mean the Windows key (like a waving flag partitioned into four smaller “waving squares”) or maybe even AltGr depending on your system. My keys are lined up from left-to-right along the bottom like this: Fn Ctrl AltspaceAlt right-click button (weird symbol) >→ Ctrl arrow keys (↑←↓→). Your key is probably in a similar place on the full bottom row mid-left.

⌘+j means

  1. hold down
  2. strike j
  3. release

⌘+J means

  1. hold down
  2. hold down shift
  3. strike j (now J since shift+j = J)
  4. release shift
  5. release

(Actually the 1-2 or 4-5 order doesn’t matter.)

19 notes

  1. fltwd reblogged this from isomorphismes
  2. officeguy reblogged this from isomorphismes
  3. georgiatehc said: just started using multiple desktops and it rocks
  4. isomorphismes posted this