1 |
Hi, |
2 |
|
3 |
Here will be my comments on this GLEP. I will first give some general |
4 |
comments, and then comment on foser's points. |
5 |
|
6 |
In general I would like to see a gentoo menu system. There are some |
7 |
conditions that I would like to see. |
8 |
|
9 |
- It should be easy to offer menu items for a particular application. |
10 |
- There should be an upgrade path for packages that allready exist on the |
11 |
system |
12 |
- The menu system should not move the default menu items of a windowmanager |
13 |
away from the default location. Of course it should be possible for the |
14 |
user to manually rearange any menu item. |
15 |
- The system should be transparent, and avoid update problems (like when a |
16 |
menu needs to be generated). We need to look at the extend to which this |
17 |
can be achieved. |
18 |
- The complexity of the code to be maintained by gentoo needs to be kept |
19 |
low. To this respect we might opt for actually patching the windowmanagers |
20 |
to work with the desktop and menu specifications we opt to use. If well |
21 |
implemented it seems likely that upstream authors want to include this |
22 |
code and take away maintenance from us. This would also solve many |
23 |
problems with updating etc. |
24 |
|
25 |
|
26 |
Now my comments on foser's comment: |
27 |
|
28 |
> In Rationale the freedesktop specifications are first defined as just |
29 |
> that, but in the advantages list it becomes 'standards'. They're not |
30 |
> standards yet, they are to be implemented and nothing supports them yet. |
31 |
> Neither are they finalized, the specifications are still under active |
32 |
> discussion and might change over time. We should be careful in |
33 |
> implementing big changes on such uncertain grounds. |
34 |
> Another advantage mentioned is 'integrate with small changes to our |
35 |
> ebuildtree', while in Drawbacks it sais that 'it involves changing a lot |
36 |
> of ebuilds'. This really clashes in my opinion. |
37 |
> |
38 |
|
39 |
I too want to see the changes in ebuilds avoided if at all possible. One |
40 |
thing is that I think that if an application allready provides some |
41 |
desktop file this file needs to be taken (and changed so that it is valid |
42 |
for our specification) automatically (possibly with an inherit statement). |
43 |
|
44 |
> Next Specification. In 1.1 we follow icon spec 0.9.4, current GNOME and |
45 |
> KDE .desktop files follow this or slightly older specifications already. |
46 |
> Changes between this and previous specs are minimal, so current .desktop |
47 |
> files can be used without a problem. The categories field of menu spec |
48 |
> 0.7 seems only to have been extended with more 'official' categories, so |
49 |
> no need to change current .desktop's for that either. |
50 |
> Next we get to 1.4, where we have to install a desktop by 'hand' in |
51 |
> every ebuild. Current gnome ebuilds already do this fine, i see no need |
52 |
> to change this behaviour and add a .desktop to every GUI application |
53 |
> files dir. This would probably become a mess soon, where developers |
54 |
> forget to update the desktop, leaving newer translations out, etc. |
55 |
> (defying much of the 'i18n support' advantage). This advantage doesn't |
56 |
> go for GNOME and KDE anyway, those already support i18n fine (know too |
57 |
> little about the other WMs to comment). |
58 |
|
59 |
See above, I think too that we should just use the desktop files that come |
60 |
with an app. If they are available. |
61 |
|
62 |
> In point 2 a 'rules file' has to be added for every WM, in GNOME the |
63 |
> current suggested implementation results in 2 user menus. I find this |
64 |
> more confusing than helpful. For other WMs i don't know how it would |
65 |
> work out, but i would prefer to see an effort being made to make these |
66 |
> follow the suggested menu spec. |
67 |
> Most of point 4 can be skipped, it's all in the menu spec. |
68 |
> |
69 |
I agree with it. |
70 |
|
71 |
|
72 |
> Now to the Drawbacks, as mentioned I'm against changing every |
73 |
> application ebuild to support such a system. A specialized desktop entry |
74 |
> should be unneeded, leaves only the menu generation to the package. In |
75 |
> gnome we should be able to cope with this trough the eclass if |
76 |
> necessary, but ideally i wouldn't even want to add this. If the WMs |
77 |
> implement the menu spec directly, there is no need to regenerate a bunch |
78 |
> of menus (file hierarchies) after every application merge (are these WMs |
79 |
> able to handle updates during use anyway ?). |
80 |
> |
81 |
I agree with native support if that is achievable for this wm with minimal |
82 |
code changes. To that respect I think we need a support library that can |
83 |
read the desktop entries and can be used as a plugin to the patched wm's. |
84 |
If the plugin is present we use it's menu, else use the native menu. |
85 |
|
86 |
> One of the big points here is providing 'per user menus', if these wms |
87 |
> do not support that, how will this be done without proper menu spec |
88 |
> support ? If we have to create menus systemwide from spec + rules file, |
89 |
> there still is only 1 menu for the system. I can only look at the |
90 |
> proposed patch to be included for GNOME, that is not user specific for |
91 |
> sure. Or am i missing something important here ? |
92 |
> |
93 |
With a support library and a patched wm we should be able to have a user |
94 |
menu, as the menu is retrieved at runtime. |
95 |
|
96 |
> I'm all for supporting both the desktop-entry spec (although also |
97 |
> slightly older versions than 0.9.4) and the menu-spec. Current |
98 |
> GNOME/GTK/KDE apps should need no changes to support this with their |
99 |
> current .desktop files. The menu spec has support for 'legacy menu |
100 |
> hierarchies', so no need to mess with older ebuilds with .desktops |
101 |
> either (eg. gnome1/gtk1 apps), leaves only GUI apps without a .desktop |
102 |
> to be provided with a local gentoo .desktop . |
103 |
> Gnome could (with some backporting) probably support the menu spec |
104 |
> natively within a relatively short timeframe, i'm not sure what the KDE |
105 |
> status on that is. Leaves only the other WMs, which i think should be |
106 |
> pushed to support these specs as well, instead of creating another layer |
107 |
> we should maybe work on implementing these specifications in the |
108 |
> upstream code ourselves. |
109 |
> |
110 |
It should be easy enough to create support for it in kde. The interfaces |
111 |
in kde are quite clean. As stated above I am too inclined to create |
112 |
support in wm's instead of creating ways to generate menu's. The latter is |
113 |
destined to create problems with users editing the menu through the native |
114 |
menu editor and then finding out that sometimes their changes "disappear" |
115 |
after they installed a new application. |
116 |
|
117 |
> In short, i think very little changes in the tree are needed and focus |
118 |
> should not be on providing our own menu layer, but to patch the |
119 |
> non-supporting WMs to support the recommended specifications. If that is |
120 |
> the case, then there is no need for a menu specific USE flag, the whole |
121 |
> thing would be transparent enough to be used Gentoo wide. |
122 |
|
123 |
I agree we should aim to need as little changes to the tree as possible. |
124 |
Changing the tree is a lot of work. Look at the metadata.xml files. There |
125 |
are still many packages without such a file. |
126 |
|
127 |
I agree with foser on patching non-supporting WM's to support the |
128 |
specifications. The easiest way I see is to have a plugin provided by the |
129 |
menu ebuild. If that plugin is present in the filesystem the windowmanager |
130 |
will use the gentoo menu system (either through the plugin or natively |
131 |
(gnome, kde)). This will also make transparent the enabling of the menu |
132 |
system based on the menu system being merged. It will also make sure that |
133 |
the windowmanagers can use the system immediately. |
134 |
|
135 |
Paul |
136 |
|
137 |
|
138 |
-- |
139 |
gentoo-dev@g.o mailing list |