-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
61 lines (55 loc) · 2.48 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Libmenu-cache is a library creating and utilizing caches to speed up
the manipulation for freedesktop.org defined application menus.
It can be used as a replacement of libgnome-menu of gnome-menus.
Advantages:
1. Shorten time for loading menu entries.
2. Ease of use. (API is very similar to that of libgnome-menu)
3. Lightweight runtime library. (Parsing of the menu definition files
are done by menu-cache-gen when the menus are really changed.)
4. Less unnecessary and complicated file monitoring.
5. Heavily reduced disk I/O.
Spec:
Cached menus are localized and stored in ~/.cache/menus/file_name.
file_name is a md5 hash of the name of the original menu +
some environment variable +
locale name.
Since most data in a menu are plain text (names, description comments,
icon names,...etc.), the cached file is in plain text rather than binary
to prevent byte order problems.
Format of the cached menu file, line by line.
(Spaces before the lines are for easier demostration of hierarchy.
There are no spaces in the real cached file.):
version number (major.minor)
menu name>
number of files to monitor
list of files/dirs which require monitor (prefix D or F indicate whether it
is a dir or file)
list of DE names used in this menu other than the known DEs (LXDE, GNOME,
XFCE, KDE, ROX),
seperated by ;
+id of top menu dir (+ means dir entry, and - means an application entry)
title
comment
icon name
menu directory file basename
dir in which menu directory file locates (use this number as index to get
the string from array of preceding
list of monitored files)
-application desktop id (NOTE: desktop id is not necessarily the basename
of desktop file)
title
comment
icon name
app desktop file basename, empty means the same as desktop id.
dir in which the desktop file localtes (use this number as index to get
the string from array of
preceding list of monitored files)
generic name
exec command line
bitmask flags: (use terminal)|(use startup notification)
show_in_flags: bitwise or of masks for various DEs.
+sub dir id
title
comment
icon name
...