lxmenu-data 0.1.4 released.

Three years no releases were made for desktop menu package and now two releases in row: 0.1.3 then 0.1.4, because a file conflict was found in 0.1.3. No big changes, mostly translation and packaging updates.
New release tarball download link:
lxmenu-data-0.1.4.tar.xz – SHA1: f5fe57c43006cd00fe0a8f4978edd0fbad58793f

Changes since release 0.1.2 (see git log for details):

  • Few updates for build package using more recent auto-tools.
  • Translations updates.
  • Added missing lxde-science-math.directory into release tarball.

LXMusic 0.4.6 released.

Another bugs fixing update happened at beginning of September. A simple XMMS frontend music player got next release, year later after previous. No big changes except for translations update and bugs fixes.
New release tarball download link:
lxmusic-0.4.6.tar.xz – SHA1: 69209b26aefbb0f1cd45bbb3da85526a4137c39c

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

  • Few updates for build using more recent auto-tools.
  • Added compatibility with libnotify >= 0.7.0.
  • Fixed crash if “id” is not available.
  • Fixed crash in using xmmsv_get_* functions.
  • Fixed crash on NULL passed to guess_title_from_url().
  • Fixed crash after deleting item from playlist.
  • Eliminated duplicate gtk_widget_destroy() on main window which leaded to crash on exit.
  • Fixed return value from lxmusic_do_notify_prepare() if no libnotify is available.
  • It have to destroy any dialog windows on exit.
  • Fixed few invalid casts and deprecated gdk_pixbuf_unref() calls.
  • Allow compile with  GLib >= 2.30 replacing deprecated functions.
  • Added manual page lxmusic.1 to install tarball.

LXLauncher 0.2.3 released.

And yet one more application that got no releases for 3 years. That does not mean it isn’t loved, no, it just got no attention, seems it worked more or less. Or may be not. Anyway, few bugs were fixed and this brought new release. As always, everyone are welcome to find any hidden bugs and report them into the tracker.
New release tarball download link:
lxlauncher-0.2.3.tar.xz – SHA1: dcd681775a8e9aed8814f130abc9d6e77a97a3e5

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

  • Fixed building with GTK+ older than 2.24.
  • Fixed bug with empty LXLauncher.
  • Installation: updated files to support new autotools,
  • Changed default distribution tarball format to xz instead of gzip.
  • Updated README file with configuration documentation.
  • Fixed path to background image in the README documentation.
  • Allowed usage of all the found gtkrc files, not just first found one, that was highly incorrect and prevented user to use system setup together with user one, no copy-paste required anymore.
  • Fixed all compilation warnings and added support for new safe menu-cache functions.
  • Got rid of deprecated draw function, cairo is used now.
  • Added a manual page for the application.
  • Restored possibility to use background images on pages which was lost in some of previous releases. ASUS names can be used still but new simpler naming is used too, such as Work.jpg file.

LXDE-common 0.5.6 released.

After 3 years of silence in the package which some people think of as LXDE core package (though LXDE does not have one), the little bugfix release happened. Not much of changes, just some updates.
New release tarball download link:
lxde-common-0.5.6.tar.xz – SHA1: 4ce700232870db2601ca21b508e65ecc920a54e0

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

  • The “Fullscreen” keybinding in Openbox rc.xml file changed from F11 to Alt+F11, Many applications already have this keybinding bound to own processing so let not interfere with them.
  • Installation: added fix for invalid $sysconfdir in configure in case of $prefix is /usr.
  • Fixed incorrect path to pcmanfm.conf file in startlxde script.
  • Changed location of all configuration files placement from somewhere in system shared data directory to location under system config data directory.
  • Added keybinding for ‘lxpanelctl menu’ on Alt+F1, the same as it is in GNOME and Lubuntu.
  • Added keybinding to launch gnome-screenshot when PrintScreen is pressed.
  • Installation: updated autogen.sh to support automake > 1.11.
  • Changed default distribution tarball format to xz instead of gzip.

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.

LXPanel 0.7.0 released

A huge update to the GTK+ panel was released. See the list below for some changes. Full log of changes can be fund in git.

lxpanel-0.7.0.tar.xz, sha1sum: deccc11a05d4c23f10b0cefddf4fca4eaea7206b

  •  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.

PCManFM 1.2.1 and libfm 1.2.1 released!

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!

pcmanfm-1.2.1.tar.xz, sha1: 6b0c981224897a621a52919d48f2ff13029f1552
libfm-1.2.1.tar.xz, sha1: 919da9d93bcff60f999470c6cb3326a1c7632f02

libfm – full git log

  • Fixed incorrect presence of LXShortcut in menus.
  • Fixed context menu on right-click on column header, it was not always shown, especially with GTK3.
  • Fixed incorrect mime-type of mount points under computer:///.
  • Few fixes in internal thumbnail generator.
  • Changed info message on usage of x-terminal-emulator as terminal.
  • Added sakura, qterminal and lilyterm into terminals database.
  • Don’t create ~/Templates if it does not exist on application start.
  • Fixed installing extra files with different values for –with-gtk.
  • Fixed file renaming if it’s name is illegal on destination filesystem.
  • An error window after user pressed ‘Cancel’ on app selection should be not shown anymore.
  • Fixed menu positioning if it’s placed near monitor edge and also on non-first monitor, also ensured menu UI update before calculating its position.
  • Fixed cancellation of loading row after FmDirTreeView chdir.
  • The “link” mark on icons of small size (< 20 px) now scaled properly.
  • Fixed positioning of search box in ExoIconView widget.
  • Fixed fm_terminal_launch(), some terminals need PWD environment set.
  • Fixed invalid rubberbanding after doubleclick on ExoIconView items.
  • Corrected drag cursor, it should correctly show dragged item icon, not generic drag cursor.
  • Fixed crash in fm_folder_view_scroll_to_path() if path is not available.
  • Fixed unitialized variable usage in folder view context menu positioning code.
  • Prevented path entry from containing “(invalid encoding)” string since it will prevent that path from being used.
  • Fixed path completion listing for display names in paths.
  • One-time custom application isn’t added anymore into list of last used.
  • Added a workaround on duplicated loop devices in Places sidebar.
  • If quick_exec option is set to true, launching will always start the application, not try a terminal for it.
  •  Changed ExoIconView rubberbanding the same way as it’s done in GTK+.
  •  Fixed invalid renaming files on moving them around virtual FS.
  •  Fixed crash in vfs-menu module with libmenu-cache 0.3.x.

PCManFM – full git log

  • Fixed update desktop config from old settings.
  • Fixed ‘Edit’->’Rename’ menu item, it should be inactive if rename isn’t supported.
  • Fixed install and uninstall for modules directory.
  • Port number shouldn’t be added in Connect to Server dialog if port is default one.
  • Got rid of possible memory exhausting after changing wallpaper.
  • Fixed icons positioning when upper reserved area is not 0.
  • Fixed resetting cursor in location bar to beginning after navigation.
  • Corrected folder popup update on folder loading so context menu is now correct for the folder shown.
  • Fixed dragging and dropping icons behavior on desktop.
  • Correctly use screen number to display all the windows.
  • Added “System;FileTools;” into Categories for pcmanfm.desktop, those are recommended categories for the FileManager one.
  • Reordered ‘View’ menu items a bit to conform with HIG.
  • Implemented drawing icons of dragged items as cursor to see where they will end up dropped.

 

LXQt now has “full” Qt5 support

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

LXQt-Admin: System admin tools for LXQt arrived

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-time

lxqt-admin-user: Tool to manage users and groups.

lxqt-admin-user

We know that LXQt is not good enough, but it will getting better and better. Long live LXQt, the classic desktop!

Some Numbers About LXQt for Those Who Are Curious

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)
  • LXDE (gtk+ 2 version): 78 MB (add 20 MB to openbox)
  • 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. :-)

Figure 1. A screenshot from Google Trend
google-trend-qt-gtk