Category Archives: Development

LXQt Got Initial FreeBSD support.

Recently, PC-BSD developers just reminded us that there is an unmet need for a Qt desktop for BSDs. So, here you go. :-)

LXQt-FreeBSD

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.

Cheers!

 

The First Alpha Release of LXDE-Qt (or LXQt) is in Preparation

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.  :-)

3 Tips to improve the CPU usage of Qmmp music player

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.

Winamp like UI
Winamp like UI
Foobar like simple UI
Foobar 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.

  1. 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.
  2. 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.
  3. 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.

Cheerrs!

PCManFM-Qt Reaches a Quite Usable State

The LXQt project is steadily developed. While the image viewer lximage-qt just got some polishing lately, the Qt port of PCManFM file manager also reaches a quite usable state.

pcmanfm-screenshot

Some notable changes are:

  • Add dir tree to the side pane
  • Improved file popup menu
  • Able to open the selected files with arbitrary apps
  • Improved handling when trying to open an executable file.
  • Improved statusbar info
  • Many bug fixes

Though we don’t have a stable release yet, basically the feature set of the Qt port is quite close to the earlier 1.0 version of the gtk+ version. Users interested to the project are encouraged to test the latest code in our git repo. Patches are always welcomed! :-)

Here is a guide for building lxqt components from git.
http://wiki.lxde.org/en/Build_LXDE-Qt_From_Source

LxImage-Qt image viewer

The image viewer of LXQt (LXDE-Qt) has been improved much recently. Here is the latest screenshot.

lximage-screenshot

Here is a brief list of recent changes:

  1. Printing support added
  2. Thumbnail preview (the bottom pane on the screenshot)
  3. Built-in tool to take a screenshot
  4. Slide show support
  5. Improved fullscreen support
  6. Improved preference dialog
  7. File properties dialog added

The image viewer is fully functional and usable now. At the same time, other LXQt components are getting some more updates as well. Though there are no formal releases of LXQt yet, the latest code in git already works pretty well. Please stay tunned! :-)

PCManFM/libfm string freeze and beta period

An unusual update. Andriy posted a note to the pcmanfm development list about the upcoming release of PCManFM and libfm components. He has been hard at work closing bugs and adding features and in hopes to release in time for the next Ubuntu freeze we’ve now entered soft string freeze. This means that no new features will be added and most strings are stable enough to be translated. In about two weeks a solid freeze happens and no strings will change (hopefully we’ve found all hard to translate cases by then). If you want to help test drive the new code (build from source: pcmanfm-1.2.0-beta1.tar.xz libfm-1.2.0-beta4.tar.xz) or add to the translation effort we do welcome that.

If nothing very evil happens a new and shiny PCManFM 1.2.0 will be out early February.

LXAppearance ObConf plugin 0.2.1 released!

The OpenBox Configurator plugin to LXAppearance was just released. Grab the file from sourceforge.
This release is mostly a maintenance release, making sure the code base builds and keeping it in sync and working with both OpenBox 3.5.0 and 3.5.2.

lxappearance-obconf-0.2.1.tar.gz, sha1: 13ef5ab481f72b9782a22486df9b133554af92fa

Changelog
1b3ebd4 – config.h should be included by src/preview.c to get its defines.
c9d5ca6 – Make it compilable with both Openbox 3.5.0 and 3.5.2.
06fe6ce – Update autogen.sh to build with newer autotools
2449b84 – Keep depending on openbox lib 3.5, the version didn’t change with openbox 3.5.2
c8f0cd4 – Fix building with openbox 3.5.2, and increase the depends (fix 3614951)

Build lxde-qt from git source: an updated guide

Since the original LXDE and razor-qt projects decided to merge the effort and work together on the same project, we formed lxde-qt, or lxqt for short. Some effort was made to merge existing codebases and components, but things are still in an early stage so there is no public release yet. For preview purpose, here is a guide for the brave to build lxde-qt from git source code. Please note, since this is a work in progress, things are subject to frequent changes. So be prepared and don’t expect too much. Things will improve, but it takes time. :-)

http://wiki.lxde.org/en/Build_LXDE-Qt_From_Source

Please don’t use it in a production environment. It’s not ready for daily use yet. You have been warned.

menu-cache 0.5.1 released

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

  • Fixed build on systems where MAXSYMLINKS isn’t defined.
  • Fixed menu-cached crash in some rare cases.

menu-cache-0.5.1.tar.gz, sha1sum: 9580ee33966d112ed421f2c523b0730ad69e109d

changelog

c45ff3e – fix memory corruption when freeing cache->files
0fe2a66 – fix typo in menu-cache-gen.c
6a16c51 – Fix build on debian hurd-i386: there is no MAXSYMLINKS defined there.
506d35a – debian: libmenu-cache-bin in fact conflicts with libmenu-cache[12]
e53d0b3 – debian : – Force removal of libmenu-cache2, since it may have provide SONAME 3 library – Use SONAME number in the .install to only install the good version of the library (and fail on SONAME bump)
a424120 – debian: Enabling hardening.
515d722 – debian: Correcting libmenu-cache1-dev to oldlibs/extra.
ff605d7 – debian: Changing libmenu-cache2 into libmenu-cache3 due to ABI change.