I haven't read this thread and I'm running Slack9 so sorry if this is off.
What docs were you quoting? I looked and couldn't find anything especially relevant in zillions of files. I'm sure I did it "wrong" but it works, though some parts of it may be unnecessary.
My default runlevel is 3 but I was just testing, so I ran 'init 4' and got dumped into gdm. I added a file to /etc/X11/gdm/Sessions that is a copy of the other files in the directory, but with a new name and 'fluxbox' subsituted in the file. That added it to the menu but just brought up XFCE when I selected it. So I went to /etc/X11/xdm/Xsession and backed that up and wrote in an 'exec fluxbox' option and saved it. For whatever reason, when I brought gdm back up and selected the menu option that time, it loaded fluxbox.
If this is ot, ignore me, but how do I add an 'exit' option - ctrl-alt-backspace just respawns gdm. I saw an option in... gdm.conf maybe? Some file. But I wasn't sure. And I thought about just adding an 'init 3' instead of an 'exec foo' as an entry. I dunno.
Anyway - that's how I got flux to load from gdm.
But having my ~/.xinitrc pointed to fluxbox and doing startx from runlevel 3 is no problem. I was just curious about getting a menu of all wm's and ide's.