Hidden=true?

If user removed a startup item (like iiim) via gnome-session-properties(1), when the item is checked, a customized .desktop file would be saved in $HOME/.config/autostart, with both "X-GNOME-Autostart-enabled" and "Hidden" entries are "true". And on next login, the removed item would not be started by gnome-session(1).

The term "Hidden" is quite confusing, from the "Desktop Entry Specification" and "Desktop Application Autostart Specification" standards from freedesktop.org, we could see it actually means "Deleted",

Hidden should have been called Deleted. It means the user deleted (at his level) something that was present (at an upper level, e.g. in the system dirs)...

When the .desktop file has the Hidden key set to true, the .desktop file MUST be ignored...

Specify the init and fini routines for an object

/* On Solaris Platform */
#pragma init (fct[,fct])
#pragma fini (fct[,fct])
/* On Linux Platform */
void __attribute__ ((__constructor__)) fct (void){...}
void __attribute__ ((__destructor__))  fct (void){...}

As I tested, Gcc 4.4.x on Ubuntu only supports the later form. While on Solaris, either SunStudio or Gcc (only 3.4.3 is available currently) supports both of them.

While there is a little different between SunStudio and Gcc, in case we declared two functions (let's say f1, f2) with attribute __constructor__, the call sequence would be f1 then f2 with SunStudio, but f2 then f1 with Gcc. However, the call sequence for 'destructors' is just the same -- f1 then f2.