Re: gnome-Session
- From: Lanoxx <lanoxx gmx net>
- To: desktop-devel-list gnome org
- Subject: Re: gnome-Session
- Date: Sun, 27 Jan 2013 15:32:42 +0100
On 27/01/13 14:38, Vincent Untz wrote:
Le dimanche 27 janvier 2013, à 14:10 +0100, Lanoxx a écrit :
On 27/01/13 09:02, Vincent Untz wrote:
Le dimanche 27 janvier 2013, à 00:30 +0100, Lanoxx a écrit :
DesktopName
This is not used, not sure where you saw that.
On Ubuntu all the session files have such a line.
Then it's an Ubuntu-specific thing.
Additionally the man page mentions TASK in the context of required
and default providers, but does not explain that in more detail.
Where do get more information about what these tasks and providers
are and what they reference? For example in one of my session files
I find these lines:
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=gnome-wm
DefaultProvider-notifications=notify-osd
Who do I know what the TASKs windowmanager and notification are?
Under which circumstances could I add another line with some other
TASK and why would I want to do that?
You can define anything as a task.
So what is a task used for and why whom? Does gnome-session just
simply run any of the specified TASKs?
The idea behind this is to allow alternative software to be used instead
of some default part of GNOME. To be honest, it doesn't make much sense
in GNOME 3 anymore, and it's more of a GNOME 2 thing.
Well I still use it to run gnome-panel. And I find it rather convinient
to be able to swap metacity, mutter or compitz that way.
For instance, you could replace notification-daemon with notify-osd this way. Or metacity
with compiz. The example you gave with anjuta doesn't make much sense,
though, as it's more about some parts needed for the desktop shell, not
about applications.
And the only use of this is the RequiredProviders line of the .session
files. gnome-session will start the components providing those
providers.
So I understand that the first two lines are related to each other.
First its defined that there should be a required provider TASK named
'windowmanager' and then we specify that the default provider for this
task is gnome-wm. I also found the .desktop file in
/usr/share/applications. So far so good.
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=gnome-wm
But this line here is where I get confused:
DefaultProvider-notifications=notify-osd
There seems to be no other line that references a TASK named
notifications and there is also no corresponding .desktop file in
/usr/share/applications. What I do not understand is, how do I know what
is a valid provider? Does gnome-session hard code the valid provider
names somewhere in its soure, or is this some kind of interface that is
known by the TASKS?
What would happen if I just remove that line, would the notification
system stop working?
I admit the anjuta example was not very good, but would that make more
sense:
DefaultProvider-network=nm-applet
or:
DefaultProvider-sound=indicator-sound-service
Maybe I am just lacking some important background knowledge to
understand whats going on here? If so, where should I start reading?
The providers for a task are found in
the .desktop files, thanks to the X-GNOME-Provides key. These .desktop
files must either be in the autostart paths, or explicitly mentioned in
DefaultProvider-TASK.
So there should exist a gnome-wm.desktop and notify-osd.desktop file
somewhere, yes? Could you give me the exact path where I can find
it?
Most likely /usr/share/applications/.
Could I put a new line there and point it to any application's
desktop file and it would get started, say for example anjuta?
Yes, but as I said, it doesn't make much sense because this is not a
part of the shell, but an app that you want to automatically start. It
makes more sense to use the autostart spec for this:
http://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html
(ie: simply drop a .desktop file in /etc/xdg/autostart/)
Vincent
Lanoxx
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]