Well I go straight into GDM rather than typing startx from the CLI. When you use a session-script such as gdm it checks /etc/X11/Sessions rather than .xinitrc or .xsessions. So I could of just added idesk into the Sessions directory. I however, just created a bash script with a list of items that I wanted to add at startup and had this line
Read from that bash script.