From kde-devel Tue Jul 13 09:09:59 1999 From: Frugal Date: Tue, 13 Jul 1999 09:09:59 +0000 To: kde-devel Subject: Re: RFC: new KPanel application menu X-MARC-Message: https://marc.info/?l=kde-devel&m=93185694515677 Pietro Iglio wrote: > > I'm thinking about an alternative way to generate the application menu in > kpanel. The idea is to unify the global and personal menus and to allow > full user customization. > > Here are the requirements: > > - there is a single application menu (no personal/global); > > - the user can completely customize his/her menu without any extra privilege; > by customizing I mean: it is possible to change item properties (icon, > name, etc.), move an item, delete an item, add a new item, create/remove > folders; > > - privileged users (= user with write access in $KDEDIR/share/applnk) can > publish items; published items will be visible in all users menu; Wouldn't it be far easier to keep the two area (global/personal) to save replicating all of the files. A directory containing 200 global files on a system with 100 users will generate 20,000 extra files which are not required. I feel that 99% of the time the user will not want or need to change the settings. I feel that we should read from two places, but only write to one. The read phase could be done in one of three ways: 1 - Read all of the global entries. Then read in the personal entries overwriting the corresponding global entry 2 - Read in the personal entries first, and then the global entries. When reading in the global entries, dot not read in any entry for which we have read in a corresponding Personal entry. Then let the user change the settings to their hearts content. When the properties are written back always write them to the personal directory. e.g.. Global: Utils/bar Utils/foo Personal: Utils/fred Utils/wilma Menu: Utils/bar Utils/foo Utils/fred Utils/wilma When the user edits the properties of Utils/bar they will save it to their own directory, so they will get: Global: Utils/bar Utils/foo Personal: Utils/bar Utils/fred Utils/wilma If you really want to keep a track of changes to the global directory you could try this: When reading in the entries if you get an entry which is in both the personal and global directories and the global copy is newer than the personal copy you ask the user to 'use global', 'use personal', or 'merge'. 'Use global' will delete the personal settings. 'Use Personal' will just keep the personal settings as they are. 'Merge' will try to do some intelligent move (note I do not think that this is really possible, I just wanted to put in in here for completeness). -- Frugal + The two secrets to success: + 1- Don't tell anyone everything. frugal@fysh.org + frugal@lspace.org + -13