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.
New plugin ‘launchtaskbar’ with combined functionality from ‘launchbar’ and ‘taskbar’. For easy support codebase is merged instead of doing duplicates but appearance is still the same in dependency from mode chosen.
Integrated with LibFM, all launching and application selection in the launchbar settings is done by LibFM now.
New simpler plugins API implementation, using LibFM plugins loader. In new API some callbacks were simplified and some removed, see all the detailed descriptions in the file plugin.h.
New plugins are GtkWidgets now, therefore there is no explicit destroy for them or their data, all will be handled implicitly.
Changed config access with simple API similar to libconfig one.
Using icon caching from LibFM.
Applications properties in the menu are managed by LibFM API, no more calls to lxshortcut application.
Setting for file manager is not handled on its own but XDG setting is used now, i.e. default choice for “inode/directory” MIME type.
Setting for terminal is handled by LibFM, therefore it is the same as in PCManFM now, no own setting anymore.
Replaced configure option –enable-cast-checks with –enable-debug.
Replaced ‘pager’ plugin with former ‘wnckpager’ one. The ‘wnckpager’ name is still supported for compatibility but it is the same plugin.
Added new plugin ‘weather’, written by Piotr Sipika.
Using drag & drop handling from LibFM in launchbar. It is possible now to use any kind of files as launchbuttons, and folders can receive drops as well.
Allowed drag applications from system menu plugin so they now can be dropped somewhere. The obvious example is drop on the desktop.
Using human readable sensor names if available (like ‘Core 0′, etc.).
Panel is allowed to hide completely (setting width when hidden to 0).
The IconGrid converted into GtkContainer derived class PanelIconGrid.
Allowed to use <USER_CONFIG_DIR>/lxpanel//gtkrc for the panel custom style setup.
The panel itself in not a struct now but a GtkWindow derived class so no special API to destroy it is required.
Improved the layout of icons in panel, they will not align to the edge of screen but appropriately to panel height. Some of them did that already but some were aligned to the screen edge without any gap.
The button to configure plugin in panel plugins configuration tab is renamed from ‘Edit’ to ‘Properties’.
All logging is unified. The option –log is deprecated and isn’t used anymore. User can change logs appearance using G_MESSAGES_DEBUG and G_MESSAGES_PREFIXED environment variables (see GLib docs).
Old APIs are in place still for backward compatibility with third party plugins but will be dropped later, supposedly on next feature release point. Old APIs are not present in public headers, compatibility is on binary level only.
Bugfixes high and low! Andriy has not forgot about you, four months ago the 1.2.0 release was out and since then bugreports have been taken care of. The result is ofc version 1.2.1. No full git log this time either, it’s to messy – follow the links if you want that type of report. The NEWS files are posted below the download links though. Happy hacking, keep reporting bugs and provide patches if possible!
After the first official public release 0.7, the LXQt team is working on making it better. Our recent focus is fixing existing bugs and migrating from Qt4 to Qt5, which is required if we want to support Wayland. Now we had something to show. The latest source code in our git repository can be compiled with Qt5. by just passing -DUSE_QT5=ON flag to cmake. Building with Qt4 is still supported until the next release, but later we’ll focus on Qt5.
Recently we also got some patches from the community and also a new developer joined us. We’re now fixing some remaining bugs. Hopefully we can have 0.8 release soon.
It’s known that system admin tools for LXQt were lacking.
This is no longer true. A new component lxqt-admin landed int our git repo. Please see the screenshots. These are “desktop-independent” pure Qt tools based on system-tool-backends.
lxqt-admin-time: Tool to configure date and time.
lxqt-admin-user: Tool to manage users and groups.
We know that LXQt is not good enough, but it will getting better and better. Long live LXQt, the classic desktop!
After the initial release of LXQt, I found that there is a FAQ. How’s the memory usage? Will it become a bloated memory hog because of Qt? Here are some numbers for you.
My test environment is the latest Debian stable installed in VirtualBox with 512 MB of RAM and 1 CPU core assigned. After cold boot, the memory usage is as follows.
Plain Openbox only: 58 MB
XFCE: 89 MB (with default configuration of Debian. This value will increase after xfce is ported to gtk+ 3)
LXQt: 95 MB (add 37 MB to openbox, still has some room for optimization)
The screen resolution is 1280 x 1024. So a wallpaper roughly used 1280x1024x4 bytes = 5MB of RAM. If you don’t set a wallpaper, this number can be lower. Besides, this is a virtual machine so some special modules for vbox are loaded. I turned off printer service and network-manager applet since they’re not used.
Yes, the memory usage slightly increased, but the difference is really negligible. Moreover, LXQt has more features, such as a better program launcher and new power management stuff.
Apparently the gtk+ 2 version uses less memory, but we cannot use gtk+ 2 forever. It’s not a secret that gtk+ 3 is not a memory saver. So, I’d say Qt is really not that bad.
Why yet another DE? Why can’t you do something more innovative? I think the answer for this FAQ is simple.
Nowadays everything goes mobile and touch, but we still saw unmet need for a classic desktop environment. Otherwise, Windows xp should have been killed years ago and Windows 8 should have high market share now.
In the history of free software, we see forking everyday, but (successful) merging rarely happened. We want to prove that it actually works. People can focus on what they can share with each other, not how they are different.
The following is my personal opinion (not on behalf of other LXQt developers)
Seriously, if a 17 MB memory usage increment can buy us faster development, more active developers [Figure 1], more contributors, and a healthier upstream community, that’s definitely worth it. When I say healthier, I mean those who do not hold a “Follow our way, or go away!” attitude. This is just as important as other technical considerations when you choose a toolkit.
Many people like to argue that Qt is not C++ since it requires a pre-processor. Did anyone tell you that Gtk+ actually uses a preprocessor, too? Check the manpage of “glib-genmarshal” please. Without this pre-processor to generate some code for you, it will be awfully difficult to add signals to your GObjects. That’s not C language, right?
It does not really matter for users what toolkit you’re using given the final result works. Let’s save some time not arguing which is better and focus on what we can do with them.
Recently, PC-BSD developers just reminded us that there is an unmet need for a Qt desktop for BSDs. So, here you go.
As stated earlier, we’re not really Linux-centric. We support Linux better simply because we’re Linux users. Now with some help from several FreeBSD users, things can be different. I installed FreeBSD 10 in Virtualbox last week. After reading some docs and fighting with it we fixed some broken makefiles. Now the major components should work as expected.
Of course, there are still some Linux things which do not work (yet).
lxqt-powermanagement: this requires upower
lxqt-policykit: I haven’t test if policykit works for FreeBSD
volume control applet: currently it only supports ALSA and PulseAudio. I’m going to implement OSS support for it.
removable device applet: this requires udisks
Reboot/Shutdown from the menu: We use logind/consolekit now. Any good alternative for BSD?
Other parts should just work. We hope that we can improve FreeBSD support more. Of course, help from the BSD community is needed.
Since the merge of the LXDE and Razor-Qt teams in July 2013, there has not been any releases to the public. After months of works, the merged product is in a good shape now. It’s quite stable and usable. So we are discussing about the possibility to make the first alpha release for the long awaited DE. The exact date of the release is still under discussion, but we will do it as soon as possible. Since it’s an alpha release, which means it’s for early testers and developers interested, please do not expect too much. Things are expected to be broken and some parts might still need some polishing. For example, translations are not done yet. They will be done before the final release of LXDE-Qt (or LXQt).
p.s.: If someone is willing to help test it on FreeBSD, please let us know.
In the GTK+ world, we have many lightweight music players, such as Audacious. While migrating to Qt, some people might want a Qt-based alternative for use in LXDE-Qt. Fortunately, we have Qmmp. Here are screenshots from their website. They provides the old-school WinAmp-like skins, or you can install the qmmp-plugin-pack to get the foobar2000-like simple UI.
The music player looks very suitable for LXDE-Qt, but it has some known problems, one of which is higher CPU usage then similar music players (mainly Audacious). To improve that, I spent two days hacking and found some potential solutions so I share them here.
Install qmmp-plugin-pack and use mpg123 plugin for playing mp3 files instead of the default libmad plugin. Mpg123 is highly optimized and can use CPU features when available, such as SIMD. This can be changed in the preferences dialog. Just turn off the libmad plugin and turn on the mpg123 one. This greatly reduced the CPU usage while playing mp3 files. Qmmp by default give libmad higher priority, so you have to turn off libmad. Otherwise mpg123 won’t be used.
Apply these 2 patches I created and recompile qmmp from source. The subversion r4265 code of qmmp should be used. Detailed information about the bugs they fixed is in the bug report 685. I already send the patches to the upstream, but they’re not yet applied. I post them here so other qmmp users can try them.
Turn off the visualizer (spectrum visualizer) if you’re using the simple UI (the second screenshot above). It’s the main cause of high CPU usage. Turning it off can decrease CPU usage to some degree. With the second patch I provided, you can get rid of the CPU usage completely when the visualizer is off.
If you love qmmp, try to see if the solutions provided here solve your problems.