Tag Archives: Menu-Cache

Menu-Cache 1.0.0-rc1 is available!

Next component of LXDE became so much mature that is should be called stable release, without that leading 0 in version number! That is a progress which should happen with any good software. So now let it be, and everyone is encouraged to get it, build it, install it, use it. No bugs are known for it at this moment. If no more bugs would be found within a month then this release candidate transforms into a final release 1.0.0.
The release candidate tarball download link:
menu-cache-1.0.0-rc1.tar.xz – SHA1: 2c5b8ffbb0eb20ac8235f904a6e503ea08a036cf

Changes since previous release 0.7.0 (see git log for details):

  • Added new cache file format generation support (1.2), changes:
    – invisible directories (empty or with NoDisplay=true) can be put into the cache too but with flag (not displayed) set;
    – content of TryExec field is added to the cache file;
    – the working dir to execute application is added to the cache file;
    – list of application categories is added to the cache file;
    – list of application keywords is added to the cache file.
  • Fixed crash in menu_cache_item_get_file_dirname() for a non-existent file (might happen for directories without .directory file).
  • Made menu_cache_app_get_working_dir() actually work.
  • Made menu_cache_lookup() faster (do not load cache immediately but on idle instead).
  • Eliminated secondary cache reload in menu_cache_lookup_sync() – server response in such case will be ahead of idle reload (since main thread is in wait ATM) and therefore idle call will be supressed.
  • Added new API menu_cache_app_get_categories() to get list of categories for the application.
  • Added new APIs to get list of matching applications:
    – menu_cache_list_all_for_category(),
    – 
    menu_cache_list_all_for_keyword().
  • Fixed a problem if some string in the desktop entry file contained a newline character. That broke cache file format, now it’s replaced with a “\n” string and converted back into newline in the library.

Menu-Cache 0.7.0 released.

We are sorry that news come to you late but that’s how it is. Yet in very beginning of this autumn next feature release of library that supports cached access to XDG-compliant desktop menus happened.
New release tarball download link:
menu-cache-0.7.0.tar.xz – SHA1: da29b2dabad0c5fff4d0a9771dff3425038166fa

Changes since previous release 0.6.1 (see git log for details):

  • Added bit of support for multiple supported cache file versions, using CACHE_GEN_VERSION environment variable to the generator. This may be useful in future when 1.2 cache file version will be implemented.
  • The menu-cache-gen libexec binary is rewritten from scratch. No that Red Hat / GNOME code anymore. New menu-cache-gen uses libfm-extra XML manipulation functions therefore it is required now for build.
  • Added a parameter for menu-cached to specify socket path instead of calculating one, that is definitely more safe.
  • Libmenu-cache handles menu-cached failure more gracefully now, don’t tries to restart it so fast that it clones many times.
  • Fixed menu-cached crash after menu-cache-gen failure.

menu-cache 0.5.0 released

The backend library to read freedesktop.org application menu files has been released with four major changes.

  • Added a possibility to include NoDisplay files into cache file. This can be achieved by adding suffix ‘+hidden’ to requested name in call to menu_cache_lookup(). The hidden items will be returned along with visible ones by any API that returns listing of cache directory. The menu_cache_app_get_is_visible() API will return FALSE for hidden item with any DE mask passed to the API.
  • New macro MENU_CACHE_CHECK_VERSION() to test version of library.
  • Added new APIs: menu_cache_find_item_by_id, menu_cache_find_child_by_id, menu_cache_find_child_by_name.
  • Two bugfixes for crashes, and for some another bugs.

menu-cache-0.5.0.tar.gz, sha1sum: 0f107e62f50f0ea37b9d984ddd7e2ef042ce64c1

changelog

d643bd1 – Remove unused code (enclosed into #if 0 … #endif)
a4ea086 – Remove dependency of menu-cache-gen on libmenu-cache from Makefile.
45731ed – Remove incorrect logic of monitoring in menu-cached.
44f9914 – Speed up menu-cached, not delay reload if there was none in last 3 seconds.
210e1ae – Fix over previous commit, it had incorrect test for file existance.
4320ad6 – Ignore not-existant files from menu-cache-gen.
70156ce – Enable a debug message on file monitor activity.
b9917d3 – New APIs menu_cache_find_child_by_id() and menu_cache_find_child_by_name().
76d3ce8 – Fix incorrect debug format message (%d should get int instead of gsize).
5322cd7 – Don’t call g_type_init() with glib>=2.36 (it’s marked deprecated).
080c3f9 – The menu_cache_item_from_path() returned wrong item.
fd7a65f – ‘show hidden’ mode (+hidden) should enable empty directories too.
1d7c627 – Fix compilation with automake 1.13
c767802 – debian: new package libmenu-cache-bin: binaries should not come with library.
13bf998 – Use pkglibexecdir instead of libexecdir to install binaries.
5deaa82 – Developers’ documentation update.
b73770d – menu_cache_item_unref() should return FALSE.
ab61990 – Fix on SIGSEGV in menu_cache_item_from_path() on strcmp.
801cc89 – New API menu_cache_find_item_by_id() to do fast cache scan for id.
25d1656 – Replaced g_return_val_if_fail() with if().
7c2aa7a – Remove extra g_io_channel_unref() on termination.
4287e58 – Update for NEWS file.
6563ccd – New macro MENU_CACHE_CHECK_VERSION() to test library version.
5902579 – Fix segfault
1a48be7 – Use setsid() in menu-cached to complete daemonize.
6cd7839 – Eliminate secondary main loop in libmenu-cache.
6bb4960 – Adding possibility to include NoDisplay files into cache file.
1b3fd7a – debian: Add breaks/conflicts for libmenu-cache1-dev to make the upgarde nicer
c85e46c – debian: also remove .a files
67bdf10 – Adding libmenu-cache-dbg package.
fdd3e0f – Adding suggestion on libmenu-cache-doc package from libmenu-cache-dev.
4f8dd2b – Adding libmenu-cache-doc package.
53ff37e – Renaming libmenu-cache1-dev into proper unversioned package.
c374e0c – debian: Use autogen.sh instead of the dh sequence

Important bug fix release for menu-cache 0.4.1!

Just days since the last release and here I am again prodding about menu-cache. Release early, release often in real life =)

All changes was there but one file was missing in the generated tar file we distribute. Sorry.

No real changes are available in this relase if you pull and use git, but the old tar file linked in the old post is just botched.

menu-cache-0.4.1.tar.gz, sha1sum: ca79049f9cab6d5099a8ab03584dc44bdc35a7c4

menu-cache 0.4.0 released!

The backend library to read freedesktop.org application menu files has been released updating important aspects.

  • The libmenu-cache is made thread-safe. Thread-unsafe APIs are marked as deprecated now and should be never used in any multithreaded application.
  • Added creation of HTML developers documentation. It is triggered by configure script option –enable-gtk-doc.
  • The libmenu-cache is made more responsible by moving some time-critical operations into thread. Also it preloads saved cache file if it exists so it is available near instantly after menu_cache_lookup(). Caller still will get updates by adding notifier to the cache.
  • Added automatic shutdown of menu-cached server after some inactivity timeout (i.e. all clients were unregistered).
  • Fixed few memory problems (referencing errors and memory leaks).
  • Fix for bug #3501347: use g_get_tmp_dir() instead of hardcoded “/tmp”.
  • The libmenu-cache ABI bumped to 2.

menu-cache-0.4.0.tar.gz, sha1sum: f853d195cde1209873cc1f11bc401cce2cbef2f6

UPDATE: The release tar file is missing a file! Do not use it, grab 0.4.1 instead (or rather use the git repository).

changelog
df0e231 – Update for NEWS file.
bf741d1 – ABI bump 1 -> 2.
89aa5d8 – Source documentation: enums for MenuCacheItem.
2823f05 – [#3501347]g_get_tmp_dir() should be used instead of hardcoded “/tmp”.
35c4abe – Fix: memory leak in menu_cache_unref().
8b046bf – New thread-safe API menu_cache_dir_list_children().
3899a74 – Always do cache reload in default main loop.
9e5f0e1 – Fix: –enable-debug doesn’t affect libmenu-cache compilation.
9ccbff2 – Don’t recreate cache if nobody listen for reloads.
d134e6c – Fix on server starter in libmenu-cache: it may get ENOENT.
a7002ac – Fix on test for separator in cache file parser.
d3089bd – Fix for compilation with DISABLE_DAEMONIZE.
fab90d5 – Corrections on GIOChannel handling.
e528621 – Test g_source_is_destroyed() in timeout handler is very welcomed.
c423cfe – Cosmetic changes (indentation, source text formatting).
b9c2816 – Changed cache referencing completely.
8edebe4 – Use GCancellable in connection process too.
a630e77 – Addicg GMutex to avoid parallel connect from different threads.
44ed600 – Use GCancellable on cache file read operations.
b03ac65 – Load cached file first if available.
2dd8924 – Loading cache better be started in thread.
b839830 – Avoid launch of duplicate menu-cached in case of errors.
08a0127 – A little optimization on casts MENU_CACHE_DIR(dir) in _dup_ APIs.
b3f7561 – Change for lock since parent member of MenuCacheItem isn’t protected by reference.
fa16c31 – Change for lock since items in hash aren’t protected by reference.
6192475 – Fixes for all compilation warnings.
d60060e – Fix for memory leak on cache loading error.
f647b41 – Adding documentation in sources for gtk-doc processing.
380c917 – Adding missed ‘static’ keyword for few definitions.
063a9d9 – Add gtk-doc documentation handling into source tree.
02901b0 – reload_notify should be called always on idle to be thread-safe.
2bbec57 – Notifier should use not gpointer but some specific data.
0fd928d – Added three thread-safe API replacements for thread-unsafe APIs.
908a1ee – Added a common lock for thread safety.
0adf7a8 – Eliminated all compiler warnings in libmenu-cache.
9ac8975 – Removed redundant parameters from ADDITIONAL_FLAGS.
fbead80 – Non void function should return something

menu-cache 0.3.3 released!

The backend library to read freedesktop.org application menu files has been released with some minor updates. Last release was seen 18 months ago, this is about time right? =)

menu-cache-0.3.3.tar.gz, sha1sum: d9b880ef8a01cb488c028617b2817e9e785798ca

changelog
f675453 – Update with debian directory
7c6a0d3 – Add experimental vapi for menu-cache, made by Axel FILMORE
c3b8c57 – Use dh in debian/rules
b368b5d – debian: update for building from source
306e615 – Update debian directory
928b947 – Add .gitignore
100b426 – Add option to enable more warnings
fe66681 – Add silent rules
2fb674c – Initialize locale to generate localized cache
a9cdecd – Update copy of gmenu to 2.30.5
297ef84 – Little fix to make it compile under C++.

New LXDE Components available

PCMan released new LXDE Components and improved settings structure of LXDE.

1. LXInput. This is a config tool used to configure your keyboard and mouse under LXDE.
2. The lxde-settings-daemon: The original lxde-settings is moved from lxde-common to a new separate package and was renamed to lxde-settings-daemon. In addition to the theme, now the settings daemon will configure keyboard and mouse for you. (works with lxinput config tool)
3. lxde-common 0.4: some fixes were done, and unused files are removed. lxde-common is now a noarch, data-only package, and doesn’t contain any binary program in it. The settings daemon is now in lxde-settings-daemon.
4. menu-cache 0.2.5: binaries are now moved to libexec.
5. The original lxsession is deprecated, and will be totally replaced by lxsession-lite since X11 session management is problematic, complicated, and rarely used by applications. GNOME now replaced XSM with dbus, too. So we don’t need that anymore.

LXPanel 0.4 and menu-cache 0.2.4 released

Hi all, here comes the latest release of LXPanel – version 0.4.

LXPanel 0.4 screenshot
LXPanel 0.4 screenshot

First I’d like to say sorry because this is not a bug-free release.
Some existing problems are not completely solved yet, but most of the bugs causing crashes were fixed. However, we feel it’s right time to have a new release. The menu-cache library is now stable enough for extensive use in LXDE. This will give us a enhanced and faster application menu and lxlauncher. Later, the lib will be used by pcmanfm, too.

The new features and some important bug fixes really deserves a new release of lxpanel.
So here comes version 0.4.

https://sourceforge.net/project/showfiles.php?group_id=180858

To use LXPanel 0.4, you’ll also need following packages:
* menu-cache (lib used to parse freedesktop.org menu file and generate menu)
* lxmenu-data (data files used to generate application menu)

What’s new:
* A whole new application menu generated according to freedesktop.org menu spec.
(faster and more standard-compliant. has tooltips for menu items)
* Enhanced “Run” dialog.
* Auto-resize of application launcher buttons when panel size gets changed.
* Some important critical bug fixes.
* The problematic netstat plugin is now turned off by default. It will be moved to a separate project later.
* Building dynamic panel plugins outside the source tree of lxpanel is now possible.
* and more…

Some bugs are not yet fixed and we know that. We’ll do our best to fixed them later.