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