discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apps don't load in GWorkspace


From: Richard Frith-Macdonald
Subject: Re: Apps don't load in GWorkspace
Date: Thu, 21 May 2020 09:34:04 +0100


> On 20 May 2020, at 19:59, Wolfgang Lux <wolfgang.lux@gmail.com> wrote:
> 
> 
> 
>> Am 20.05.2020 um 18:24 schrieb Riccardo Mottola <riccardo.mottola@libero.it>:
>> 
>> Hi,
>> 
>> Richard Frith-Macdonald wrote:
>>> I'm sure the install instructions say (or said) that make_services should 
>>> be in your .profile to run on login.
>>> When installing a new app, app developers should ensure it is run by the 
>>> install script.
>>> So the only time it would need to be run manually is when copying a new 
>>> application rather than installing it.
>> 
>> exactly - if you are building yourself "you should know", if you install a 
>> package, it should be in the "post install" of the respctive package 
>> installation tool
> 
> So you assume package maintainers are aware of this?

The standard documented mechanism of having it in the startup script is very 
well documented (similarly basic as sourcing GNUstep.sh for a developer), so 
it's not unreasonable to expect packagers to be aware.
If it's in .profile then the normal advice to log out and log in again works 
even if someone screws up when adding a new app.
This (presence in the shell login script) is really only needed for people not 
running a workspace manager though (ie if you want to use the command-line tool 
to launch apps).

> Either the current workspace application (so GWorkspace for the time being) 
> should update the services database a soon as it recognizes a new (or 
> updated) application,
In fact the workspace does that on startup, and -[NSWorkspace findApplications] 
does it on demand ... while the latter should never be necessary, it's a good 
to have failsafes.

> or, when there is no registered workspace manager, applications should do 
> that themselves.
This is of course impossible (catch 22) in order to have the app run 
make_services you must first have run make_services to be able to launch the 
app.
Unless you know the path to the app and launch it directly ... in which case it 
runs make_services if/when creating its shared NSWorkspace instance to andle 
interactions with the workspace application.

So, in order to *not* run make_services you need to:

have the environment set up by someone who has not read that you should run 
make_services in .profile
*and* not be running a workspace manager
*and* not have the app install script run it
Then, if you run it manually, it has to be an app that doesn't want to interact 
with the workspace and therefore doesn't create an NSWorkspace instance.

You can of course have a temporary issue if an app is just copied into place 
rather than being properly installed, but that should be automatically fixed as 
soon as you restart the desktop, log out/in, start any app which expects to 
interact with the desktop, or your desktop calls -findApplications.

I don't think this thread has anything to do with a problem with whether 
make_services has run, it sound more like an issue with having two incompatible 
configuration of the system in use (native system packages configured one way, 
new code built from source and configured another way).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]