Gentoo Archives: gentoo-dev

From: Paul de Vrieze <pauldv@g.o>
To: gentoo-dev@g.o
Subject: Re: [gentoo-dev] GLEP #16: Gentoo Menu System
Date: Mon, 06 Oct 2003 11:11:29
Message-Id: 46885.134.188.150.80.1065438688.squirrel@callisto.cs.kun.nl
In Reply to: Re: [gentoo-dev] GLEP #16: Gentoo Menu System by foser
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

Replies

Subject Author
Re: [gentoo-dev] GLEP #16: Gentoo Menu System Heinrich Wendel <lanius@g.o>