On 7/31/07, Andreas Höschler <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I am still trying to understand the logout mechanism of Etoile and
> found the following method:
>
> pico
> /usr/src/Etoile-0.2/Services/Private/System/WorkspaceCommKit/
> NSWorkspace+Communication.m
>
> - connectToWorkspaceApplicationLaunch: (BOOL) launchFlag
> {
>    NSString * appName = nil;
>
> #if 0
>    /* It does not make sense to check for default workspace
>       because even if there is one, we still use etoile_system to log
> out.
>       And in order to avoid GWorkspace from launching automatically,
>       we may set GSWorkspaceApplication to a non-existing application.
>       If that is the case, it will break logout. */
>    appName = [[NSUserDefaults standardUserDefaults] objectForKey:
> @"GSWorkspaceApplication"];
> #endif
>    if (appName == nil)
>      {
>        // NOTE: appName is defined as SCSystemNamespace in EtoileSystem.h
>        appName = @"/etoilesystem"; // @"EtoileWorkspaceServer";
>      }
>
>    return [self connectToApplication: appName launch: launchFlag];
> }
>
> I don't understand why this is commented out? I did
>
>         defaults write NSGlobalDomain GSWorkspaceApplication Finder.app
>
> and implemented
>
> - (void)logOut
> {
>         NSLog(@"logOut");
> }
>
> in the application delegate of Finder.app. I am not yet sure what
> exactly this method will have to do to kill the session (A pkill on
> Azalea??). What I know is that I have no file /etoilesystem on my box!?
> Where should that come from? How is logout supposed to work?

  The way Etoile does is that in the xsession,
  it launches etoile_system after login.
  Then etoile_system will read SystemTaskList.plist and lauches applications
  one-by-one, including window manager (Azalea).
  So the right way to log out is to stop etoile_system, not window manager,
  and I believe it is what the menu server does.
  If you launch window manager in your xsession instead of etoile_system,
  then you have to logout by killing the window manager
  and the logout in menu server will not work.

  Now, the logout in menu server specifically call -logOut: for
workspace manager.
  In this case, etoile_system will be the workspace manager
  because GSworkspace.app has no -logOut:.
  Therefore, it is commented out so that it will not use GWorkspace,
  which is the default workspace manager for GNUstep.
  The '/etoile_system' is the name to represent etoile_system.
  If you have your own workspace manager (Finder),
  you can replace that with 'Finder', I believe.
  So I believe the missing point for your Finder is that
  you need to change '/etoile_system' to your 'Finder'
  if you plan not to use etoile_system for logOut.

  Yen-Ju

>
> Thanks a lot,
>
>    Andreas
>
>
>
> _______________________________________________
> Etoile-discuss mailing list
> [email protected]
> https://mail.gna.org/listinfo/etoile-discuss
>

_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à